(w32_wnd_proc): Only ignore IME messages for the
[bpt/emacs.git] / src / ChangeLog
CommitLineData
10ea2b82
JR
12009-03-04 Jason Rumney <jasonr@gnu.org>
2
2c93b248
JR
3 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4 characters that have already been read.
5
10ea2b82
JR
6 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
7 Log an error message if check_image_size failed.
8 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
9 (gs_load): Mention max-image-size in size error message.
10
71a0c011
EZ
112009-03-02 Eli Zaretskii <eliz@gnu.org>
12
13 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
14 when decoding process output.
15
2f63bba8
RS
162009-03-01 Richard M Stallman <rms@gnu.org>
17
18 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
19
20 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
21
0a9564cb
EZ
222009-02-28 Eli Zaretskii <eliz@gnu.org>
23
24 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
25 (decode_coding_emacs_mule, decode_coding_iso_2022)
26 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
27 (decode_coding_raw_text, decode_coding_charset)
28 (setup_coding_system, decode_eol, decode_coding, consume_chars):
29 Honor inhibit-eol-conversion. (Bug #2186)
30
449148b3
JR
312009-02-28 Jason Rumney <jasonr@gnu.org>
32
33 * coding.c (detect_coding_charset): If not checking latin extra,
34 fail on characters between 0x80 and 0xA0. (Bug#2354)
35
a4aee864
EZ
362009-02-28 Eli Zaretskii <eliz@gnu.org>
37
38 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 39 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 40
d88bee5a
GM
412009-02-27 Glenn Morris <rgm@gnu.org>
42
43 * callint.c (Finteractive): Doc fix.
44
a808f22d
KH
452009-02-27 Kenichi Handa <handa@m17n.org>
46
47 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
48
caf8d60c
CY
492009-02-27 Chong Yidong <cyd@stupidchicken.com>
50
51 * font.c (font_style_to_value): Set value for unknown symbols to
52 100 instead of 255.
b61137ea
CY
53 (weight_table, slant_table, width_table): Treat "unspecified" as
54 the default value.
caf8d60c 55
1a0de25c
JB
562009-02-26 Juanma Barranquero <lekktu@gmail.com>
57
58 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
59
8fc45744
JB
602009-02-25 Juanma Barranquero <lekktu@gmail.com>
61
107bd7d1
JB
62 * lread.c (Fload): Stop checking Vloads_in_progress and signal
63 error as soon as a recursive load is detected.
8fc45744 64
f097e223
AR
652009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
66
67 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
68 before caching.
69
8810a12f
KH
702009-02-24 Kenichi Handa <handa@m17n.org>
71
72 * fontset.c (fontset_find_font): Fix the condition for checking
73 unavailable font.
74
2c7d1565
GM
752009-02-24 Glenn Morris <rgm@gnu.org>
76
77 * xfaces.c (Finternal_set_font_selection_order): Remove leading
78 whitespace that confuses documentation.
79
a20878b6
MB
802009-02-23 Miles Bader <miles@gnu.org>
81
82 * process.c (Flist_system_processes, Fprocess_attributes)
83 (syms_of_process): Rename `system-process-attributes' to
84 `process-attributes'.
85
b3b58c01
AS
862009-02-22 Andreas Schwab <schwab@linux-m68k.org>
87
1b3b981b
AS
88 * coding.h (struct coding_system): Make safe_charsets a pointer to
89 unsigned char.
90 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
91 being 255.
92 (SAFE_CHARSET_P): Likewise.
93 (setup_iso_safe_charsets): Properly setup safe_charsets.
94 (Fdefine_coding_system_internal): Likewise.
95 (setup_coding_system): Likewise. Remove unneeded casts.
96 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
97 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
98 unneeded casts.
99
b3b58c01
AS
100 * insdel.c (del_range_2): Don't modify gap contents when called
101 from decode_coding_object. (Bug#1809)
102
0b6f228c
CY
1032009-02-21 Chong Yidong <cyd@stupidchicken.com>
104
105 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
106 Qfont_object.
107 (Ftype_of): Recognize font objects.
108
109 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
110
111 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
112 moved to data.c.
113
52f8870b
AR
1142009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
115
116 * nsterm.m (x_make_frame_invisible): Unset async_visible,
117 async_iconified. Based on a patch by Christian Lynbech
118 <christian.lynbech@tieto.com>.
119 (EmacsView-windowDidMiniaturize:): Unset async_visible.
120
7087d5e9
GM
1212009-02-20 Glenn Morris <rgm@gnu.org>
122
123 * syntax.c (Fskip_chars_forward): Fix doc typo.
124
41d2ceef
CY
1252009-02-20 Chong Yidong <cyd@stupidchicken.com>
126
127 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
128
1a3b7ca6
CY
1292009-02-19 Chong Yidong <cyd@stupidchicken.com>
130
131 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
132
73cce38d
KH
1332009-02-19 Kenichi Handa <handa@m17n.org>
134
135 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 136 Don't overflow coding->carryover. (Bug#2370)
73cce38d 137
a51092ee
DN
1382009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
139
140 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
141
c423ecca
KH
1422009-02-18 Kenichi Handa <handa@m17n.org>
143
144 * font.c (font_check_otf_features): Fix handling of `nil' element.
145 (Ffont_spec): Describe :lang and :otf in the docstring.
146
4c1958f4
AS
1472009-02-16 Andreas Schwab <schwab@suse.de>
148
149 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
150 string.
151
5704f39a
KH
1522009-02-16 Kenichi Handa <handa@m17n.org>
153
154 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 155 (Bug#1723)
5704f39a 156
8f0085aa
CY
1572009-02-14 Chong Yidong <cyd@stupidchicken.com>
158
a057d86a 159 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
160
161 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
162 (handle_line_prefix): Suppress wrapping of wrap prefixes.
163
aff01dd9
EZ
1642009-02-14 Eli Zaretskii <eliz@gnu.org>
165
166 * msdos.c (MAX_SCREEN_BUF): New macro.
167 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
168 Encode the entire run of glyphs sharing the same face, instead of
169 doing that one glyph at a time (fixes a bug with displaying
170 double-size characters).
171
ba301db3
AR
1722009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
173
174 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
175
176 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
177 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 178 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
179
180 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 181 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 182
51d861de
SM
1832009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
184
185 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
186 invisible areas.
187
7fed8996
JR
1882009-02-12 Jason Rumney <jasonr@gnu.org>
189
631ea4fb
JR
190 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
191 (add_font_entity_to_list): Call check_face_name even when family
192 is unspecified.
193
cb4a3e42
JR
194 * w32term.c (x_display_pixel_height, x_display_pixel_width):
195 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 196 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 197
7fed8996 198 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 199 raster fonts. (Bug#2219)
7fed8996 200
895416e3
KH
2012009-02-12 Kenichi Handa <handa@m17n.org>
202
203 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
204 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
205 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 206 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
207 (find_automatic_composition): While looking forward and backward,
208 check static composition. Fix where to stop looking forward.
209 (composition_adjust_point): Fix checking of static composition.
210 (Fcomposition_get_gstring): Pay attention to
1dacf998 211 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
212
213 * lisp.h (fast_looking_at): Extern it.
214
215 * search.c (fast_looking_at): New function.
216
51d861de 217 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
218 <struct glyph>.u.cmp.to.
219 (append_composite_glyph): Likewise.
220
51d861de 221 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
222 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
223 composition.
51d861de 224 (append_composite_glyph): Adjust for the change of
895416e3
KH
225 <strcut glyph>.u.cmp.to.
226
8510724d
JB
2272009-02-11 Juanma Barranquero <lekktu@gmail.com>
228
229 * casetab.c (init_casetab_once):
230 * coding.c (ALLOC_CONVERSION_WORK_AREA):
231 * font.c (font_update_lface):
232 * fontset.c (Fnew_fontset):
233 * ftfont.c (ftfont_drive_otf):
234 * xfont.c (xfont_open):
235 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
236
294fa707
SM
2372009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
238
239 * fileio.c (Fwrite_region): !NILP -> CONSP.
240
b5bfebec
AS
2412009-02-10 Andreas Schwab <schwab@suse.de>
242
243 * process.c (send_process): Properly relocate pointer into data
adab88bd 244 when using encoded data. (Bug#2272)
b5bfebec 245
cb84a2be
KH
2462009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
247
248 * coding.c (detect_coding_charset): Fix previous change.
249
89e09428
JR
2502009-02-08 Jason Rumney <jasonr@gnu.org>
251
252 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 253 disappeared while hourglass was displayed. (Bug #2193)
89e09428 254
4470a277
AS
2552009-02-07 Andreas Schwab <schwab@suse.de>
256
257 * unexelf.c (unexec): Fix error message.
258
3175b12a
AR
2592009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
260
261 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 262 when modal window is active. (Bug #2152)
3175b12a
AR
263 (applicationShouldTerminate:): Remove now-unneeded while loop
264 around NSRunAlertPanel.
265
266 * nsmenu.m (popupSession): New file-global variable.
267 (pop_down_menu): End the popupSession before closing dialog.
268 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
269 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
270 don't query NSApp for events (just sleep instead).
271
8434d0b8
EZ
2722009-02-07 Eli Zaretskii <eliz@gnu.org>
273
51d861de
SM
274 * coding.c (syms_of_coding) <translation-table-for-input>:
275 Modify doc string to discourage use for character code unification.
8434d0b8 276
aa82edfd
CY
2772009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
278
279 * atimer.c (run_timers): Update pending_atimers.
280
2d283c7c
CY
2812009-02-06 Chong Yidong <cyd@stupidchicken.com>
282
eb306cab
CY
283 * image.c (svg_load_image): Fix last change.
284
2d283c7c
CY
285 * xfns.c (Fx_create_frame): Signal an error if no font is
286 found (Bug#2147).
287
4d8e170e
JB
2882009-02-05 Juanma Barranquero <lekktu@gmail.com>
289
290 * character.c (syms_of_character) <script-representative-chars>:
291 Fix typo in docstring.
292
c96169a0
AR
2932009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
294
295 * nsmenu.m (pop_down_menu): New function.
296 (ns_popup_dialog): Call it on unwind.
297 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
298 call timer_check() (Bug#2154).
299 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
300 handling_signal is set.
301 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
302
303 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G
304
305 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
306
307 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
308
51d861de
SM
309 * keyboard.c (poll_for_input_1, handle_async_input):
310 Set handling_signal under HAVE_NS.
c96169a0 311
aacd8ba1
GM
3122009-02-04 Glenn Morris <rgm@gnu.org>
313
314 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
315
4cb75c4b
KH
3162009-02-04 Kenichi Handa <handa@m17n.org>
317
318 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
319
320 * charset.c (Fchar_charset): New optional arg restriction.
321
322 * coding.h (coding_system_charset_list): Extern it.
323
324 * coding.c (coding_system_charset_list): New function.
325
326 * composite.c: Include coding.h and termhooks.h.
327 (composition_gstring_p): Fix for the terminal case.
328 (composition_gstring_width): Likewise.
329 (fill_gstring_body): Likewise.
330 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
331 the frame.
332 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
333 is within a composition.
867d4bb3 334 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
335
336 * term.c (encode_terminal_code): Fix handling of composition.
337 (produce_composite_glyph): For static composition, get pixel_width
338 from struct composition.
339
826ba17e
AS
3402009-02-02 Andreas Schwab <schwab@suse.de>
341
342 * unexelf.c (unexec): Handle unaligned bss offset.
343
8ad093db
AR
3442009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
345
346 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
347 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 348
8ad093db
AR
349 * keyboard.c (handle_interrupt): Don't call
350 quit_throw_to_read_char() under NS.
d0a76a6e 351
8ad093db
AR
352 * blockinput.h: Remove NS-specific code.
353
4d18a7a2
DN
3542009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
355
db878925
DN
356 * dispnew.c (window_change_signal): Don't try to get the size of a
357 suspended tty frame.
358 * term.c (Fresume_tty): Resize if the size has changed while the
359 tty was suspended.
360
4d18a7a2
DN
361 * alloc.c (mark_stack): Properly conditionalize previous change.
362
8984df7c
JB
3632009-01-30 Juanma Barranquero <lekktu@gmail.com>
364
365 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
366 * w32term.c (w32_read_socket) [SYNC_INPUT]:
367 Remove; this code is not used on Windows.
368
75f4f1ac
EZ
3692009-01-30 Eli Zaretskii <eliz@gnu.org>
370
371 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
372 EOLs that also has stray ^M characters.
373
07a1e794
JB
3742009-01-30 Juanma Barranquero <lekktu@gmail.com>
375
376 * atimer.c (run_timers, alarm_signal_handler):
377 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
378 * w32inevt.c (w32_console_read_socket):
379 * w32term.c (w32_read_socket):
380 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
381
a8b11cc9
CY
3822009-01-30 Chong Yidong <cyd@stupidchicken.com>
383
384 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
385 Initialize it as a relative filename pattern.
386 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
387 (Fcall_process_region): Simplify temp file creation using
388 temporary-file-directory.
389
c279587b
EZ
3902009-01-29 Eli Zaretskii <eliz@gnu.org>
391
392 * msdos.c: Rename pending_signals to msdos_pending_signals.
393 (sig_suspender, sigprocmask): Adjust.
394
a8fe3242
CY
3952009-01-29 Chong Yidong <cyd@stupidchicken.com>
396
397 * keyboard.c (pending_signals): New var.
398 (poll_for_input, input_available_signal, init_keyboard): Set it.
399 (process_pending_signals): New function.
400
401 * lisp.h (QUIT): Check pending_signals instead of
402 interrupt_input_pending. Use process_pending_signals.
403
51d861de 404 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 405
51d861de 406 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
407
408 * sysdep.c (emacs_write): Use process_pending_signals.
409
410 * xterm.c (XTread_socket): Update pending_signals.
411
412 * w32term.c (w32_read_socket): Update pending_signals.
413
414 * w32inevt.c (w32_console_read_socket): Update pending_signals.
415
6570a1c4
KH
4162009-01-29 Kenichi Handa <handa@m17n.org>
417
418 * xftfont.c (xftfont_has_char): New function.
419 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
420
d72a4afa
AR
4212009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
422
423 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
424 under GNUstep.
425 (ns_query_color): New declaration.
426
427 * nsterm.m (ns_confirm_quit): New variable.
428 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
429 (EmacsApp-applicationShouldTerminate:): Use it.
430 (EmacsPrefsController): Let user set it.
431 (ns_query_color): New function.
432 (ns_defined_color): Use it.
433 (ns_initialize): Drop.
434 (ns_term_init): Add two lines from ns_initialize(), and set
435 input_interrupt_mode to nil.
436
437 * image.c (svg_load_image): Don't right-shift background RGB when
438 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
439
9fe78804
KH
4402009-01-28 Kenichi Handa <handa@m17n.org>
441
442 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
443 (fontset_get_font_group): Remember that no font-group is specified
444 for C.
9fe78804 445
fa57de36
CY
4462009-01-27 Chong Yidong <cyd@stupidchicken.com>
447
930600e9
CY
448 * fns.c (concat): Check for string overflow (bug#1787).
449
fa57de36
CY
450 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
451 Quadruple undo limits (bug#1501).
452
7179ce7b
KH
4532009-01-27 Kenichi Handa <handa@m17n.org>
454
455 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
456 directly use GT_Get_Char_index.
457
458 * xftfont.c (struct xftfont_info): New member `index'.
459
460 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 461 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 462
5be8fcc0
CY
4632009-01-26 Kenichi Handa <handa@m17n.org>
464
465 * fontset.c (fontset_find_font): Fix handling of non-cons return
466 value of fontset_get_font_group.
467 (fontset_font): Revert last change.
468
19ae3e61
JR
4692009-01-26 Jason Rumney <jasonr@gnu.org>
470
471 * w32font.c (w32font_list_internal): Return quickly if registry is
472 unknown. Simplify final return.
473 (add_font_entity_to_list): Break complex logic down into more
474 manageable chunks. Move unknown registry check to
475 w32font_list_internal.
476
8612b71a
AR
4772009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
478
479 Changes to remove Feval calls from GUI under NS.
480
d8038940
JB
481 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
482 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
483 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
484
485 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
486 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
487 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
488 instead of NON_ASCII_KEYSTROKE_EVENT.
489 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
490 (EmacsApp-applicationShouldTerminate:): Query user.
491 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
492 instead of Feval.
493
494 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
495
496 * keyboard.c (kbd_buffer_get_event): Check for it.
497 (keys_of_keyboard): Define lispy keys for
498 ns-put/unput-working-text.
499
500 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
501 versions.
502 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
503
6288ae55
CY
5042009-01-25 Chong Yidong <cyd@stupidchicken.com>
505
506 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 507 setting current_buffer directly. (Bug#2044)
6288ae55 508
289e7f8f
CY
5092009-01-24 Chong Yidong <cyd@stupidchicken.com>
510
5ce87308 511 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 512 any work. (Bug#1952, bug#1990).
5ce87308 513
64cc3cf6 514 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 515
b3243e6f
AR
5162009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
517
518 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
519 (ns_no_defaults): New declaration.
520 (main): Use it.
e0d2e69a 521
d900b2af 522 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 523
d900b2af 524 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 525
d900b2af
AR
526 * nsterm.m (ns_no_defaults): New variable.
527 (ns_initialize): Don't read defaults when ns_no_defaults.
528 (EmacsView-readSelectionFromPasteboard:)
529 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 530 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
531 (ns_dumpglyphs_stretch): New function.
532 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 533 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 534
e0d2e69a
AR
535 * nsimage.m (setPixmapData:): Set to ignore image DPI.
536
3ac71f5d
CY
5372009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
538
539 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
540 call for Sparc64.
541
3fe53a83
AR
5422009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
543
544 * nsfns.m:
545 * nsgui.h:
546 * nsmenu.m:
547 * nsselect.m:
548 * nsterm.h:
549 * nsterm.m: Remove '23' comments that indicated code added during
550 update from emacs-20 -> emacs-23.
551
10f87c6f 5522009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
553
554 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 555 ns_alternate_modifier. (Bug#1217)
a3b53a85 556
c7cef62d
AR
557 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
558 Display all shortcuts, including those w/o super modifier.
559
575fb8bd
AR
560 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
561
918b848b
CY
5622009-01-22 Chong Yidong <cyd@stupidchicken.com>
563
564 * fileio.c (Vwrite_region_post_annotation_function)
565 (Vwrite_region_annotation_buffers): New vars.
566 (build_annotations_unwind): Just reset
567 Vwrite_region_annotation_buffers.
568 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
569 Call write-region-post-annotation-function.
570 (build_annotations): Add to Vwrite_region_annotation_buffers if
571 buffer changes.
572
a39e2539
AR
5732009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
574
575 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
576 Tiger.
51d861de
SM
577 * nsfns.m (ns_do_applescript):
578 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 579
35ed44db
AR
5802009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
581
582 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
583
cbe0b5bf
AR
5842009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
585
586 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 587
6049d3a0
AR
588 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
589
590 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
591 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
592 handle Ctrl-tab. (Bug#1841)
593 (ns_get_color): Use unsigned long long for scanned hex string value.
594 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 595 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
6049d3a0 596 (EmacsPrefsController-setPanelFromDefaultValues) New function.
3a88a825 597 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 598 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 599 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 600 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 601
d3810c21 602 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 603 DPI. (Bug#1316)
d3810c21
AR
604 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
605 values in onTiger section.
4c7077c3 606
e301e634
CY
6072009-01-19 Chong Yidong <cyd@stupidchicken.com>
608
7f82490b
CY
609 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
610 Check return value of font_spec_from_name.
64cc3cf6 611 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
612
613 * font.c (font_spec_from_name): Return Qnil if font name could not
614 be parsed.
615 (font_parse_name): Treat a `?' character as part of an XLFD.
616
e301e634
CY
617 * fns.c (Fsubstring): Doc fix.
618
1c0db158
KH
6192009-01-19 Kenichi Handa <handa@m17n.org>
620
51d861de 621 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
622 (ftfont_list): Likewise.
623
acf20901
JB
6242009-01-18 Juanma Barranquero <lekktu@gmail.com>
625
fff4e459
JB
626 * dbusbind.c (Fdbus_register_signal):
627 * process.c (conv_sockaddr_to_lisp):
628 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
629
acf20901
JB
630 * callproc.c (Fgetenv_internal): Doc fix.
631
e7abcdfb
CY
6322009-01-16 Chong Yidong <cyd@stupidchicken.com>
633
634 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
635 it is not even used.
636
b60861e6
GM
6372009-01-16 Glenn Morris <rgm@gnu.org>
638
639 * font.c (Ffont_variation_glyphs): Silence compiler.
640
8db52afe
JB
6412009-01-15 Juanma Barranquero <lekktu@gmail.com>
642
643 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
644 Reported by David Robinow <drobinow@gmail.com>.
645
4cddb209
KH
6462009-01-15 Kenichi Handa <handa@m17n.org>
647
51d861de 648 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 649
f247f67b
JR
6502009-01-14 Jason Rumney <jasonr@gnu.org>
651
652 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 653 never a fontset. (Bug#1562)
f247f67b 654
f56a4450
KH
6552009-01-14 Kenichi Handa <handa@m17n.org>
656
657 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 658 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 659
4e99855e
CY
6602009-01-13 Chong Yidong <cyd@stupidchicken.com>
661
662 * font.c (font_clear_prop): If clearing the family, clear the font
663 width index too.
664
fff4e459 665 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 666
24f01470
JB
6672009-01-12 Juanma Barranquero <lekktu@gmail.com>
668
669 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
670 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
671 functions, use sizeof.
672
a41240a3
MR
6732009-01-12 Martin Rudalics <rudalics@gmx.at>
674
675 * keyboard.c (read_char): Fix case where last_nonmenu_event
676 returned a bad value with submenus. (Bug#447)
677
944636b8
CY
6782009-01-12 Chong Yidong <cyd@stupidchicken.com>
679
680 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
681 family, clear the font width index too.
682
0dad7c6f
JR
6832009-01-11 Jason Rumney <jasonr@gnu.org>
684
685 * keyboard.c (cmd_error_internal): Exit when errors occur before
686 frame creation and not in daemon mode. (Bug#1836)
687
7c2363af
CY
6882009-01-10 Chong Yidong <cyd@stupidchicken.com>
689
690 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
691 of a display vector, backtrack.
692 (try_window_reusing_current_matrix): Check glyph type before
693 referencing charpos member.
694
97b1b294
EZ
6952009-01-10 Eli Zaretskii <eliz@gnu.org>
696
697 Fix Bug #876:
698
699 * coding.c (inhibit_null_byte_detection): New variable.
700 (detect_coding, detect_coding_system): Don't pay attention to null
701 bytes if inhibit_null_byte_detection is non-zero.
51d861de 702 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
703 <inhibit-iso-escape-detection>: Doc fix.
704
4624b6e3
JR
7052009-01-09 Jason Rumney <jasonr@gnu.org>
706
707 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 708 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
709 Only report Unicode Plane 2 fonts as unicode-sip.
710
323b840c
CY
7112009-01-09 Chong Yidong <cyd@stupidchicken.com>
712
51d861de
SM
713 * xfaces.c (Fx_font_family_list): Delete function.
714 Move compatibility version to faces.el.
323b840c 715
51d861de 716 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 717
eba7400d
MR
7182009-01-09 Martin Rudalics <rudalics@gmx.at>
719
720 * frame.c (x_set_frame_parameters): Remember requested value for
721 fullscreen before it's reset by the parameter handler.
722
4b09796d
GM
7232009-01-09 Glenn Morris <rgm@gnu.org>
724
725 * keyboard.c (last_command_char): For clarity, rename to...
726 (last_command-event): ... and update all users.
727 (last_input_char): For clarity, rename to...
728 (last_input_event): ... and update all users.
729 (last-command-char, last-input-char): Move to subr.el as aliases.
730 * cmds.c, commands.h: Update for last_command_char rename.
731
14ccea62
CY
7322009-01-08 Chong Yidong <cyd@stupidchicken.com>
733
51d861de 734 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 735
5f004711
JR
7362009-01-08 Jason Rumney <jasonr@gnu.org>
737
738 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
739 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
740 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
741 Don't declare.
fff4e459 742 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
743 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
744
b71f6f73
KH
7452009-01-07 Kenichi Handa <handa@m17n.org>
746
50b06221 747 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 748 remember the coding system used for decoding in
50b06221
KH
749 coding_system (Bug#1039).
750
b71f6f73 751 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 752 breaking the loop. (Bug#870)
b71f6f73
KH
753 (decode_coding_utf_16, decode_coding_emacs_mule)
754 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
755 (decode_coding_charset): Likewise.
756
56f668f7
MR
7572009-01-05 Martin Rudalics <rudalics@gmx.at>
758
759 * frame.c (x_set_frame_parameters): Make sure height (width) get
760 applied when fullwidth (fullheight) is set. (Bug#1522)
761
5da9424d
JB
7622009-01-04 Juanma Barranquero <lekktu@gmail.com>
763
764 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
765 (utc_base): Declare as ULONGLONG, not long double.
766 (convert_time_raw): Delete.
767 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
768 (initialize_utc_base): New function.
769 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
770 (convert_from_time_t): Use initialize_utc_base; compute result with
771 64-bit arithmetic.
772 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
773
c4605e09
EZ
7742009-01-03 Eli Zaretskii <eliz@gnu.org>
775
9acef61c 776 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
777 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
778 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
779 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
780 [!subprocesses]: Define.
781 (syms_of_process) [!subprocesses]: Intern and staticpro them.
782 (Flist_system_processes, Fsystem_process_attributes)
783 [!subprocesses]: Call list_system_processes and
784 system_process_attributes instead of returning Qnil.
785
9acef61c
JB
786 * dosfns.c (system_process_attributes, list_system_processes):
787 New functions.
c4605e09
EZ
788
789 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
790
791 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
792 Don't use the default (no-op) implementation.
793
8b7d0a16
JR
7942009-01-03 Jason Rumney <jasonr@gnu.org>
795
a6d46bc1
JR
796 * keyboard.c (parse_modifiers_uncached): Wheel events are
797 clicks (bug#687).
798
8b7d0a16
JR
799 * w32term.c (x_query_colors, x_query_color): New functions.
800
801 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
802 (svg_load_image): Cast returned pointers from dynamically loaded
803 functions. Eliminate W32 specific code.
804
bfe11752
DN
8052009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
806
89e2438a
DN
807 * nsfns.m (x_set_foreground_color, x_set_background_color)
808 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
809 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
810 x_ prefix instead of ns_. Update references.
811 (syms_of_nsfns): Add a FIXME comment.
812
813 * nsterm.m (x_set_cursor_type): New prototype.
814 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
815
bfe11752
DN
816 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
817 for Solaris instead of incorrectly providing Qutime and Qcutime.
818
031da700
EZ
8192009-01-02 Eli Zaretskii <eliz@gnu.org>
820
821 * w32.c (process_times): Compute sum of utime and stime.
822 (system_process_attributes): Add Qtime to the alist.
823
824 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
825 and add them to the alist.
826
827 * process.c (top level) <Qtime, Qctime>: New variables.
828 (syms_of_process): staticpro them.
829 (Fsystem_process_attributes): Add their documentation to the doc
830 string.
831
832 * process.h: Declare Qtime and Qctime.
833
df23bf08
JR
8342009-01-02 Jason Rumney <jasonr@gnu.org>
835
9acef61c 836 * image.c (Qgobject): New symbol.
df23bf08
JR
837 (syms_of_image): Initialize it.
838 (init_svg_functions): Load some functions from gobject library.
839
5bbdf7aa
DN
8402009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
841
842 * frame.c (make_terminal_frame): Remove redundant code and useless
843 block.
844
63136da6
AS
8452009-01-01 Andreas Schwab <schwab@suse.de>
846
847 * process.c (conv_sockaddr_to_lisp): Add workaround for
848 getsockname bug on BSD.
849
9ef69046
CY
8502009-01-01 Chong Yidong <cyd@stupidchicken.com>
851
d6fafbe0
CY
852 * xfns.c (x_create_tip_frame): Set border width of the X window.
853
51d861de 854 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 855
f9c34147
JR
8562009-01-01 Jason Rumney <jasonr@gnu.org>
857
9acef61c 858 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
859 Don't block input, as per earlier xterm.c changes.
860
f5497e45
AR
8612008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
862
863 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
864 (ns_appkit_version_int): New function.
865 (x-server-version): Use ns_appkit_version_int and follow 21+
866 convention of returning 3 integers.
867
c19cab20
KH
8682008-12-30 Kenichi Handa <handa@m17n.org>
869
870 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
871 (CHAR_SURROGATE_PAIR_P): New macro.
872
873 * font.h (struct font_driver): New member get_variation_glyphs.
874
9acef61c 875 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
876 (Ffont_variation_glyphs): New function.
877 (syms_of_font): Defsubr it.
878
879 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
880 ftfont_variation_glyphs.
881 (setup_otf_gstring): New function.
882 (ftfont_drive_otf): Use it.
883 (ftfont_shape_by_flt): Handle variation selector.
884 (ftfont_variation_glyphs): New function.
885
28cd591f
MR
8862008-12-30 Martin Rudalics <rudalics@gmx.at>
887
888 * frame.c (Vemacs_iconified): Remove.
889
7f714baf
JR
8902008-12-30 Jason Rumney <jasonr@gnu.org>
891
892 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 893 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 894
9d2d22ab
CY
8952008-12-30 Chong Yidong <cyd@stupidchicken.com>
896
897 * indent.c (Fvertical_motion): Don't advance iterator if we have
898 reseated to the desired position.
899
900 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
901 checking for pos match.
902
545312c2
KH
9032008-12-30 Kenichi Handa <handa@m17n.org>
904
1ede3eb6
KH
905 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
906 just get the low 8-bit of the code.
907
545312c2
KH
908 * font.c (font_intern_prop): Validate str as multibyte.
909
bd7bbf29
DN
9102008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
911
31e0750e
DN
912 * dispextern.h (struct face): Move lface and hash from the middle
913 of bitfields.
914
bd7bbf29
DN
915 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
916
b5672e7c
DN
9172008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
918
919 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
920 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
921 instead of intervals.h.
922
d704470f
AS
9232008-12-26 Andreas Schwab <schwab@suse.de>
924
925 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
926 cons.
927
54b33868
MR
9282008-12-26 Martin Rudalics <rudalics@gmx.at>
929
930 * textprop.c (Qminibuffer_prompt): New variable.
931 (syms_of_textprop): Initialize it.
932 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
933 in minibuffer-prompt face. (Bug#1662)
934
40b615d6
JR
9352008-12-25 Jason Rumney <jasonr@gnu.org>
936
937 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
938
baae5c2d
JR
9392008-12-24 Jason Rumney <jasonr@gnu.org>
940
941 * ralloc.c (r_alloc_reset_variable): New function.
942
943 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 944 record of what points where. (Bug#716)
baae5c2d 945
a9051c88
DN
9462008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
947
948 * minibuf.c (read_minibuf): Follow the non-interactive case when
949 running as a daemon, before detaching.
950
8b146312
AS
9512008-12-22 Andreas Schwab <schwab@suse.de>
952
953 * buffer.c (init_buffer): Use realloc instead of xrealloc.
954 * gtkutil.c (free_widget_value): Use xfree instead of free.
955
56f2de10
MR
9562008-12-22 Martin Rudalics <rudalics@gmx.at>
957
958 * frame.c (delete_frame): New function derived from
959 Fdelete_frame to handle Qnoelisp value for FORCE argument.
960 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
961 (Fdelete_frame): Call delete_frame. Remove line from doc-string
962 saying that FORCE non-nil doesn't run `delete-frame-functions'.
963 * frame.h: Extern delete_frame.
964 * window.c (window_loop):
965 * terminal.c (delete_terminal):
966 * xterm.c (x_connection_closed):
967 * xfns.c (Fx_hide_tip):
9acef61c 968 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 969
1fc200d6
JR
9702008-12-21 Jason Rumney <jasonr@gnu.org>
971
972 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
973 when character maps to .notdef character.
974
5e252df2
SM
9752008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
976
977 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
978
99b72cc4
JR
9792008-12-20 Jason Rumney <jasonr@gnu.org>
980
981 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 982 a graphical frame on Windows. (Bug#1325)
99b72cc4 983
acc49a52
JD
9842008-12-20 Jan Djärv <jan.h.d@swipnet.se>
985
986 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
987
6ea15123
CY
9882008-12-20 Chong Yidong <cyd@stupidchicken.com>
989
990 * minibuf.c (Fread_buffer): Doc fix.
991
b2dab6c8
JR
9922008-12-20 Jason Rumney <jasonr@gnu.org>
993
54ea0c87 994 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 995 server name in UNC paths. (Bug#719)
54ea0c87 996
b2dab6c8 997 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 998 charbuf. (Bug#1035)
b2dab6c8 999
6d1921be
DN
10002008-12-19 Daniel Engeler <engeler@gmail.com>
1001
1002 * sysdep.c (serial_configure): Fix typo.
1003
53934c98
DN
10042008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1005
1006 * sysdep.c: Include alloca.h.
f4f634e8
DN
1007 (system_process_attributes): Add implementation for Solaris.
1008
1009 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 1010
06e111a6
DN
10112008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
1012
1013 Reorganize implementation of Flist_system_processes and
1014 Fsystem_process_attributes. No functional changes.
1015 * process.c: Don't #include pwd.h, grp.h and limits.h.
1016 (Flist_system_processes): Just call list_system_processes.
1017 (Fsystem_process_attributes): Just call system_process_attributes.
1018 (procfs_list_system_processes, time_from_jiffies)
1019 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
1020 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
1021
1022 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
1023 (list_system_processes): Rename from
1024 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
1025 Provide a do nothing implementation.
1026 (system_process_attributes): Rename from
1027 procfs_list_system_processes.
1028 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 1029 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
1030
1031 * w32.c (list_system_processes): Rename from
1032 w32_list_system_processes.
1033 (system_process_attributes): Rename from
1034 w32_system_process_attributes.
1035
1036 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
1037
1038 * process.h (w32_list_system_processes)
1039 (w32_system_process_attributes): Remove.
1040 (list_system_processes, system_process_attributes): New
1041 prototypes.
1042
6a705b23
KH
10432008-12-19 Kenichi Handa <handa@m17n.org>
1044
1045 * xfont.c (xfont_decode_coding_xlfd): New function.
1046 (xfont_encode_coding_xlfd): New function.
1047 (xfont_list_pattern): Decode XLFD by iso-8859-1.
1048 (xfont_list): Decode and encode XLFD by iso-8859-1.
1049 (xfont_match): Likewise.
1050 (xfont_list_family): Likewise.
1051 (xfont_open): Likewise.
1052
d66c0241 1053 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
1054 names are utf-8.
1055
d66c0241 1056 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
1057 names are utf-8.
1058
5a130941
JD
10592008-12-18 Jan Djärv <jan.h.d@swipnet.se>
1060
1061 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
1062 changed.
bfd20325
JD
1063 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
1064 clicked on a detached tool bar button.
5a130941 1065
fd95644b
DN
10662008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
1067
1068 * emacs.c (main): Print and error and exit when no data is read
1069 from the pipe.
1070
e6eee6ae
JR
10712008-12-17 Jason Rumney <jasonr@gnu.org>
1072
1073 * w32font.c (w32font_has_char): Always return -1.
1074
a35dd56b
KH
10752008-12-16 Kenichi Handa <handa@m17n.org>
1076
1077 * font.c (font_open_entity): Fix previous change.
1078
0e3635c2
DN
10792008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
1080
1081 * process.c: Include <limits.h>.
1082
d4835507 10832008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
1084
1085 * font.c (font_update_drivers): Fix mistake in reconstructing the
1086 driver list.
1087
10882008-12-16 Chong Yidong <cyd@stupidchicken.com>
1089
1090 * font.c (font_clear_cache): Fix format of font cache data.
1091
e2cbc401
CY
10922008-12-15 Chong Yidong <cyd@stupidchicken.com>
1093
1094 * xftfont.c (xftfont_open): Free Xft font pattern if
1095 XftFontOpenPattern fails.
1096
1097 * xterm.c (x_free_frame_resources): Remove extraneous call to
1098 free_frame_faces.
1099
b131d535
CY
11002008-12-13 Chong Yidong <cyd@stupidchicken.com>
1101
1102 * xterm.c (x_delete_display): Move xim_close_dpy call to
1103 x_delete_terminal.
1104 (x_delete_terminal): Call xim_close_dpy.
1105
e6df5336
JR
11062008-12-13 Jason Rumney <jasonr@gnu.org>
1107
1108 * w32font.c (intern_font_name): New function.
1109 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
1110 (w32font_open_internal, Fx_select_font): Decode font name.
1111 (fill_in_logfont, list_all_matching_fonts): Encode font name.
1112
1113 * w32font.h (intern_font_name): Declare new function.
1114
1115 * w32uniscribe.c (add_opentype_font_name_to_list):
1116 Use intern_font_name.
1117
20d68145
CY
11182008-12-13 Chong Yidong <cyd@stupidchicken.com>
1119
9f2554de
CY
1120 * frame.c (Fdelete_frame): Call free_font_driver_list.
1121
3d9bec9a
CY
1122 * font.c (free_font_driver_list): Implement missing function.
1123
20d68145
CY
1124 * w32term.c (w32_term_init): Don't initialize the image cache
1125 here; it will be done in init_frame_faces.
1126
1127 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
1128 (struct x_display_info): Remove unused member null_pixel. New
1129 member xim_callback_data.
1130
1131 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
1132 (xim_initialize): Save pointer to callback function data.
1133 (xim_close_dpy): Free callback function data. Call XCloseIM,
1134 reverting 2008-11-04 change by David Smith.
1135 (x_term_init): Don't initialize the image cache here; it will be
1136 done in init_frame_faces. Remove ancient "null_pixel" cruft.
1137 (x_delete_display): Free x_dnd_atoms member.
1138
96f9306b
KH
11392008-12-13 Kenichi Handa <handa@m17n.org>
1140
6dec9044
JB
1141 * font.c (font_rescale_ratio): Moved from xfaces.c.
1142 Argument type changed. Handle a font-spec too.
96f9306b 1143 (font_score): Check Vface_font_rescale_alist.
6dec9044 1144 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
1145
1146 * xfaces.c (font_rescale_ratio): Moved to font.c.
1147
8d5b4964
CY
11482008-12-13 Chong Yidong <cyd@stupidchicken.com>
1149
1150 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
1151
e6df5336
JR
11522008-12-12 Jason Rumney <jasonr@gnu.org>
1153
1154 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
1155 Vwindow_system_version to the real w32 major version.
1156
97c6058a
DN
11572008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
1158
1159 * term.c (init_tty): Move setting the terminal name before the
1160 potential user: maybe_fatal.
1161
ec4e88d7
CY
11622008-12-11 Chong Yidong <cyd@stupidchicken.com>
1163
d4835507
JB
1164 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
1165 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 1166
b4233ec9
JR
11672008-12-11 Jason Rumney <jasonr@gnu.org>
1168
8ec71e23 1169 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 1170 SYMBOL_CHARSET. (Bug#547)
8ec71e23 1171
b4233ec9 1172 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 1173 size for surrogates. (Bug#1096, bug#872)
b4233ec9 1174
011a0143
JB
11752008-12-11 Juanma Barranquero <lekktu@gmail.com>
1176
1177 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
1178
3c309f34
JB
11792008-12-11 Juanma Barranquero <lekktu@gmail.com>
1180
1181 * process.c (Fsystem_process_attributes, syms_of_process):
1182 Fix typo in name of Ssystem_process_attributes.
1183 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
1184
fedc6ab5
JB
11852008-12-11 Juanma Barranquero <lekktu@gmail.com>
1186
1187 * syntax.c (Fmodify_syntax_entry): Doc fix.
1188
ba3de0e8
JB
11892008-12-10 Juanma Barranquero <lekktu@gmail.com>
1190
1191 * font.c (Ffont_spec): Move usage to end of docstring.
1192
174f1c74
JR
11932008-12-10 Jason Rumney <jasonr@gnu.org>
1194
1195 * w32font.c (Qcham): New symbol.
1196 (font_supported_scripts): Add cham, and comments for other new
1197 scripts in bitfield from OpenType spec.
9d32f818
JR
1198 (add_font_entity_to_list): Limit unicode-sip fonts to those that
1199 contain characters beyond the bmp.
174f1c74 1200
7b649478
KH
12012008-12-10 Kenichi Handa <handa@m17n.org>
1202
1203 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 1204 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
1205 Qunicode_sip.
1206
2133e2d1
JB
12072008-12-10 Juanma Barranquero <lekktu@gmail.com>
1208
1209 * coding.c (QCdefault_char): Rename from QCdefalut_char.
1210 (Fcoding_system_put): Use QCdefault_char.
1211 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
1212
9af886ee
CY
12132008-12-09 Chong Yidong <cyd@stupidchicken.com>
1214
74d819eb
CY
1215 * xftfont.c (syms_of_xftfont): Fix typo.
1216
4ccfa1c0 1217 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 1218
7c19d3ae
DN
12192008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
1220
1221 * emacs.c (main): Close daemon_pipe on exec.
1222
567826bb
CY
12232008-12-08 Chong Yidong <cyd@stupidchicken.com>
1224
1225 * termchar.h (struct tty): New members termcap_term_buffer and
1226 termcap_strings_buffer.
1227
1228 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 1229 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
1230 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
1231 All callers changed.
1232 (init_tty): Store termcap data and string buffers in new struct
1233 tty members termcap_term_buffer and termcap_strings_buffer.
1234 (delete_tty): Free them.
4ccfa1c0 1235 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 1236
aa96c42b
SZ
12372008-12-07 Seiji Zenitani <zenitani@mac.com>
1238
1239 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 1240 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 1241
b7e1d896
CY
12422008-12-06 Chong Yidong <cyd@stupidchicken.com>
1243
1244 * coding.c (make_conversion_work_buffer): Disable buffer
1245 modification hooks in the work buffer.
1246
b5ec91a5
EZ
12472008-12-05 Eli Zaretskii <eliz@gnu.org>
1248
1249 * process.c (procfs_system_process_attributes): If `nread' has a
1250 negative value, assign zero to it.
1251
a5d2a52b
CY
12522008-12-05 Chong Yidong <cyd@stupidchicken.com>
1253
68c5540b 1254 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 1255
7bf1bb21
KH
12562008-12-05 Kenichi Handa <handa@m17n.org>
1257
1258 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
1259 second character is a combining character.
1260
2fdc7d00
EZ
12612008-12-05 Eli Zaretskii <eliz@gnu.org>
1262
1263 * process.c (procfs_system_process_attributes): Don't use cmd,
1264 cmdsize, and q without initializing them first.
1265
bf6bfba8
JR
12662008-12-04 Jason Rumney <jasonr@gnu.org>
1267
1268 * w32font.c (w32font_draw): Initialize orig_clip before getting
1269 it, and delete it when finished.
1270
a3b1a468
DN
12712008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
1272
1273 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
1274 case when running as a daemon before detaching.
1275
8b8be8eb
JB
12762008-12-03 Juanma Barranquero <lekktu@gmail.com>
1277
805f2638 1278 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 1279
b1bde622
KH
12802008-12-03 Kenichi Handa <handa@m17n.org>
1281
e500c47d
KH
1282 * font.c (font_at): Set `multibyte' at first.
1283
ca516334
KH
1284 * coding.c (decode_coding_charset): Check type of an element of
1285 vector VALIDS.
7bf1bb21 1286 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 1287
4ccfa1c0 1288 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
1289 (font_for_char): Likewise.
1290
1e5ecd37
CY
12912008-12-03 Chong Yidong <cyd@stupidchicken.com>
1292
d5b01609 1293 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
1294 (font_update_lface): Handle fonts with corrupted size specs,
1295 i.e. non-int and non-float.
d5b01609 1296
11e3a6e4 1297 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 1298 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 1299 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 1300
ab06788b
CY
1301 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
1302
1e5ecd37 1303 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 1304 underline_minimum_offset for underline position.
1e5ecd37 1305
63c125ab
DN
13062008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
1307
1308 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
1309
1310 * character.c (c_string_width): Specify the type for LEN.
1311
3a8406e1
KH
13122008-12-03 Kenichi Handa <handa@m17n.org>
1313
4ccfa1c0 1314 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 1315 (decode_coding_utf_8): Likewise.
4ccfa1c0 1316 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 1317 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 1318
651df7d9
CY
13192008-12-02 Chong Yidong <cyd@stupidchicken.com>
1320
1321 * keyboard.c (make_lispy_position): Only use PT if the selected
1322 window is current.
1323
1f625c6c
AS
13242008-12-02 Andreas Schwab <schwab@suse.de>
1325
f7741ce9
AS
1326 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
1327
1f625c6c
AS
1328 * doprnt.c (doprnt1): Fix size of charbuf.
1329
92bc2678
CY
13302008-12-02 Chong Yidong <cyd@stupidchicken.com>
1331
1332 * keyboard.c (timer_check): Revert last change.
1333
93b9e8cc
JB
13342008-12-02 Juanma Barranquero <lekktu@gmail.com>
1335
1336 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
1337
fd7a37d5
JB
13382008-12-01 Juanma Barranquero <lekktu@gmail.com>
1339
1340 * makefile.w32-in: Update dependencies.
1341 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
1342
c115043b
AS
13432008-12-01 Andreas Schwab <schwab@suse.de>
1344
1345 * font.c (register_font_driver): Use xmalloc.
1346 (font_put_frame_data): Likewise.
1347
f5668d2a
CY
13482008-12-01 Chong Yidong <cyd@stupidchicken.com>
1349
860d96be
CY
1350 * xfaces.c (realize_x_face): Make abort condition clearer.
1351
f5668d2a
CY
1352 * gtkutil.c (update_frame_tool_bar): Initialize variable.
1353
379c17e7
CY
13542008-11-30 Chong Yidong <cyd@stupidchicken.com>
1355
1356 * keyboard.c (timer_check): After a timer runs, ensure that the
1357 selected window's buffer is current.
1358
35f36d65
JB
13592008-11-30 Juanma Barranquero <lekktu@gmail.com>
1360
f952c61c
JB
1361 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
1362 It was accidentally restored by the Unicode merge.
1363
35f36d65
JB
1364 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
1365
b23077df
JB
13662008-11-29 Juanma Barranquero <lekktu@gmail.com>
1367
1368 * w32proc.c: Include "coding.h".
1369 (Fw32_short_file_name): Encode filename passed to Windows API.
1370 (Fw32_long_file_name): Encode filename passed to Windows API and
1371 decode back the result. (Bug#1433)
1372
b8ebe9dd
KH
13732008-11-29 Kenichi Handa <handa@m17n.org>
1374
8cc53f96
KH
1375 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
1376 not before accessing it.
1377
b8ebe9dd
KH
1378 * charset.c (Fdefine_charset_internal): After calculating
1379 min_char, max_char, and fastmap, copy the charset structure again.
1380 (encode_char): Fix the previous change.
1381
59bc82c0
SZ
13822008-11-28 Seiji Zenitani <zenitani@mac.com>
1383
1384 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
1385
1386 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
1387
1388 * nsterm.m (x_set_frame_alpha): New function.
1389
32247e3d
EZ
13902008-11-27 Eli Zaretskii <eliz@gnu.org>
1391
1392 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
1393
b003e5ff
JB
13942008-11-27 Juanma Barranquero <lekktu@gmail.com>
1395
1396 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
1397 pointer to check_face_name.
1398
708550f5
KH
13992008-11-27 Kenichi Handa <handa@m17n.org>
1400
1401 * category.h (SET_CATEGORY_SET): Call set_category_set.
1402 (set_category_set): Extern it.
1403
1404 * category.c (hash_get_category_set): New function.
1405 (Fmodify_category_entry): Adjusted for the change of
1406 char_table_ref_and_range. Call hash_get_category_set to get a
1407 category set to store in the table.
1408
1409 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
1410 Funify_charset.
1411
2ae37cf0 1412 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
1413 (DECODE_CHAR): Check if the decoder vector is ready.
1414 (ENCODE_CHAR): Check if the encoder char-table is ready.
1415 (maybe_unify_char): Extern it.
1416
1417 * charset.c (Vchar_unified_charset_table): Delete it.
1418 (inhibit_load_charset_map): New variable.
1419 (temp_charset_work): New variable.
1420 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
1421 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
1422 New macros.
1423 (load_charset_map): Meaning of control_flag changed. If
1424 inhibit_load_charset_map is nonzero, setup a table in
1425 temp_charset_work.
1426 (load_charset): New argument control_flag.
1427 (map_charset_for_dump): New function.
1428 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
1429 map_charset_for_dump.
1430 (Fdefine_charset_internal): If the charset method is MAP, load
1431 mapping tables by calling load_charset.
1432 (Funify_charset): Don't load a mapping table but directly set
1433 Vchar_unify_table.
1434 (maybe_unify_char): New function.
1435 (decode_char): Don't handle the deleted method MAP_DEFERRED.
1436 Handle the case of inhibit_load_charset_map being nonzero.
1437 (encode_char): Don't handle the deleted method MAP_DEFERRED.
1438 Handle the case of inhibit_load_charset_map being nonzero.
1439 (Fclear_charset_maps): Just free temp_charset_work.
1440 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
1441 variable.
1442
1443 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
1444 change of char_table_ref_and_range.
1445 (char_table_ref_and_range): Change the meaning of argument FROM
1446 and TO. Now the caller must provide initial values for *FROM
1447 and *TO.
1448
1449 * fontset.c (fontset_add): Adjusted for the change of
1450 char_table_ref_and_range.
1451 (fontset_get_font_group): Likewise.
1452 (Ffontset_info): Likewise.
1453
1454 * keymap.c (describe_vector): Adjusted for the change of
1455 char_table_ref_and_range. For char-table, put boundary between
1456 non-ASCII and 8-bit characters.
1457
1458 * print.c (print_object): For bool-vector, delete unnecessary
1459 check of ASCII_BYTE_P.
1460
9196133b
JR
14612008-11-26 Jason Rumney <jasonr@gnu.org>
1462
1463 * w32font.c (w32font_open_internal): Don't include external
9acef61c 1464 leading in font height. (Bug#879)
9196133b 1465
9f688acf
GM
14662008-11-26 Glenn Morris <rgm@gnu.org>
1467
1468 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
1469 redefinition with ifdef. (Bug#1383)
1470
90d19aff
AR
14712008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1472
1473 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
1474
4ccfa1c0 14752008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
1476
1477 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
1478 New EmacsView methods.
1479 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
1480 Fixes bug #1048,1357,1414.
1481
14822008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
1483
1484 Fix bug #1362.
1485 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
1486 is not an indexed color.
1487 * nsterm.m (free_indexed_color): Add argument checking.
1488 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
1489
e7d5ecb3
CY
14902008-11-24 Chong Yidong <cyd@stupidchicken.com>
1491
1492 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
1493 Document confirm-after-completion value for
1494 minibuffer-completion-confirm.
1495
c285743c
JR
14962008-11-24 Jason Rumney <jasonr@gnu.org>
1497
1498 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
1499 warning.
1500
b0857706
JR
15012008-11-23 Jason Rumney <jasonr@gnu.org>
1502
1503 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
1504 restored before returning.
1505
1506 * w32font.c (check_face_name): New function.
1507 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 1508 fonts. (Bug#642)
b0857706 1509
ee50ff07
MR
15102008-11-22 Martin Rudalics <rudalics@gmx.at>
1511
1512 * buffer.c (Fswitch_to_buffer): Reword and mention new option
1513 confirm-nonexistent-file-or-buffer in doc-string.
1514
b8ff72fa
SM
15152008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
1516
1517 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
1518 Fix copy/paste typo. Add checks.
1519
cee53ed4
KH
15202008-11-21 Kenichi Handa <handa@m17n.org>
1521
1522 * coding.c (detect_coding_iso_2022): Reject invalid composition
1523 sequence.
1524 (DECODE_COMPOSITION_START): If the current source is the last
1525 block, and the current composition doesn't end, regard this
1526 sequence as invalid.
1527 (decode_coding_iso_2022): Handle invalid composition sequence.
1528
f6ef1e65
MR
15292008-11-20 Martin Rudalics <rudalics@gmx.at>
1530
1531 * window.c (coordinates_in_window): Don't return
1532 ON_VERTICAL_BORDER for the rightmost position of a mode/header
1533 line when the window is not the rightmost one. (Bug#1372)
1534
e08b1705
MR
15352008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
1536
1537 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
1538
ad98e89f
EZ
15392008-11-15 Eli Zaretskii <eliz@gnu.org>
1540
1541 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
1542 and bright_bg if noninteractive is non-zero.
1543
fb098a4b
CY
15442008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1545
1546 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
1547 x_draw_glyph_string_background.
1548
1549 * w32term.c (x_draw_glyph_string): Likewise.
1550
ce952b6e
CY
15512008-11-15 Chong Yidong <cyd@stupidchicken.com>
1552
1553 * xterm.c (x_draw_glyph_string): Stop drawing the background of
1554 the next glyph string once past the overhang width.
1555
1556 * nsterm.m (ns_draw_glyph_string): Likewise.
1557
1558 * w32term.c (x_draw_glyph_string): Likewise.
1559
26ea7079
CY
15602008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
1561
1562 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
1563 double file close.
1564
1c33c906
MR
15652008-11-14 Martin Rudalics <rudalics@gmx.at>
1566
1567 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
1568 dedicated status of window before attempting to display another
1569 buffer in it.
1570
8fc29035
JB
15712008-11-14 Juanma Barranquero <lekktu@gmail.com>
1572
1573 * msdos.c (Fmsdos_long_file_names):
1574 (syms_of_msdos) <dos-unsupported-char-glyph>:
1575 * dosfns.c (Fint86): Fix typos in docstrings.
1576
55fb4286
EZ
15772008-11-14 Eli Zaretskii <eliz@gnu.org>
1578
1579 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
1580
3fda0315
KY
15812008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
1582
1583 * puresize.h (BASE_PURESIZE): Increase to 1260000.
1584
7e849c17
CY
15852008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
1586
1587 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
1588
1589 * frame.h: Negative alpha means "don't touch".
1590
1591 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
1592
1593 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
1594
b9fd67bd
DN
15952008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
1596
1597 * hftctl.c:
1598 * chpdef.h:
1599 * acldef.h: Remove files used only for systems no longer supported.
1600
1601 * Makefile.in: Fix .o alphabetical ordering.
1602 (hftctl.o): Remove dependency, file removed.
1603 (keymap.o, print.o): Depend on charset.h.
1604
d5998e03
KH
16052008-11-10 Kenichi Handa <handa@m17n.org>
1606
2ae37cf0 1607 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 1608
be70e183
CY
16092008-11-08 Chong Yidong <cyd@stupidchicken.com>
1610
1611 * dired.c (file_name_completion): If completion_ignore_case is
1612 enabled, ignore case when checking completion-regexp-list.
1613
7cf94eac
EZ
16142008-11-08 Eli Zaretskii <eliz@gnu.org>
1615
1616 * vm-limit.c (get_lim_data): Fix last change.
1617
ee107a89
KH
16182008-11-08 Kenichi Handa <handa@m17n.org>
1619
1620 * character.c (Fget_byte): New function.
1621 (syms_of_character): Defsubr Fget_byte.
1622
5fd15622
CY
16232008-11-07 Chong Yidong <cyd@stupidchicken.com>
1624
1625 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
1626 cursor position is valid after scrolling.
1627
13d62fad
JB
16282008-11-06 Juanma Barranquero <lekktu@gmail.com>
1629
1630 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
1631
a1dd2936
GM
16322008-11-06 Glenn Morris <rgm@gnu.org>
1633
1634 * xterm.c (handle_one_xevent): Don't let popup menus cause
1635 mouse-autoselect-window related window switching. (Bug#1261)
1636
860cd236
CY
16372008-11-04 David Smith <davidsmith@acm.org> (tiny change)
1638
1639 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
1640
653a3150
AS
16412008-11-04 Andreas Schwab <schwab@suse.de>
1642
1643 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
1644
870f5cac
CY
16452008-11-03 Chong Yidong <cyd@stupidchicken.com>
1646
1647 * xfns.c (Fx_wm_set_size_hint): New function.
1648
1e02f3cb
MR
16492008-11-03 Martin Rudalics <rudalics@gmx.at>
1650
1651 * textprop.c (Fprevious_single_char_property_change): Return 0
1652 when there's no change in a string. (Bug#1301)
1653
e630dfc6
MR
16542008-11-02 Martin Rudalics <rudalics@gmx.at>
1655
1656 * frame.c (do_switch_frame): New argument NORECORD passed to
1657 Fselect_window.
1658 (Fselect_frame): New argument NORECORD passed to
1659 do_switch_frame.
1660 (Fset_frame_selected_window): New argument NORECORD passed to
1661 Fselect_frame.
1662 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
1663 in call of do_switch_frame.
1664 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
1665 Handle NORECORD argument in call of Fselect_frame.
1666 * lisp.h (do_switch_frame, Fselect_frame)
1667 (Fset_frame_selected_window): Adjust declarations.
1668 * window.c (select_frame_norecord): New function.
1669 (run_window_configuration_change_hook): Use it and call
1670 Fselect_frame with NORECORD set.
1671 (Fselect_window): Pass NORECORD to Fselect_frame.
1672 (Fset_window_configuration): Handle NORECORD argument in call of
1673 do_switch_frame.
1674 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
1675 Fset_frame_selected_window.
1676 * keyboard.c (command_loop_1): Handle NORECORD in call of
1677 Fselect_frame (currently ifdefd).
1678
9020b223
GM
16792008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
1680
1681 * emacs.c (USAGE2): Untabify.
1682
793ffee8
SM
16832008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
1684
1685 * composite.c (fill_gstring_header): Fix copy/paste typo.
1686
ab6d1131
MR
16872008-10-31 Martin Rudalics <rudalics@gmx.at>
1688
1689 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
1690 (Fother_window): Rename argument and rewrite doc-string.
1691 (select_window_norecord): Fix return value. (Bug#1276)
1692
601a9cf1
JB
16932008-10-30 Juanma Barranquero <lekktu@gmail.com>
1694
1695 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
1696 new frames overriding foreground for tooltips. Based on similar patch
1697 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
1698
813b0652
CY
16992008-10-29 Chong Yidong <cyd@stupidchicken.com>
1700
1701 * emacs.c (Fdaemon_initialized): Initialize nfd.
1702
4414f58f
MR
17032008-10-29 Martin Rudalics <rudalics@gmx.at>
1704
1705 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
1706 (Fwindow_text_height): Clarify doc-strings.
1707 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
1708 doc-string of window-scroll-functions.
1709
ecdcaa09
RS
17102008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
1711
1712 * category.c (syms_of_category): Fix typo in docstring.
1713
23fe745a
JB
17142008-10-28 Juanma Barranquero <lekktu@gmail.com>
1715
1716 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
1717 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
1718 Fix typos in docstrings.
1719
ff808935
DN
17202008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
1721
1722 * emacs.c (daemon_pipe): Make non-static.
1723 (IS_DAEMON): Move definition ...
1724 * lisp.h (IS_DAEMON): ... here.
1725 (daemon_pipe): Declare.
1726 (is_daemon): Remove.
1727 * dispnew.c (init_display): Use IS_DAEMON.
1728
fc012771
SM
17292008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1730
1731 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
1732 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
1733
1734 * emacs.c (is_daemon): Remove.
1735 (main): Don't set is_daemon.
1736 (IS_DAEMON): New macro.
1737 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 1738 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
1739 parent exits.
1740 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
1741
d8bdbe6f
CY
17422008-10-27 Chong Yidong <cyd@stupidchicken.com>
1743
d1a072bf
CY
1744 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
1745 over-sized glyph, draw it with the default glyph width.
1746
e2e325aa
CY
1747 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1748 glyph, draw it with the default glyph width.
1749
1750 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
1751 glyph, draw it with the default glyph width.
1752
d8bdbe6f
CY
1753 * xdisp.c (try_scrolling): When computing the distance from the
1754 scroll margin to PT, try moving some distance past the window
1755 bottom before giving up.
1756
7bfac547
MR
17572008-10-27 Martin Rudalics <rudalics@gmx.at>
1758
1759 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
1760 (Fset_window_buffer): Explain in doc-string that a window can be
1761 "strongly" dedicated to its buffer.
1762
4ff029f6
DN
17632008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
1764
1765 * emacs.c (daemon_name): New variable.
1766 (main): Deal with --daemon=SERVER_NAME.
1767 (Fdaemonp): Return a name if one was passed to --daemon.
1768
5790ef40
DN
17692008-10-26 Romain Francoise <romain@orebokech.com>
1770
f9bd0df9 1771 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
1772 (main): Create a pipe before forking, make the parent exit only after
1773 the child has closed its end of the pipe. Move closing the
1774 descriptors ...
1775 (Fdaemon_initialized): ... here. New function.
1776
f5385255
SM
17772008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
1778
4d632321
SM
1779 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
1780 the previous unoptimized table.
1781
f5385255
SM
1782 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
1783 the distinction between non-nil and non-t value of `dedicated'.
1784
6c56a0f3
CY
17852008-10-25 Chong Yidong <cyd@stupidchicken.com>
1786
1787 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 1788 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 1789
fec89261
MR
17902008-10-25 Martin Rudalics <rudalics@gmx.at>
1791
1792 * window.c (Fget_buffer_window, Fdelete_windows_on)
1793 (Freplace_buffer_in_windows): Make buffer argument optional and
1794 rename to buffer_or_name.
1795
34fcddd0
CY
17962008-10-24 Chong Yidong <cyd@stupidchicken.com>
1797
f5385255
SM
1798 * xdisp.c (handle_single_display_spec, handle_display_prop):
1799 Undo 2005-05-16 change.
34fcddd0
CY
1800 (handle_stop): Pop iterator if it's loaded with an empty string.
1801 (get_overlay_strings_1): Don't save iterator if it's loaded with
1802 an empty string (bug#1201).
1803
064766f2
KH
18042008-10-24 Kenichi Handa <handa@m17n.org>
1805
1806 * ftfont.c (ftfont_otf_features): Fix previous change.
1807 (ftfont_otf_capability): Check FeatureList.FeatureCount before
1808 calling ftfont_otf_features.
1809
f9bd0df9 18102008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
1811
1812 * font.c (font_match_p): Fix for the case that a vector of
1813 characters is in script-representative-chars.
1814
1dae9197
MA
18152008-10-24 Michael Albinus <michael.albinus@gmx.de>
1816
1817 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 1818 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
1819 (xd_read_queued_messages): Catch Qdbus_error from the macros.
1820 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
1821 macro. (Bug#1186).
1822
f9bd0df9 18232008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
1824
1825 * s/sol2-10.h: New file.
1826
878a4584
JB
18272008-10-23 Juanma Barranquero <lekktu@gmail.com>
1828
1829 * xdisp.c (fill_glyph_string): Fix typo in source (though the
1830 poor beast has survived 9+ years and the jump from xterm.c!).
1831
cd265ca6
MR
18322008-10-23 Martin Rudalics <rudalics@gmx.at>
1833
1834 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
1835 Reword doc-string.
f5385255 1836 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 1837
472a4dc9
JB
18382008-10-23 Juanma Barranquero <lekktu@gmail.com>
1839
1840 * character.c (syms_of_character) <script-representative-chars>:
1841 <unicode-category-table>: Doc fixes.
1842
159bd5a2
NF
18432008-10-23 Noah Friedman <friedman@splode.com>
1844
1845 * coding.c (make_conversion_work_buffer): Check that
1846 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
1847 Fget_buffer_create.
1848
49f9c344
KH
18492008-10-23 Kenichi Handa <handa@m17n.org>
1850
1851 * font.c (font_add_log): Check the values of extra properties.
1852
12bb3111
MR
18532008-10-22 Martin Rudalics <rudalics@gmx.at>
1854
1855 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1856 Reword doc-string.
1857 (Fset_window_parameter): Use NILP.
1858 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 1859 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 1860
bbeb4e99
JB
18612008-10-22 Juanma Barranquero <lekktu@gmail.com>
1862
1863 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
1864
18652008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
1866
1867 * nsfns.m (ns_appkit_version): New function.
1868 (x-server-version): Use it.
1869 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
1870 (x-server-vendor): Don't check_ns().
1871
1872 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
1873
a9b555d3
JB
18742008-10-22 Juanma Barranquero <lekktu@gmail.com>
1875
1876 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
1877 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
1878
4626499f
KH
18792008-10-22 Kenichi Handa <handa@m17n.org>
1880
e3681952
KH
1881 * syntax.c (scan_words): Call word_boundary_p instead of comparing
1882 scripts.
1883
4626499f
KH
1884 * category.c (word_boundary_p): Check scripts instead of charset.
1885 Handle nil value in word-separating-categories and
1886 word-combining-categories.
1887 (syms_of_category): Fix docstrings of word-separating-categories
1888 and word-combining-categories.
1889
1560f91a
EZ
18902008-10-21 Eli Zaretskii <eliz@gnu.org>
1891
1892 * coding.c (Fencode_coding_region, Fdecode_coding_region)
1893 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
1894
f4668441
MR
18952008-10-21 Martin Rudalics <rudalics@gmx.at>
1896
1897 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
1898 Rename arg "buffer" to "buffer_or_name".
1899 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
1900 it optional.
1901 (no_switch_window): Remove since the return value is not used.
a9b555d3 1902 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
1903 Consider window as dedicated when Fwindow_dedicated_p returns a
1904 non-nil value.
1905 * lisp.h: Remove prototype for no_switch_window.
1906
fd75ddb2
JD
19072008-10-21 Jan Djärv <jan.h.d@swipnet.se>
1908
1909 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 1910 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 1911
07295713
KH
19122008-10-21 Kenichi Handa <handa@m17n.org>
1913
1914 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
1915 check Vlatin_extra_code_table.
1916
712adc82
EZ
19172008-10-20 Eli Zaretskii <eliz@gnu.org>
1918
1919 * fileio.c (Fset_file_modes): Doc fix.
1920
f549eb0b
MA
19212008-10-19 Michael Albinus <michael.albinus@gmx.de>
1922
1923 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
1924 in arrays.
1925
aac0c6e3
MR
19262008-10-19 Martin Rudalics <rudalics@gmx.at>
1927
1928 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
1929 Mention kill-buffer in doc-string.
1930 (Fset_window_buffer): Reinsert tem check removed in last commit.
1931 (Fenlarge_window, Fshrink_window): Have argument names and
1932 doc-string follow Elisp manual more closely.
1933
19342008-10-18 Eli Zaretskii <eliz@gnu.org>
1935
1936 * fileio.c (Fset_file_modes): Doc fix.
1937
19382008-10-18 Martin Rudalics <rudalics@gmx.at>
1939
1940 * window.c (Fwindow_width, Fset_window_start)
1941 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
1942 (Fdelete_windows_on, Freplace_buffer_in_windows):
1943 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
1944 (Fwindow_dedicated_p): Make window argument optional.
1945 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
1946 (Fset_window_buffer): Respect any non-nil dedicated value for
1947 window. Rename "buffer" argument to "buffer_or_name".
1948
19492008-10-18 Ulrich Mueller <ulm@gentoo.org>
1950
1951 * m/sh3.h: New file, machine description for SuperH.
1952
19532008-10-17 Martin Rudalics <rudalics@gmx.at>
1954
1955 * window.c (Fsplit_window): Rename arg horflag to horizontal.
1956
19572008-10-17 Kenichi Handa <handa@m17n.org>
1958
1959 * ftfont.c (ftfont_otf_features): Fix indexing
1960 gsub_gpos->FeatureList.Feature. Check the validity of indices.
1961
19622008-10-16 Magnus Henoch <mange@freemail.hu>
1963
1964 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
1965 (Fdbus_call_method_asynchronously): Ditto.
1966 This change makes C-h f display the argument list.
1967
19682008-10-16 Chong Yidong <cyd@stupidchicken.com>
1969
1970 * fileio.c (Fexpand_file_name): Doc fix.
1971
1972 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
1973 of :foreground and :background equivalent to unspecified (20.x
1974 compatibility).
1975
19762008-10-15 Eli Zaretskii <eliz@gnu.org>
1977
1978 * buffer.c (syms_of_buffer): Doc fix.
1979
19802008-10-14 Kenichi Handa <handa@m17n.org>
1981
1982 * font.c (font_clear_prop): When clearing font width, clear the
1983 average width field too.
1984
19852008-10-12 Andreas Schwab <schwab@suse.de>
1986
1987 * ftfont.c (ftfont_shape_by_flt): Make static.
1988 * ftfont.h (ftfont_shape_by_flt): Don't declare.
1989
1990 * font.c: Don't include <m17n-flt.h>.
1991
19922008-10-10 Eli Zaretskii <eliz@gnu.org>
1993
1994 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
1995
19962008-10-09 Eli Zaretskii <eliz@gnu.org>
1997
1998 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
1999 away code.
2000
20012008-10-09 Chong Yidong <cyd@stupidchicken.com>
2002
2003 * dispnew.c (update_text_area): Avoid looping due to large glyph
2004 overhangs (bug#1070).
2005
20062008-10-09 Kenichi Handa <handa@m17n.org>
2007
2008 * fontset.c (face_for_char): If face->fontset is negative, just
2009 return ascii_face.
2010
f5385255
SM
2011 * font.c (font_delete_unmatched): Fix previous change.
2012 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
2013
20142008-10-09 Martin Rudalics <rudalics@gmx.at>
2015
2016 * frame.c (Fraise_frame): On text-only terminals select frame in
2017 order to make it visible. (Bug#1061)
2018
20192008-10-08 Chong Yidong <cyd@stupidchicken.com>
2020
2021 * fontset.c (fontset_find_font): Check frame validity.
2022
20232008-10-07 Chong Yidong <cyd@stupidchicken.com>
2024
a9b555d3 2025 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
2026 (xg_display_close): Allow Emacs to close all displays (bug#985).
2027
20282008-10-06 Andreas Schwab <schwab@suse.de>
2029
f5385255 2030 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
2031
20322008-10-06 Chong Yidong <cyd@stupidchicken.com>
2033
f5385255 2034 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 2035
a9b555d3 2036 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
2037
2038 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
2039 during initialization.
2040
20412008-10-04 Eli Zaretskii <eliz@gnu.org>
2042
2043 * xdisp.c (redisplay_internal): If frame switched, redisplay the
2044 whole thing on MSDOS frames as well as on a TTY.
2045
2046 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
2047 well as for TTY.
2048 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
2049 well as on a TTY.
2050
2051 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
2052 as well as for TTY.
2053
2054 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
2055
2056 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
2057 MSDOS frames as well.
2058
20592008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2060
2061 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
2062 correct arguments.
2063 * menu.c (find_and_return_menu_selection) Add cast.
2064
20652008-10-03 Glenn Morris <rgm@gnu.org>
2066
2067 * emacs.c (USAGE1): Add --daemon.
2068
20692008-10-02 Eli Zaretskii <eliz@gnu.org>
2070
2071 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
2072 100, so it's in percents as advertised.
2073
20742008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
2075
2076 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
2077 (ns_output.current_cursor, ns_output.desired_cursor)
2078 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
2079 (FRAME_NEW_CURSOR_COLOR): Remove.
2080
2081 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 2082 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
2083 enumeration (HOLLOW_BOX_CURSOR, etc.).
2084
2085 * nsterm.m (ns_frame_rehighlight): Remove commented code.
2086 (draw_window_cursor): Simplify code.
f5385255
SM
2087 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
2088 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 2089 updates manually.
a9b555d3
JB
2090 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
2091 Use core Emacs cursor types.
aac0c6e3 2092
b8ff72fa 2093 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
2094
20952008-10-02 Martin Rudalics <rudalics@gmx.at>
2096
2097 * process.c (Faccept_process_output): Fix doc-string.
2098
20992008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
2100
2101 * gmalloc.c (__sbrk): Also define for uClibc.
2102
2103 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
2104 for uClibc.
2105
21062008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2107
2108 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
2109 styles.
2110 (nsfont_open): Reenable the cache.
2111
21122008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2113
2114 * font.c (font_matching_entity): Reflect ATTRS in font selection.
2115 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
2116
21172008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
2118
2119 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
2120 a suspended terminal.
2121
21222008-09-30 Michael Albinus <michael.albinus@gmx.de>
2123
2124 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
2125
21262008-09-30 Eli Zaretskii <eliz@gnu.org>
2127
2128 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
2129
21302008-09-30 Chong Yidong <cyd@stupidchicken.com>
2131
2132 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
2133 in a continued line coincides with a line beginning.
2134
21352008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2136
2137 * nsfont.m (nsfont_trait_distance): Fix bug.
2138 (nsfont_list): Return a list rather than a vector (syncs with Handa
2139 changes of 2008-05-14).
2140 (nsfont_open): Improve logging.
2141
21422008-09-29 Andreas Schwab <schwab@suse.de>
2143
2144 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
2145
21462008-09-28 Martin Rudalics <rudalics@gmx.at>
2147
2148 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
2149 name as char-resolve-modifiers.
2150 Reported by: Markus Triska <markus.triska@gmx.at>
2151
21522008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
2153
2154 * dispnew.c (init_display): Return earlier when running as a daemon.
2155
21562008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2157
2158 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
2159
21602008-09-27 Eli Zaretskii <eliz@gnu.org>
2161
2162 * composite.c (Fcomposition_get_gstring)
2163 (Fcompose_region_internal, Fcompose_string_internal)
2164 (Ffind_composition_internal): Doc fix.
2165 (syms_of_composite) <compose-chars-after-function>: Doc fix.
2166 (syms_of_composite) <auto-composition-function>: Doc fix.
2167 (syms_of_composite) <composition-function-table>: Doc fix.
2168
21692008-09-25 Chong Yidong <cyd@stupidchicken.com>
2170
2171 * search.c (wordify): New argument for lax word-ends.
2172 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
2173
21742008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
2175
2176 * lisp.h (is_daemon): Declare.
2177 * dispnew.c (init_display): Do not try to initialize the terminal
2178 when running as a daemon.
2179
21802008-09-22 Chong Yidong <cyd@stupidchicken.com>
2181
2182 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
2183 x_display_pixel_height.
2184
21852008-09-22 Martin Rudalics <rudalics@gmx.at>
2186
2187 * undo.c (record_point): Don't call Fundo_boundary for first
2188 change. (Bug#731)
2189
21902008-09-22 Juanma Barranquero <lekktu@gmail.com>
2191
2192 * emacs.c (Fdaemonp): Doc fix.
2193
21942008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
2195
2196 * emacs.c (main): Place #ifdef in the proper place.
2197
21982008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
2199
2200 * emacs.c (standard_args): Add --daemon.
2201 (main): Disconnect from the terminal when --daemon is passed.
2202 (is_daemon): New variable.
2203 (Fdaemonp): New function.
2204 (syms_of_emacs): Defsubr it.
2205
22062008-09-20 Chong Yidong <cyd@stupidchicken.com>
2207
2208 * xdisp.c (get_next_display_element): Handle string display
2209 correctly when checking for the end of a box run.
2210
22112008-09-20 Glenn Morris <rgm@gnu.org>
2212
2213 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
2214 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
2215 (Frename_file): Avoid copying to trash if a rename involves
2216 a delete. (Bug#964).
2217
22182008-09-20 Eli Zaretskii <eliz@gnu.org>
2219
2220 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
2221 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
2222 frames as well as termcap frames.
2223 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
2224 get_named_tty.
2225
22262008-09-19 Eli Zaretskii <eliz@gnu.org>
2227
2228 * process.c (procfs_system_process_attributes): Fix cmdline in
2229 case /proc/PID/cmdline is empty.
2230
2231 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
2232 x_display_pixel_height.
2233
22342008-09-19 Juanma Barranquero <lekktu@gmail.com>
2235
2236 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
2237
2238 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
2239 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
2240
22412008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
2242
2243 * dispextern.h (struct it): Move line_wrap away from the middle of
2244 bitfields. Move voffset in struct iterator_stack_entry after the
2245 bitfields. Move tab_width near after another short.
2246
22472008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
2248
2249 * frame.h (struct frame): Move alpha from the middle of bitfields.
2250
2251 * window.h (struct window): Move frozen_window_start_p after the
2252 rest of the bitfields to reduce padding.
2253
22542008-09-18 Chong Yidong <cyd@stupidchicken.com>
2255
2256 * xterm.h (x_display_info): Remove `height' and `width' members.
2257
2258 * nsterm.h (ns_display_info): Remove `height' and `width' members.
2259
2260 * w32term.h (w32_display_info): Remove `height', `width',
2261 `height_in', and `width_in' members.
2262
b8ff72fa
SM
2263 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2264 New functions.
aac0c6e3
MR
2265 (x_calc_absolute_position): Use them.
2266 (x_term_init): Omit removed `height' and `width' members.
2267
b8ff72fa
SM
2268 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2269 New functions.
aac0c6e3
MR
2270 (w32_read_socket, x_calc_absolute_position): Use them.
2271 (w32_initialize_display_info, w32_term_init): Omit removed members
2272 of w32_display_info.
2273
b8ff72fa
SM
2274 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
2275 New functions.
2276 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 2277
b8ff72fa
SM
2278 * xterm.c (x_display_pixel_height, x_display_pixel_width):
2279 New functions.
aac0c6e3
MR
2280 (x_calc_absolute_position): Use them.
2281 (x_term_init): Omit removed `height' and `width' members.
2282
2283 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
2284 (compute_tip_xy):
2285 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
2286 * xmenu.c (menu_position_func): Use x_display_pixel_height and
2287 x_display_pixel_width.
2288
22892008-09-18 Kenichi Handa <handa@m17n.org>
2290
2291 * composite.c (fill_gstring_header): Don't check FROM and TO here.
2292 (composition_compute_stop_pos): Fix handling of static composition.
2293 (Fcomposition_get_gstring): Check FROM and TO at first.
2294
22952008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2296
2297 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
2298 mixup (YAILOM).
2299
23002008-09-17 Chong Yidong <cyd@stupidchicken.com>
2301
2302 * indent.c (Fvertical_motion): Use position reported by iterator
2303 instead of PT for determining screen motion (bug#943).
2304
23052008-09-17 Romain Francoise <romain@orebokech.com>
2306
2307 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
2308
23092008-09-17 Kenichi Handa <handa@m17n.org>
2310
2311 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
2312
2313 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
2314 if necessary.
2315
23162008-09-16 Kenichi Handa <handa@m17n.org>
2317
2318 * coding.c (make_conversion_work_buffer): Avoid calling
2319 Fget_buffer_create if it is not necessary.
2320
23212008-09-15 Martin Rudalics <rudalics@gmx.at>
2322
2323 * window.c (Fselect_window): Don't update window_select_count and
2324 use_time when norecord is not nil.
2325
23262008-09-14 Kenichi Handa <handa@m17n.org>
2327
2328 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
2329 specpdl_ptr.
2330
23312008-09-12 Kenichi Handa <handa@m17n.org>
2332
2333 * indent.c (scan_for_column): Don't handle automatic composition
2334 if the current buffer is not associated with a window.
2335
2336 * composite.c (composition_reseat_it): If the current buffer is
2337 not associated with a window, ignore the automatic composition.
2338 (find_automatic_composition): Likewise.
2339
23402008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
2341
2342 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
2343 (Fgpm_mouse_stop): Use it.
2344 * termhooks.h (close_gpm): Declare.
2345 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
2346 connection if Gpm_GetEvent fails.
2347
2348 * window.c (set_window_buffer): Always preserve current-buffer.
2349
23502008-09-12 Glenn Morris <rgm@gnu.org>
2351
2352 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
2353
23542008-09-11 Glenn Morris <rgm@gnu.org>
2355
2356 * charset.c (charset-map-path): Doc fix.
2357
23582008-09-10 Kenichi Handa <handa@m17n.org>
2359
2360 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
2361
2362 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
2363 compose a grapheme cluster with the preceding base glyph.
2364
2365 * composite.c (composition_compute_stop_pos): Fix previous change.
2366 Reset cmp_it->id to -1 at first.
2367
23682008-09-10 Glenn Morris <rgm@gnu.org>
2369
2370 * Makefile.in (character.o, chartab.o): Fix config.h typo.
2371
23722008-09-09 Chong Yidong <cyd@stupidchicken.com>
2373
2374 * keyboard.c (read_key_sequence): Reapply translation maps when
2375 switching keyboards.
2376
23772008-09-09 Kenichi Handa <handa@m17n.org>
2378
2379 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
2380 characters.
2381
2382 * composite.c (FORWARD_CHAR): Fix calculation
2383 of (POSITION).pos_byte.
2384 (composition_compute_stop_pos): Limit the search of composition to
2385 at most 500 characters ahead. If we reach the limit or find a
2386 newline, set cmp_it->ch to -2 and return 0.
2387 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
2388
23892008-09-08 Kenichi Handa <handa@m17n.org>
2390
2391 * indent.c (Fvertical_motion): Be sure to set
2392 it_overshoot_expected if it.cmp_it.id is non-negative.
2393
23942008-09-07 Andreas Schwab <schwab@suse.de>
2395
2396 * callproc.c (Fcall_process): Don't hold references to string data
2397 across garbage collection. Move initialisation of new_argv down
2398 to avoid compiler bug.
2399
24002008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2401
2402 * process.c (Fsystem_process_attributes): Doc fix.
2403
24042008-09-07 Chong Yidong <cyd@stupidchicken.com>
2405
2406 * callproc.c (Fcall_process): Canonicalize current directory name.
2407
2408 * xdisp.c (move_it_to): When moving by vpos, ensure that the
2409 iterator advances to the next line if the current line ends in a
2410 continued tab.
2411
24122008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
2413
2414 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
2415 member to point to cmp_from.
2416
2417 * xdisp.c: Doc fix for references to gidx data member.
2418
24192008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2420
2421 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
2422
24232008-09-07 Kenichi Handa <handa@m17n.org>
2424
2425 * composite.c (FORWARD_CHAR): Check STOP after
2426 incrementing (POSITION).pos.
2427
24282008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
2429
2430 * process.c (Fsystem_process_attributes): Doc fix.
2431
24322008-09-06 Chong Yidong <cyd@stupidchicken.com>
2433
2434 * keyboard.c (Ftop_level): Doc fix.
2435
24362008-09-06 Eli Zaretskii <eliz@gnu.org>
2437
2438 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
2439 minibuffer, don't let lower part of menu invade the echo area.
2440
2441 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
2442 "char *q" to access menu text and advance through it. Revert the
2443 change that displayed ">" instead of ASCII character 0x10.
2444
24452008-09-05 Eli Zaretskii <eliz@gnu.org>
2446
2447 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
2448 toggle boxes and radio buttons on MS-DOS as well.
2449
24502008-09-05 Kenichi Handa <handa@m17n.org>
2451
2452 * composite.c (autocmp_chars): Check lookback count.
2453 (composition_compute_stop_pos): Set cmp_it->lookback.
2454 (composition_reseat_it): Check lookback count.
2455 (struct position_record): New struct.
2456 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
2457 (find_automatic_composition): New function.
2458 (composition_adjust_point): Use find_automatic_composition.
2459
2460 * dispextern.h (struct composition_it): New member lookback.
2461
24622008-09-02 Chong Yidong <cyd@stupidchicken.com>
2463
2464 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
2465 if moving by a single line.
2466
24672008-09-02 Andreas Schwab <schwab@suse.de>
2468
2469 * xterm.c (x_delete_display): Fix merge error.
2470
2471 * fileio.c (Fexpand_file_name): Remove unused variables.
2472
24732008-09-02 Eli Zaretskii <eliz@gnu.org>
2474
2475 * fileio.c (Fexpand_file_name): Copy argument `name' into local
2476 storage on all platforms, not just on DOS_NT.
2477
24782008-09-02 Jason Rumney <jasonr@gnu.org>
2479
b8ff72fa
SM
2480 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
2481 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
2482
24832008-09-01 Chong Yidong <cyd@stupidchicken.com>
2484
2485 * xfaces.c (Finternal_set_alternative_font_family_alist)
2486 (Finternal_set_alternative_font_registry_alist): Properly copy
2487 entire alist structure.
2488
24892008-09-01 Kenichi Handa <handa@m17n.org>
2490
d66c0241 2491 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 2492 representative chars of the script is a vector.
d66c0241
JB
2493 (ftfont_list): Handle the case where the representative chars of
2494 the script is a vector.
aac0c6e3
MR
2495
2496 * character.c (syms_of_character): Docstring of
2497 script-representative-chars fixed.
2498
24992008-08-31 Eli Zaretskii <eliz@gnu.org>
2500
2501 * msdos.c (BUILD_CHAR_GLYPH): New macro.
2502 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
2503 the menu. Allocate larger buffer for `text', to account for
2504 possible ^C characters.
2505
25062008-08-31 Martin Rudalics <rudalics@gmx.at>
2507
2508 * xdisp.c (prepare_menu_bars): Don't call
2509 Vwindow_size_change_functions with arg Qt.
2510
25112008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
2512
2513 * font.h (font_range):
2514 * fileio.c (report_file_error):
2515 * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
2516
25172008-08-30 Glenn Morris <rgm@gnu.org>
2518
2519 * data.c (Fmake_variable_frame_local): Doc fix.
2520
2521 * frame.c (Fmodify_frame_parameters): Doc fix.
2522
25232008-08-30 Eli Zaretskii <eliz@gnu.org>
2524
2525 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
2526 needed by GetTokenInformation.
2527 (w32_system_process_attributes): Check return values of all system
2528 APIs.
2529
2530 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
2531 only when the state changes.
2532 (IT_update_begin, IT_update_end): Add termscript trace.
2533
2534 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
2535 clipboard is unavailable. Set dst to NULL if it doesn't point to
2536 malloc'ed data.
2537 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
2538 passing random values to xfree.
2539
2540 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 2541 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
2542
25432008-08-29 Jason Rumney <jasonr@gnu.org>
2544
2545 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
2546
25472008-08-29 Eli Zaretskii <eliz@gnu.org>
2548
2549 * composite.c (fill_gstring_body): Avoid compiler warnings.
2550
2551 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
2552 LGLYPH_SET_CODE to avoid compiler warnings.
2553
2ae37cf0 2554 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
2555
2556 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
2557
2558 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
2559 LGLYPH_SET_CODE.
2560
25612008-08-29 Kenichi Handa <handa@m17n.org>
2562
2563 * fileio.c (report_file_error): Don't downcase the first character
2564 of errstring if it is still unibyte.
2565
25662008-08-29 Kenichi Handa <handa@m17n.org>
2567
2568 These changes are to re-implement the automatic composition so
2569 that it doesn't use text properties.
2570
2571 * Makefile.in (ftfont.o): Depend on composite.h.
2572 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
2573
2574 * character.h (Vunicode_category_table): Extern it.
2575
2576 * character.c (Vunicode_category_table): New variable.
2577 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
2578
2579 * chartab.c (optimize_sub_char_table): Perform more greedy
2580 optimization.
2581
b8ff72fa
SM
2582 * composite.h (enum composition_method):
2583 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
2584 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
2585 (Vcomposition_function_table): Extern it.
2586 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
2587 (composition_gstring_put_cache, composition_gstring_from_id)
2588 (composition_gstring_p, composition_gstring_width)
2589 (composition_compute_stop_pos, composition_reseat_it)
2590 (composition_update_it, composition_adjust_point): Extern them.
2591 (Fcomposition_get_gstring): EXFUN it.
2592
d66c0241 2593 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
2594 (Vcomposition_function_table)
2595 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
2596 (gstring_hash_table, gstring_work, gstring_work_headers):
2597 New variables.
aac0c6e3
MR
2598 (gstring_lookup_cache, composition_gstring_put_cache)
2599 (composition_gstring_from_id, composition_gstring_p)
2600 (composition_gstring_width, fill_gstring_header)
2601 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
2602 (composition_reseat_it, composition_update_it)
b8ff72fa 2603 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
2604 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
2605 and gstring_work_headers. DEFVAR_LISP composition-function-table.
2606 Defsubr compostion_get_gstring.
2607
2608 * dispextern.h (struct glyph): New union u.cmp. Delete the member
2609 cmp_id.
2610 (struct glyph_string): Delete the member gidx. New members
2611 cmp_id, cmp_from, and cmp_to.
2612 (enum it_method): Delete GET_FROM_COMPOSITION.
2613 (struct composition_it): New struct.
2614 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
2615 Delete c, len, cmp_id, cmp_len in u.comp.
2616
2617 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 2618 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 2619 (enum lglyph_indices): Likewise.
b8ff72fa 2620 (font_range): Adjust extern.
aac0c6e3
MR
2621 (font_fill_lglyph_metrics): Extern it.
2622
2623 * font.c (QCf): New variable.
2624 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2625 (font_prepare_composition): Delete this function.
2626 (font_range): Type and arguments changed.
2627 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
2628 (font_fill_lglyph_metrics): New function.
b8ff72fa 2629 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 2630 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
2631 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
2632 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
2633
2634 * fontset.h (font_for_char): Extern it.
2635
2636 * fontset.c (font_for_char): New function.
2637
2638 * ftfont.c: Include composite.h.
2639 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 2640 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
2641
2642 * indent.c: Include composite.h and dispextern.h.
2643 (check_composition): Delete this function.
2644 (scan_for_column): Handle composition by
2645 composition_compute_stop_pos, composition_reseat_it, and
2646 composition_update_it.
2647 (compute_motion): Likewise.
2648 (Fvertical_motion): Fix checking of composition.
2649
2650 * keyboard.c (adjust_point_for_property): Check composition by
2651 composition_adjust_point.
2652
b8ff72fa 2653 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
2654 struct glyph_string.
2655
b8ff72fa
SM
2656 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
2657 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
2658 struct glyph.
2659 (produce_composite_glyph): Likewise.
2660
b8ff72fa
SM
2661 * w32term.c (x_draw_composite_glyph_string_foreground):
2662 Adjust for the change of struct glyph_string.
aac0c6e3
MR
2663 (x_draw_glyph_string): Likewise.
2664
2665 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
2666 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
2667
2668 * xdisp.c: Include font.h.
2669 (it_props): Delete the entry for Qauto_composed.
2670 (init_iterator): Initialize it->cmp_it.id to -1.
2671 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 2672 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
2673 (handle_auto_composed_prop): Delete it.
2674 (handle_composition_prop): Handle only static composition.
2675 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
2676 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 2677 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
2678 (pop_it): Likewise.
2679 (get_next_element): Delete next_element_from_composition.
2680 (CHAR_COMPOSED_P): New macro.
2681 (get_next_display_element): For automatic composition, get a face
2682 from the font in the glyph-string.
2683 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 2684 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
2685 (next_element_from_string): Check if the character at the current
2686 position is composed by CHAR_COMPOSED_P.
2687 (next_element_from_buffer): Likewise.
d66c0241
JB
2688 (next_element_from_composition): Adjust for the change of struct it.
2689 Update it->cmp_it.
b8ff72fa
SM
2690 (dump_glyph): Adjust for the change of struct glyph.
2691 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
2692 it and struct glyph. Don't handle automatic composition here.
2693 (fill_gstring_glyph_string): New function.
2694 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 2695 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
2696 (BUILD_GSTRING_GLYPH_STRING): New macro.
2697 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
2698 automatic composition.
b8ff72fa 2699 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 2700 struct glyph.
b8ff72fa 2701 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 2702
b8ff72fa 2703 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
2704 the change of struct glyph_string.
2705 (x_draw_glyph_string): Likewise.
2706
27072008-08-29 Glenn Morris <rgm@gnu.org>
2708
2709 * buffer.c (word-wrap): Doc fix.
2710 * xdisp.c (truncate-partial-width-windows): Doc fix.
2711 Increase default to 50.
2712
27132008-08-29 Chong Yidong <cyd@stupidchicken.com>
2714
2715 * xdisp.c (update_tool_bar_unwind): New function.
2716 (update_tool_bar): Temporarily set selected frame before building
2717 tool-bar items.
2718
27192008-08-28 Michael Albinus <michael.albinus@gmx.de>
2720
2721 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
2722 snprintf, respectively.
2723 (xd_append_arg): Convert strings with Fstring_make_unibyte.
2724
27252008-08-28 Chong Yidong <cyd@stupidchicken.com>
2726
2727 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
2728 LDFLAGS to GNUstep CC invocation.
2729
27302008-08-27 Chong Yidong <cyd@stupidchicken.com>
2731
2732 * indent.c (Fvertical_motion): Revert last change. Handle the
2733 general case where we are moving forward, and PT spans multiple
2734 screen lines.
2735
2736 * eval.c (find_handler_clause): Temporarily increase
2737 max-lisp-eval-depth while printing the backtrace buffer, to
2738 guarantee that help-mode code can run.
2739
27402008-08-27 Eli Zaretskii <eliz@gnu.org>
2741
2742 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
2743 colors under -rv.
2744 (IT_set_frame_parameters): Don't swap foreground and background
2745 colors if `(reverse . t)' is present in the frame properties.
2746 (internal_terminal_init): Call init_frame_faces only for the
2747 initial frame.
2748
27492008-08-27 Andreas Schwab <schwab@suse.de>
2750
2751 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
2752
27532008-08-27 Andreas Schwab <schwab@suse.de>
2754
2755 * search.c (search_buffer): Set char_base to zero only at the end.
2756
27572008-08-27 Kenichi Handa <handa@m17n.org>
2758
b8ff72fa 2759 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
2760
27612008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
2762
2763 * xterm.c (x_term_init): Temporarily hide the partially
2764 initialized terminal while calling vendor-specific-keysyms.
2765
27662008-08-26 Eli Zaretskii <eliz@gnu.org>
2767
2768 * msdos.c (internal_terminal_init): Most initializations done only
2769 once, especially initial_screen_colors[] and termscript open.
2770
27712008-08-26 Chong Yidong <cyd@stupidchicken.com>
2772
2773 * eval.c (Fcondition_case): Doc fix.
2774
2775 * widgetprv.h (EmacsFramePart): Change font member to the new font
2776 struct.
2777
2778 * widget.c: Include character.h and font.h for XSETFONT.
2779 (setup_frame_gcs): Compute X font id from font struct, just once.
2780
27812008-08-26 Eli Zaretskii <eliz@gnu.org>
2782
2783 * term.c (get_named_tty): Fix last change.
2784
27852008-08-26 Chong Yidong <cyd@stupidchicken.com>
2786
2787 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 2788 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
2789
27902008-08-25 Eli Zaretskii <eliz@gnu.org>
2791
2792 * frame.c (do_switch_frame): Mark previously displayed frame as
2793 obscured for FRAME_MSDOS_P frames as well.
2794
27952008-08-24 Eli Zaretskii <eliz@gnu.org>
2796
2797 * frame.c (make_terminal_frame): Initialize f->terminal,
2798 f->terminal->reference_count, and scroll bars on MS-DOS as well.
2799 Set the top frame to newly created frame.
2800 (Fmake_terminal_frame): Reuse the_only_display_info.
2801
2802 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
2803 estimating available memory.
2804
b97439ce 28052008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
2806
2807 * nsterm.m (ns_draw_window_cursor): Don't call
2808 NSDisableScreenUpdates and NSEnableScreenUpdates on
2809 non-NS_IMPL_COCOA systems.
2810
28112008-08-23 Andreas Schwab <schwab@suse.de>
2812
2813 * process.c (procfs_system_process_attributes): Fix use of
2814 uninitialized variables.
2815
28162008-08-23 Eli Zaretskii <eliz@gnu.org>
2817
2818 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
2819
2820 * dispnew.c (init_display): Remove MS-DOS specific conditions for
2821 calling tty-set-up-initial-frame-faces.
2822
b8ff72fa
SM
2823 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
2824 Allow MSDOS frames along with X frames.
aac0c6e3
MR
2825
2826 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
2827 addition to output_termcap.
2828
2829 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
2830
2831 * termchar.h (FRAME_TTY): Support output_msdos_raw.
2832 (struct tty_display_info) [MSDOS]: Add fields related to mouse
2833 highlight.
2834
2835 * process.c [!subprocesses]: Define QCname.
2836 (syms_of_process): Intern and staticpro it.
2837
2838 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
2839 Adjust for changes in encoding/decoding routines.
2840 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
2841 encode_coding and decode_coding.
2842
b8ff72fa 2843 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
2844
2845 * dosfns.c: Include frame.h before termhooks.h.
2846 (dos_cleanup): Use CURTTY ()->termscript instead of a global
2847 variable termscript.
2848
2849 * s/msdos.h (USER_FULL_NAME): Define.
2850 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
2851
2852 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
2853 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
2854 pw->pw_gecos.
2855
2856 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
2857 SELECTED_FRAME as additional (1st) argument.
2858 (tty_read_avail_input): Handle output_msdos_raw in
2859 addition to output_termcap.
2860
2861 * msdos.c: Include frame.h before termhooks.h.
2862 (mouse_on, mouse_off, mouse_moveto, mouse_init)
2863 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
2864 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
2865 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
2866 (IT_set_terminal_modes, IT_reset_terminal_modes)
2867 (IT_set_frame_parameters): Use tty->termscript instead of a global
2868 variable termscript.
2869 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
2870 global variable terminal_coding. Don't refer to
2871 Vnonascii_translation_table.
2872 (internal_terminal_init): Set Vwindow_system in current_kboard.
2873 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
2874 Announce date and time of session start, if termscript is open.
2875 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
2876 term.c:init_tty). Open termscript only of not already open.
2877 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
2878 here instead of dos_ttraw. Don't initialize display if this is an
2879 initial tty. Don't set FRAME_FONT.
2880 (Vwindow_system_version): Bump to 23.
2881 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
2882 is available, set up mouse_position_hook.
2883 (dos_ttraw, IT_set_terminal_modes): If called with initial
2884 terminal, do nothing.
2885 (IT_set_frame_parameters): Handle the Qtty_type frame
2886 parameter by calling internal_terminal_init.
2887 (dos_set_window_size, show_mouse_face)
2888 (clear_mouse_face, IT_note_mode_line_highlight)
2889 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
2890 (dos_rawgetc): Use tty_display_info instead of x_display_info.
2891 (initialize_msdos_display): New function.
2892 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
2893 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
2894 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
2895 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 2896 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
2897 (request_sigio, unrequest_sigio): Don't define, now defined on
2898 sysdep.c.
2899 (IT_write_glyphs): Rewrite to use encode_terminal_code.
2900
2901 * term.c [MSDOS]: Include msdos.h.
2902 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
2903 conditional to DOS_NT. Allow only one call to this function in a
2904 session. Don't allocate a new struct tty_display_info; instead,
2905 reuse the_only_display_info. Call get_tty_size to get screen
2906 dimensions. Call init_baud_rate to set bad_rate.
2907 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
2908 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 2909 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
2910 (get_tty_terminal, get_named_tty, Ftty_type)
2911 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
2912 output_termcap.
b8ff72fa
SM
2913 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
2914 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 2915 only when subprocesses are supported.
aac0c6e3
MR
2916
2917 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
2918 f->output_data.x.
2919 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
2920 terminal devices.
2921
5582fbc7 2922 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
2923 x_output.
2924 (FRAME_FONT): Use output_data.tty.
2925 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
2926 (struct x_display_info): Rename from display_info. Update all users in
2927 msdos.c.
aac0c6e3 2928 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 2929 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
2930 (dos_ttraw): Update prototype.
2931
2932 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
2933 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
2934
29352008-08-23 Jason Rumney <jasonr@gnu.org>
2936
2937 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
2938 (fn_TIFFSetDirectory): New library function used.
2939 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
2940 (tiff_load): Use :index to select among multiple images. Set count
2941 property when multiple images exist.
2942 (gif_format): Use :index, not :image.
2943
29442008-08-23 Chong Yidong <cyd@stupidchicken.com>
2945
2946 * xdisp.c (try_scrolling): Check INT_MAX instead of
2947 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
2948 to obtain INT_MAX.
2949
29502008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
2951
2952 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
2953
29542008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
2955
2956 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
2957 GNUstep library location.
2958
29592008-08-21 Chong Yidong <cyd@stupidchicken.com>
2960
2961 * xfaces.c (x_update_menu_appearance): Check validity of menu font
2962 before using it.
2963
2964 * puresize.h (BASE_PURESIZE): Increase to 1250000.
2965
29662008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2967
2968 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
2969 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
2970 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
2971 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
2972 (EmacsApp-cursor_blink_handler): Remove declaration.
2973 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
2974 match 01 Feb 2008 changes in xterm.c.
2975 (ns_read_socket): Add cast to avoid warning.
2976 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
2977 GNUstep.
2978
29792008-08-20 Chong Yidong <cyd@stupidchicken.com>
2980
2981 * xselect.c (x_get_foreign_selection): Return nil if desired
2982 selection could not be obtained, instead of signalling an error.
2983
29842008-08-20 David Reitter <david.reitter@gmail.com>
2985
2986 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
2987 * nsterm.m: Remove ns-specific code for cursor blinking.
2988 (ns_draw_window_cursor): Clear cursor properly rather than
2989 redrawing the area. Respect width of bar cursors.
2990 These changes enable the use of generic blink-cursor-mode and
2991 generic cursor types in NS and support smooth cursor movements (do
2992 not blink off after command).
2993 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
2994 Nextstep, too.
2995
29962008-08-19 Kenichi Handa <handa@m17n.org>
2997
2998 * font.c (Vfont_log_deferred): New variable.
2999 (font_add_log): Check Vfont_log_deferred.
3000 (font_deferred_log): New function.
3001
3002 * font.h (font_deferred_log): Extern it.
3003
3004 * fontset.c (reorder_font_vector): Use encoding charset of fonts
3005 for sorting.
3006 (face_for_char): Use deferred log.
3007
30082008-08-18 Kenichi Handa <handa@m17n.org>
3009
3010 * fontset.c (face_for_char): Add font log.
3011
3012 * font.c (font_add_log): Add the font properties :script, :lang,
3013 and :otf in the log.
3014
30152008-08-17 Chong Yidong <cyd@stupidchicken.com>
3016
3017 * xdisp.c: Remove dead code.
3018 (handle_invisible_prop, next_overlay_string): Defer call to
3019 setup_for_ellipsis.
3020 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
3021
30222008-08-15 Chong Yidong <cyd@stupidchicken.com>
3023
3024 * xfaces.c (lookup_derived_face): Properly handle possible zero
3025 return value of get_lface_attributes.
3026 (merge_faces): Don't tell lookup_derived_face to signal an error
3027 if face is not found.
3028
3029 * dired.c (Fdirectory_files): Doc fix.
3030
3031 * process.c (make_process): Initialize kill_without_query struct
3032 member.
3033
30342008-08-15 Eli Zaretskii <eliz@gnu.org>
3035
3036 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
3037 Alternative calculation of totphys for Visual Studio 6.
3038
3039 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
3040
3041 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
3042 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
3043 All users changed.
3044 (stat): Only root directory passed to GetDriveType. Allow RAM
3045 disk as well as local fixed disk when w32-get-true-file-attributes
3046 is set to `local'.
3047 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
3048 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
3049 (w32_cached_id, w32_add_to_cache): New functions.
3050 (get_name_and_id): Look account names in the cache before calling
3051 lookup_account_sid.
3052 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
3053 New initialization flags.
3054 (globals_of_w32): Initialize them to zero.
3055 (w32_system_process_attributes): Use w32_cached_id and
3056 w32_add_to_cache.
3057
30582008-08-14 Lawrence Mitchell <wence@gmx.li>
3059
3060 * lread.c (Fread_char, Fread_char_exclusive): If no character
3061 event is read before timeout is reached, return nil, rather than
3062 converting to a number.
3063
30642008-08-14 Chong Yidong <cyd@stupidchicken.com>
3065
3066 * fns.c (use_dialog_box): Doc fix.
3067
3068 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
3069 on OS X.
3070
30712008-08-13 Chong Yidong <cyd@stupidchicken.com>
3072
3073 * frame.c (Qns_parse_geometry): New var.
3074 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
3075
30762008-08-11 Chong Yidong <cyd@stupidchicken.com>
3077
3078 * xdisp.c (x_produce_glyphs): Handle the case when font has no
3079 space character in calculating tabs.
3080
30812008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
3082
3083 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
3084
30852008-08-10 Glenn Morris <rgm@gnu.org>
3086
3087 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
3088 silence gcc "limited range of data type" warnings in some
3089 make_fixnum_or_float calls.
3090
30912008-08-09 Eli Zaretskii <eliz@gnu.org>
3092
3093 * w32.c (w32_system_process_attributes): If the process does not
3094 exist, return nil.
3095
3096 * w32.c: Include thelp32.h, psapi.h and coding.h.
3097 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
3098 declarations.
3099 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
3100 (Process32Next_Proc): New typedefs.
3101 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
3102 (g_b_init_process32_next, g_b_init_open_thread_token)
3103 (g_b_init_impersonate_self, g_b_init_revert_to_self)
3104 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
3105 (g_b_init_get_process_working_set_size)
3106 (g_b_init_global_memory_status_ex): New static variables.
3107 (globals_of_w32): Initialize them.
3108 (create_toolhelp32_snapshot, process32_first, process32_next)
3109 (open_thread_token, impersonate_self, revert_to_self)
3110 (get_process_memory_info, get_process_working_set_size)
3111 (global_memory_status, global_memory_status_ex): New wrapper
3112 functions.
3113 (w32_list_system_processes, w32_system_process_attributes)
3114 (enable_privilege, restore_privilege, ltime, process_times):
3115 New functions.
3116 (convert_time_raw): New function.
3117 (convert_time): Remove conversion of FILETIME into time in 100
3118 nsec units, call convert_time_raw instead.
3119
3120 * process.h (w32_list_system_processes, w32_system_process_attributes):
3121 Add prototypes.
3122 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
3123 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
3124 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
3125 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
3126
3127 * process.c (Fsystem_process_attributes): Doc fix.
3128
31292008-08-08 Chong Yidong <cyd@stupidchicken.com>
3130
3131 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
3132 a continued multi-char glyph; if so, advance to the actual glyph.
3133
31342008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
3135
3136 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
3137
3138 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
3139 (.m.o): Use it.
3140 * config.in: Regenerate.
3141
31422008-08-07 Chong Yidong <cyd@stupidchicken.com>
3143
3144 * xdisp.c (redisplay_window): Revert last change.
3145 (try_window): Check bottom scroll margin too.
3146
31472008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3148
3149 * config.in: Regenerate.
3150
3151 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
3152 -list-load-path-shadows'.
3153 (nsgui.h): Reduce number of things depending on it.
3154
31552008-08-06 Chong Yidong <cyd@stupidchicken.com>
3156
3157 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
3158 instead of window-end which does the wrong thing at eob.
3159 (try_cursor_movement): Minor optimization.
3160 (redisplay_window): If scroll margin is defined, don't assume
3161 window doesn't need scrolling.
3162
31632008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
3164
3165 * config.in: Regenerate.
3166
3167 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
3168 (mostlyclean): Don't delete *.d under NS.
3169
3170 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
3171
31722008-08-06 Kenichi Handa <handa@m17n.org>
3173
3174 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
3175
31762008-08-06 Andreas Schwab <schwab@suse.de>
3177
3178 * config.in: Regenerate.
3179
31802008-08-05 Chong Yidong <cyd@stupidchicken.com>
3181
3182 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
3183 forcing a window start.
3184
3185 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
3186 (auto_save_1): Update modtime when auto-save-list-file-name is on.
3187
31882008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3189
3190 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
3191 argument.
3192
31932008-08-05 Juanma Barranquero <lekktu@gmail.com>
3194
3195 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
3196 <scroll-down-aggressively, before-change-functions>:
3197 <after-change-functions>: Reflow docstrings.
3198
31992008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3200 Ken Raeburn <raeburn@gnu.org>
3201
3202 Dock menu customization, based on a patch by Ken Raeburn, plus some
3203 other fixes.
3204 * nsmenu.m (dockMenu): New variable.
3205 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
3206
3207 * nsterm.h (dockMenu): Declare.
3208
3209 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
3210 (ns_term_init): Initialize dockMenu.
3211 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
3212 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
3213 left.
3214
3215 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
3216
32172008-08-04 Chong Yidong <cyd@stupidchicken.com>
3218
3219 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
3220
3221 * config.in: Regenerate.
3222
32232008-08-04 Seiji Zenitani <zenitani@mac.com>
3224
3225 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
3226
32272008-08-04 Chong Yidong <cyd@stupidchicken.com>
3228
3229 * nsterm.h (find_and_call_menu_selection): Fix prototype.
3230
32312008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
3232
3233 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
3234
3235 * keyboard.h: Comment an #endif.
3236
3237 * lisp.h (have_menus_p): Adjust comment.
3238
3239 * menu.c (find_and_return_menu_selection): Fix comparison with
3240 client_data.
3241
3242 * nsmenu.m (popup_activated_flag): New variable.
3243 (popup_activated): New function.
3244 (menu-or-popup-active-p): New exported lisp definition.
3245 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
3246 when popup done.
3247 (ns_popup_dialog): Set popup_activated_flag.
3248
3249 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
3250 version for GNUstep (handled by conditional typedef in nsterm.m).
3251 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
3252 in rgb.txt).
3253
3254 * process.c (init_process): Use DARWIN_OS, not DARWIN.
3255
3256 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
3257
3258 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
3259
3260 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
3261 shortcircuit if popup_activated like GTK and X toolkit.
3262
3263 * m/inter386.h: Change DARWIN to DARWIN_OS.
3264
3265 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
3266 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
3267 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
3268 comment on NO_SOCK_SIGIO.
3269
32702008-08-03 Chong Yidong <cyd@stupidchicken.com>
3271
3272 * nsterm.m (windowDidResize): Remove stopModal call.
3273
32742008-08-03 Andreas Schwab <schwab@suse.de>
3275
3276 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
3277 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
3278
32792008-08-02 Chong Yidong <cyd@stupidchicken.com>
3280
3281 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
3282 Don't use uninitialized pointer variable when using getrlimit.
3283
32842008-08-02 Jason Rumney <jasonr@gnu.org>
3285
3286 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
3287
32882008-08-02 Eli Zaretskii <eliz@gnu.org>
3289
3290 * alloc.c (NSTATICS): Bump to 0x640.
3291
3292 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
3293
3294 * lisp.h: Add prototype for directory_files_internal.
3295
3296 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
3297 New functions.
3298 (syms_of_process): Defsubr them. Add initializations for various
3299 Q* symbols used in procfs_system_process_attributes.
3300 (procfs_list_system_processes, procfs_system_process_attributes)
3301 [HAVE_PROCFS]: New functions.
3302 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
3303 (procfs_get_total_memory): New functions.
3304
33052008-08-01 Juanma Barranquero <lekktu@gmail.com>
3306
3307 * xfaces.c (Fx_load_color_file): Fix previous change;
3308 it is #ifdef WINDOWSNT, not WINDOWS_NT.
3309
33102008-08-01 Michael Albinus <michael.albinus@gmx.de>
3311
3312 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
3313
33142008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3315
3316 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
3317
33182008-08-01 Chong Yidong <cyd@stupidchicken.com>
3319
3320 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
3321
3322 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
3323 define NSApplicationDelegateReplySuccess.
3324 (EmacsView -converstationIdentifier): Use long instead of
3325 NSInteger for GNUstep, since it doesn't have NSInteger.
3326
3327 * xmenu.c: Revert last change.
3328
3329 * keyboard.h: Fix last change.
3330
33312008-08-01 Juanma Barranquero <lekktu@gmail.com>
3332
3333 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
3334 on Windows.
3335
33362008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3337
3338 Warning clearing and clean-up in NS port.
3339 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
3340 Add prototypes.
3341 * nsgui.h (FACE_DEFAULT): Remove, unused.
3342 (XGCValues): Change colors to unsigned long.
3343 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
3344 nsterm.m.
3345 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
3346 (ns_list_fonts): Remove, unused.
3347 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
3348 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
3349 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
3350 (nsfont_draw): Compare face colors to 0, not nil.
3351 * nsmenu.m (struct widget_value): Drop unneeded declaration.
3352 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
3353 (-addSubmenuWithTitle:): Use NSMenuItem class.
3354 (ns_popup_menu): Use NO, not NULL, for enabled setting.
3355 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
3356 (ns_clip_to_row): Make gc arg a BOOL.
3357 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
3358 ns_clip_to_row() call.
3359 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
3360 used). Cast FRAME_FONT assignments.
3361 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
3362 (ns_string_to_lispmod): Change arg to const char.
3363 (ns_term_init): Use NSMenuItem class.
3364 (EmacsApp -openFile:): Move to different section of file.
3365 (EmacsApp -application:openFiles:): Don't return a value, call
3366 -replyToOpenOrPrint:.
3367 (EmacsView -keyDown:): Fix up cast.
3368 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
3369 (EmacsView -menuDown:): Cast tag in call to
3370 find_and_call_menu_selection().
3371 (ns_list_fonts): Remove, unused.
3372 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
3373 (ns_fontname_to_xlfd): Make static.
3374 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
3375 Remove prototypes (now in keyboard.h).
3376 (next_menubar_widget_id): Remove, unused.
3377 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
3378 Remove prototypes (now in keyboard.h).
3379 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
3380
33812008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
3382
3383 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
3384 (floatfns.o): Depend on syssignal.h.
3385 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
3386
3387 * systty.h: Fix previous change that removed BSD_TERMIOS.
3388 Add comments to #ifdefs.
3389
33902008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
3391
3392 * w32fns.c (w32-load-color-file): Remove.
3393 (x-open-connection): Use renamed Fx_load_color_file.
3394 * xfaces.c (x-load-color-file): Add.
3395 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
3396 Emacs.clr.
3397 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
3398
33992008-07-31 Michael Albinus <michael.albinus@gmx.de>
3400
3401 * dbusbind.c (Fdbus_call_method_asynchronously)
3402 (Fdbus_method_error_internal): New defuns.
3403 (xd_read_message): Handle also reply messages.
3404 (Vdbus_registered_functions_table): Extend docstring.
3405
34062008-07-31 Juanma Barranquero <lekktu@gmail.com>
3407
3408 * keyboard.c (gobble_input): Fix previous change.
3409
34102008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3411
3412 * bitmaps/README:
3413 * xfns.c:
3414 * termcap.c:
3415 * term.c:
3416 * syswait.h:
3417 * systty.h:
3418 * systime.h:
3419 * syssignal.h:
3420 * sysdep.c:
3421 * process.h:
3422 * process.c:
3423 * print.c:
3424 * ndir.h:
3425 * lread.c:
3426 * keyboard.c:
3427 * getpagesize.h:
3428 * floatfns.c:
3429 * fileio.c:
3430 * emacs.c:
3431 * doc.c:
3432 * dispnew.c:
3433 * dired.c:
3434 * data.c:
3435 * callproc.c:
3436 * buffer.c:
3437 * README:
3438 * Makefile.in:
3439 * s/template.h:
3440 * s/msdos.h:
3441 * m/vax.h: Remove VMS support.
3442 * s/vms.h:
3443 * vlimit.h:
3444 * uaf.h:
3445 * temacs.opt:
3446 * param.h:
3447 * ioctl.h: Remove file.
3448
34492008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
3450
3451 * s/ms-w32.h (MULTI_KBOARD): Remove.
3452 * xterm.c:
3453 * xselect.c:
3454 * xfns.c:
3455 * window.c:
3456 * w32term.c:
3457 * w32fns.c:
3458 * terminal.c:
3459 * termhooks.h:
3460 * term.c:
3461 * sysdep.c:
3462 * keyboard.h:
3463 * keyboard.c:
3464 * frame.h:
3465 * frame.c:
3466 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
3467 * config.in: Regenerate.
3468
34692008-07-30 Jason Rumney <jasonr@gnu.org>
3470
3471 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
3472
3473 * w32font.c (w32font_encode_char): Leave as unicode if in range.
3474 (w32font_open_internal): Get unicode version of textmetrics.
3475 Don't enable or disable glyph indices here.
3476 (w32font_open): Disable use of glyph indices.
3477
3478 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
3479
34802008-07-30 Chong Yidong <cyd@stupidchicken.com>
3481
3482 * minibuf.c (Vread_buffer_function): Doc fix.
3483
34842008-07-30 John Paul Wallington <jpw@pobox.com>
3485
3486 * minibuf.c (read_buffer_completion_ignore_case): New var.
3487 (Fread_buffer): Use it.
3488
34892008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
3490
3491 * systty.h (sensemode): Remove empty #if. Remove reference to
3492 BSD_TERMIOS, unused.
3493
3494 * sysdep.c: Remove reference to DGUX.
3495 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
3496
3497 * config.in: Regenerate.
3498
34992008-07-30 Jason Rumney <jasonr@gnu.org>
3500
3501 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
3502
35032008-07-29 Jason Rumney <jasonr@gnu.org>
3504
3505 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
3506 is populated.
3507 (uniscribe_encode_char): Always use uniscribe.
3508 Avoid using context if cache is populated.
3509
35102008-07-29 Jan Djärv <jan.h.d@swipnet.se>
3511
3512 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
3513 open menu.
3514
3515 * gtkutil.c (menu_nav_ended): Remove.
3516 (create_menus): Remove signal connect for menu_nav_ended.
3517
35182008-07-28 Chong Yidong <cyd@stupidchicken.com>
3519
3520 * xdisp.c (redisplay_window): Check return value of
3521 compute_window_start_on_continuation_line before forcing a window
3522 start.
3523
35242008-07-28 Jason Rumney <jasonr@gnu.org>
3525
3526 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
3527
3528 * w32term.c (w32_enable_unicode_output, cleartype_active):
3529 Remove obsolete display options.
3530 (x_draw_glyph_string_background): Don't use old cleartype_active
3531 workaround.
3532 (w32_initialize): Remove cleartype_active initialization.
3533 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
3534
35352008-07-28 Andreas Schwab <schwab@suse.de>
3536
3537 * lisp.h (init_weak_hash_tables, syms_of_font)
3538 (xd_read_queued_messages, syms_of_dbusbind): Declare.
3539 (remove_hash_entry): Don't declare.
3540 * eval.c (maybe_call_debugger): Make static and move before use.
3541 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
3542 * xdisp.c: Include "gtkutil.h" if USE_GTK.
3543 * xterm.h (x_set_frame_alpha): Declare.
3544
35452008-07-28 Jan Djärv <jan.h.d@swipnet.se>
3546
3547 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
3548 (create_menus): Connect selection-done to menu_nav_ended.
3549
35502008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3551
3552 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
3553 Set Vx_resource_name to a fallback. Replace read of 'buffered'
3554 parameter with read of 'alpha' one.
3555 (Qns_frame_parameter): Remove.
5582fbc7 3556 * nsselect.m (selection-coding-system)
aac0c6e3
MR
3557 (next-selection-coding-system, Vselection_coding_system)
3558 (Vnext_selection_coding_system): Drop.
3559
35602008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
3561
3562 * nsfns.m (do-applescript, do_applescript): Rename to
3563 ns-do-applescript, ns_do_applescript, and move within file.
3564
35652008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
3566
3567 Remove support for Mac Carbon.
3568 * mactoolbox.c:
3569 * macterm.h:
3570 * macterm.c:
3571 * macselect.c:
3572 * macmenu.c:
3573 * macgui.h:
3574 * macfns.c:
3575 * mac.c: Remove file.
3576 * s/darwin.h:
3577 * m/intel386.h:
3578 * xfaces.c:
3579 * xdisp.c:
3580 * window.c:
3581 * tparam.c:
3582 * termhooks.h:
3583 * termcap.c:
3584 * term.c:
3585 * syssignal.h:
3586 * sysselect.h:
3587 * sysdep.c:
3588 * process.c:
3589 * lread.c:
3590 * lisp.h:
3591 * keyboard.c:
3592 * image.c:
3593 * fringe.c:
3594 * frame.h:
3595 * frame.c:
3596 * fontset.c:
3597 * font.h:
3598 * font.c:
3599 * fns.c:
3600 * fileio.c:
3601 * emacs.c:
3602 * dispnew.c:
3603 * dispextern.h:
3604 * config.in:
3605 * atimer.c:
2ae37cf0 3606 * Makefile.in: Remove code for Carbon.
aac0c6e3 3607
f0131492 36082008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
3609
3610 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
3611
36122008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3613
3614 * macterm.h (kCGBitmapByteOrder32Host): New define for
3615 non-universal SDKs.
3616
3617 * image.c (mac_create_cg_image_from_image, image_load_image_io)
3618 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3619
3620 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
3621 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
3622
36232008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
3624
3625 * w32inevt.c: Include dispextern.h.
3626
36272008-07-26 Andreas Schwab <schwab@suse.de>
3628
3629 * print.c (print_object): Fix off-by-one in last change.
3630
36312008-07-25 Juanma Barranquero <lekktu@gmail.com>
3632
3633 * term.c (syms_of_term): Don't initialize default_orig_pair,
3634 default_set_foreground and default_set_background on Windows.
3635
36362008-07-25 Jason Rumney <jasonr@gnu.org>
3637
3638 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
3639 ScriptItemize. Clean up return value checking. Remove unused
3640 variables.
3641 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
3642 shaping engine.
3643
3644 * w32font.c (w32font_has_char): Handle the case where we can't
3645 determine the script for a character.
3646
36472008-07-25 Chong Yidong <cyd@stupidchicken.com>
3648
3649 * term.c (syms_of_term): Initialize default_orig_pair,
3650 default_set_foreground, and default_set_background.
3651
3652 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
3653 clash (bug#86).
3654 (getloadavg): Callers changed.
3655
3656 * image.c (svg_load_image): Fix last change.
3657 (svg_load_image): Use rsvg_handle_get_dimensions to check that
3658 image size is valid. Use g_object_unref instead of deprecated
3659 rsvg_handle_free to free rsvg handle.
3660 (x_from_xcolors): Don't initialize pixmap (silence compiler).
3661
36622008-07-25 Jason Rumney <jasonr@gnu.org>
3663
3664 * w32font.c (w32font_encode_char): Encode characters outside BMP as
3665 surrogates before looking up glyph index.
3666 (w32font_text_extents): Encode as surrogates if falling back to
3667 functions that need UTF-16 wide chars.
3668
3669 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
3670 BMP as surrogates before looking up glyph index.
3671
36722008-07-25 Chong Yidong <cyd@stupidchicken.com>
3673
3674 * image.c (svg_load_image): Check for failure in return value of
3675 rsvg_handle_get_pixbuf. Free rsvg handle when done.
3676
36772008-07-25 Jason Rumney <jasonr@gnu.org>
3678
3679 * w32font.c (Fx_select_font): Reverse sense of second arg.
3680
36812008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
3682
3683 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
3684 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
3685
3686 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
3687 (PURESIZE): Use it.
3688
36892008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
3690
3691 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
3692 * m/alpha.h (TEXT_END):
3693 * m/ibmrs6000.h (TEXT_END):
3694 * m/macppc.h (TEXT_END):
3695 * s/darwin.h (TEXT_END):
3696 * s/msdos.h (TEXT_END): Remove, unused.
3697 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
3698 * s/cygwin.h: Remove comment.
3699
3700 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
3701 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
3702 * m/intel386.h (DOT_GLOBAL_START):
3703 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
3704 (USG): Remove, file not used on USG platforms.
3705
3706 * Makefile.in (HAVE_X11): Remove empty #else.
3707
37082008-07-24 Andreas Schwab <schwab@suse.de>
3709
3710 * fileio.c (Finsert_file_contents): Properly adjust undo list
3711 after format conversion.
3712
37132008-07-24 Jan Djärv <jan.h.d@swipnet.se>
3714
3715 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
3716 (menu_nav_ended): Remove.
3717 (create_menus): Remove signal connect for menu_nav_ended.
3718 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
3719 create_menus.
3720 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
3721
37222008-07-23 Jason Rumney <jasonr@gnu.org>
3723
3724 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
3725 with opened font.
3726 (w32font_open): Set font type to gdi.
3727
3728 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
3729
37302008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
3731
3732 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
3733 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
3734 defines it.
3735 * unexec.c (ADDR_CORRECT): Define unconditionally.
3736
3737 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
3738
3739 * unexec.c: Remove code depending on !COFF and USG, the file is
3740 not used for such systems.
3741
3742 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
3743 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
3744 (LD_SWITCH_SYSTEM_1): Remove, update users.
3745
3746 * s/darwin.h (DATA_END):
3747 * m/intel386.h (DATA_END):
3748 * m/ibmrs6000.h (DATA_END):
3749 * m/alpha.h (DATA_END): Remove, unused.
3750
3751 * config.in: Regenerate.
3752 * s/ms-w32.h (subprocesses): Define unconditionally.
3753 * s/template.h (subprocesses): Update comment.
3754 * s/vms.h (subprocesses):
3755 * s/usg5-4.h (subprocesses):
3756 * s/hpux10-20.h (subprocesses):
3757 * s/gnu-linux.h (subprocesses):
3758 * s/cygwin.h (subprocesses):
3759 * s/bsd-common.h (subprocesses):
3760 * s/aix4-2.h (subprocesses):
3761 * s/darwin.h (subprocesses): Do not define, defined by default now.
3762
3763 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
3764 Remove all references.
3765 (temacs): Add GNUstep specific ld flags.
3766
3767 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
3768 similarly to what X does.
3769
37702008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3771
3772 * nsfns.m (x-list-fonts): Remove.
3773 (syms_of_nsfns): Drop the x-list-fonts declaration.
3774 * nsterm.m: Get rid of remaining "//" comments.
3775
37762008-07-22 Chong Yidong <cyd@stupidchicken.com>
3777
3778 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
3779
3780 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
3781 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
3782 (Fns_own_selection_internal, Fx_disown_selection_internal)
3783 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
3784
3785 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
3786 ... */' style of docstrings. Doc fixes.
3787
37882008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3789
3790 * terminfo.c (UP, BC, PC): Undo previous change.
3791
3792 * nsfns.m: Rename ns prefixed functions/variables to the
3793 corresponding x versions. Update references.
3794
37952008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
3796
3797 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
3798
37992008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
3800
3801 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
3802 Remove forwarding functions.
3803 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
3804 non-static.
3805 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
3806 non-static.
3807 (ns_frame_parm_handlers): Use the new names.
3808 (syms_of_nsfns): Move to the end of file.
3809
3810 * nsterm.m (syms_of_nsterm): Move to the end of file.
3811
3812 * dispnew.c (init_display): Remove code for X10.
3813
38142008-07-22 Jason Rumney <jasonr@gnu.org>
3815
3816 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
3817 bare drive.
3818
38192008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
3820
3821 * nsterm.m (syms_of_nsterm): Remove debugging println.
3822
38232008-07-22 David Reitter <david.reitter@gmail.com>
3824
3825 * nsfns.m (do_applescript, F_do_applescript): NS version of the
3826 Carbon implementation of the same functionality: execute arbitrary
3827 AppleScript code.
3828
38292008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
3830
3831 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
3832 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
3833 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
3834 (Fx_display_mm_height, Fx_display_mm_width)
3835 (Fx_display_backing_store, Fx_display_visual_class)
3836 (Fx_display_save_under, Fx_open_connection)
3837 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
3838 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
3839 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3840 (Fx_display_pixel_width, Fx_display_pixel_height)
3841 (Fx_display_usable_bounds, Fx_display_planes)
3842 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
3843 ... */' style of docstrings.
3844
38452008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
3846
3847 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
3848 on this platform.
3849 (mips):
3850 * m/iris4d.h (mips): Do not define.
3851 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
3852
3853 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
3854
3855 * image.c:
3856 * nsfns.m:
3857 * nsselect.m:
3858 * nsterm.h:
3859 * nsterm.m: Rename ns prefixed functions/variables to the
3860 corresponding x versions. Update references.
3861
3862 * m/ibms390x.h (NO_REMAP): Do not undefine.
3863
3864 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
3865
38662008-07-21 Chong Yidong <cyd@stupidchicken.com>
3867
3868 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
3869 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
3870 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
3871 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
3872 (Fns_display_mm_height, Fns_display_mm_width)
3873 (Fns_display_backing_store, Fns_display_visual_class)
3874 (Fns_display_save_under, Fns_open_connection)
3875 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
3876 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
3877 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
3878 (Fns_display_pixel_width, Fns_display_pixel_height)
3879 (Fns_display_usable_bounds, Fx_display_planes)
3880 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
3881
38822008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
3883
3884 * print.c (print_object): Check print_depth before searching for
3885 circularities.
3886
38872008-07-21 Michael Albinus <michael.albinus@gmx.de>
3888
3889 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
3890 only sprintf.
3891
38922008-07-21 Kenichi Handa <handa@m17n.org>
3893
3894 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
3895
38962008-07-20 Andreas Schwab <schwab@suse.de>
3897
3898 * syntax.c (find_start_pos, find_start_value)
3899 (find_start_value_byte, find_start_begv, find_defun_start)
3900 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
3901
39022008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3903
3904 * s/sol2-3.h: Insert contents of s/sol2.h.
3905 (LD_SWITCH_SYSTEM): Remove redundant definition.
3906 * s/sol2.h: Remove, unused.
3907
39082008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3909
3910 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
3911
39122008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
3913
3914 * Makefile.in (ns_appdir): Fix typo in find command.
3915
39162008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
3917
3918 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
3919
3920 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
3921 added not supported anymore.
3922
3923 * s/usg5-4-2.h (LIBS_SYSTEM):
3924 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
3925
3926 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3927 * s/lynxos.h (GETPGRP_NO_ARG):
3928 * s/hpux10-20.h (NO_SIOCTL_H):
3929 * s/gnu.h (GETPGRP_NO_ARG):
3930 * s/gnu-linux.h (NO_SIOCTL_H):
3931 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
3932 * s/cygwin.h (GETPGRP_NO_ARG):
3933 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
3934 (C_DEBUG_SWITCH): Remove duplicate definition.
3935
3936 * m/ibms390.h: Remove boilerplate comments.
3937
3938 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
3939
3940 * process.c (HAVE_SERIAL): Consolidate ifdefs.
3941 (wait_reading_process_output): Remove code for SunOS, platform not
3942 supported anymore. Use SOLARIS2 instead of sun.
3943
39442008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3945
3946 * font.c (font_open_by_name): Under NS, default lface height to zero.
3947 (font_open_for_lface): Under NS, set size based on frame fontsize.
3948 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
3949 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
3950
39512008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3952
3953 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
3954 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
3955 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
3956 YES/NO.
3957 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
3958 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
3959 * Makefile.in (clean): Clear out build destination dir.
3960
39612008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3962
3963 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
3964 xterm, xselect.
3965 * lisp.h: Remove declaration of hash_remove.
3966 * nsgui.h: Remove redefinitions of hash_remove.
3967 * fns.c (hash_remove): Rename to hash_remove_from_table.
3968
39692008-07-19 Seiji Zenitani <zenitani@mac.com>
3970
3971 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
3972 strdup() the family UTF8String before modifying it.
3973
39742008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
3975
3976 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
3977 NS_FACE_BACKGROUND with 0 instead of nil.
3978 * nsfont.m (nsfont_draw): Same.
3979
39802008-07-19 Chong Yidong <cyd@stupidchicken.com>
3981
3982 * nsfns.m (ns_set_background_color): Fix crash.
3983
39842008-07-18 Chong Yidong <cyd@stupidchicken.com>
3985
3986 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
3987
39882008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
3989
3990 * puresize.h (BASE_PURESIZE): Increase to 1240000.
3991
39922008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3993
3994 * gtkutil.c: Include <config.h> instead of "config.h".
3995
3996 * lisp.h (Foverlay_buffer): Add EXFUN.
3997
3998 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
3999 child process to complete child_setup. Undo 2005-09-21 change.
4000
4001 * s/darwin.h: Mention setsid after vfork.
4002
40032008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4004
4005 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
4006 Depend on macgui.h.
4007
4008 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
4009 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
4010
4011 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
4012 and f19.
4013 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
4014
4015 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
4016 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
4017 Remove enumerators.
4018
4019 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
4020 Check if FACE_FROM_ID returns NULL.
4021
40222008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
4023
4024 * w32inevt.c (change_frame_size): Remove extern declaration.
4025 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
4026 change_frame_size.
4027
40282008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4029
4030 * getloadavg.c: Revert last change (2008-07-15).
4031
40322008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
4033
4034 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
4035 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
4036 from configure.
4037
40382008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
4039
4040 * s/sol2.h:
4041 * s/sol2-4.h: Reorganize conditionals.
4042
4043 * ecrt0.c: Remove code depending on m68000, not used anymore.
4044
4045 * fns.c (hash_remove): Make static.
4046 * lisp.h (hash_remove): Don't prototype.
4047
4048 * m/ibmrs6000.h:
4049 * m/ibms390x.h:
4050 * m/macppc.h: Remove boilerplate comments.
4051
4052 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
4053 Solaris, which does not need them.
4054
4055 * m/vax.h: Remove comments about unsupported systems.
4056
4057 * s/darwin.h: Reorganize ifdefs.
4058
40592008-07-17 Andreas Schwab <schwab@suse.de>
4060
4061 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
4062
40632008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
4064
4065 Use SDATA. Follow coding convention of placing operators at
4066 beginning of next line rather than end of previous line, and placing
4067 spaces around infix operators.
4068
4069 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
4070 in case it was defined already.
4071 USE @GNUSTEP_MAKEFILES@ rather than envvars.
4072 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
4073 ns_default.
4074 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
4075 Lisp_Objects.
4076 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
4077 (ns_defined_color, ns_color_to_lisp): Declare.
4078 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
4079 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
4080 it's accepted even with USE_LISP_UNION_TYPE.
4081 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
4082 (update_frame_tool_bar): Remove apparently obsolete tests for
4083 non-integerness of f->tool_bar_lines.
4084 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
4085 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
4086 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
4087 (nsfont_open): Don't confuse NULL for Qnil.
4088 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
4089 * menu.h (find_and_call_menu_selection):
4090 * menu.c (find_and_call_menu_selection): Use just int for vector size.
4091 (find_and_return_menu_selection): Always return something.
4092 * frame.h: Include dispextern.h for Display_Info.
4093 (display_x_get_resource): Declare.
4094
40952008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
4096
4097 * syntax.c: Remove stdio.h include accidentally introduced in
4098 Emacs.app commit.
4099 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
4100 NS_IMPL_COCOA.
4101 * keyboard.c (handle_async_input, input_available_signal): Remove
4102 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
4103
41042008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4105
4106 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
4107 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
4108 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
4109 Use SDATA.
4110
4111 * keymap.c: Remove all NS-specific code.
4112 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
4113 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
4114 where_is_preferred_modifier, return a different value depending on how
4115 preferred is the binding.
4116 (where_is_internal): Adjust accordingly.
4117 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
4118 Adjust to new preferred_sequence_p.
4119 (syms_of_keymap): Declare `where-is-preferred-modifier'.
4120 * keyboard.c (parse_solitary_modifier): Not static any more.
4121 * keyboard.h (parse_solitary_modifier): Declare.
4122
41232008-07-16 Andreas Schwab <schwab@suse.de>
4124
4125 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
4126 of easymenu.
4127
41282008-07-16 Chong Yidong <cyd@stupidchicken.com>
4129
4130 * xdisp.c (move_it_in_display_line): Account for word wrap, so
4131 that we don't move off the line.
4132
41332008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
4134
4135 * keyboard.c (Qsuper): Remove.
4136 (parse_menu_item): Don't call where_is_internal specially for NS.
4137
41382008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4139
4140 * s/gnu-linux.h: Remove boilerplate comments.
4141
4142 * m/alpha.h (__ELF__): Consolidate conditions.
4143
4144 * m/m68k.h (linux): Use GNU_LINUX instead.
4145 Remove boilerplate comments.
4146
4147 * m/intel386.h: Undo refactoring from previous change.
4148 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
4149 too, remove dead code.
4150 (linux): Use GNU_LINUX instead.
4151
41522008-07-16 Jason Rumney <jasonr@gnu.org>
4153
4154 * w32gui.h: Repeat 26 June changes lost by last change.
4155
41562008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
4157
4158 * systty.h: Remove code for Aix on 386, unsupported platform.
4159
4160 * s/ms-w32.h: Remove boilerplate comments.
4161 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
4162
4163 * s/gnu-linux.h (TERM): Remove support.
4164 (HAVE_SYSVIPC): Remove, unused.
4165 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
4166 for this system.
4167
4168 * process.c: Remove support for IRIS, unused.
4169 Remove support for TERM, not relevant anymore.
4170
4171 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
4172 used with the definition.
4173
4174 * s/aix4-2.h (static): Do not undef.
4175
4176 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
4177 only used on Aix.
4178 (HAVE_SYSVIPC): Remove, unused.
4179
4180 * m/hp800.h (CANNOT_DUMP): Do not undef.
4181
4182 * m/alpha.h: Fix comment.
4183
4184 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
4185 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
4186 used by this configuration.
4187 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
4188 * unexec.c: Remove code depending on HPUX and
4189 USG_SHARED_LIBRARIES, not used with this file. Remove code
4190 depending on IRIS, unused. Remove if 0-ed code.
4191
4192 * s/template.h: Remove comments about static.
4193
4194 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
4195 Remove if 0-ed code.
4196 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
4197 were the same as the default.
4198 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
4199 Remove boilerplate comments.
4200 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
4201 (HAVE_SYSVIPC): Remove, unused.
4202 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
4203
4204 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4205 Remove boilerplate comments.
4206 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4207 Remove boilerplate comments.
4208 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
4209 Remove boilerplate comments.
4210 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
4211
4212 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
4213 USG systems which do not use DATA_SEG_BITS.
4214 Refactor code. Remove boilerplate comments.
4215
4216 * m/ibms390.h:
4217 * m/m68k.h:
4218 * s/bsd-common.h:
4219 * s/cygwin.h:
4220 * s/darwin.h:
4221 * s/freebsd.h:
4222 * s/gnu.h:
4223 * s/msdos.h: Remove boilerplate comments.
4224
4225 * m/iris4d.h: Remove boilerplate comments and code for systems that
4226 do not use this file.
4227 (IRIS_4D): Remove, unused.
4228
4229 * m/mips.h: Remove boilerplate comments and code for systems that
4230 do not use this file.
4231 (SIGN_EXTEND_CHAR):
4232 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
4233 * unexmips.c: Remove file, unused.
4234
4235 * editfns.c (Fuser_full_name): Replace the only use of
4236 USER_FULL_NAME with its value.
4237 * config.in: Regenerate.
4238
42392008-07-16 David Reitter <david.reitter@gmail.com>
4240
4241 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
4242 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
4243
42442008-07-16 Glenn Morris <rgm@gnu.org>
4245
4246 * emacs.c (system-type): Doc fix.
4247
42482008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
4249
4250 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
4251 If the cache doesn't work, let's fix it, rather than work around it.
4252
42532008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4254
4255 * Makefile.in: Correct additions for nsfont.o in last commit.
4256 * nsfont.m: New file (forgot last commit).
4257
42582008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4259
4260 * callproc.c (set_initial_environment): Initialize
4261 Vprocess_environment under CANNOT_DUMP (fixes crash when
4262 batch-compiling for bootstrap).
4263
42642008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
4265 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4266
4267 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
4268 fix crash due to different init order.
4269
42702008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4271
4272 Changes and additions for NeXTstep windowing system (Cocoa and
4273 GNUstep) support.
4274
4275 * Makefile.in:
4276 * config.in: Support defines and build commands for NS port.
4277 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
4278 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
4279 * dispextern.h: Include nsgui.h and add needed typedefs under NS
4280 windowing.
4281 (struct face): Add synth_ital field.
4282 * dispnew.c: Include nsterm.h when compiling under NS windowing.
4283 (init_display): Initialize Vinitial_window_system to "ns" when so
4284 compiled.
4285 * emacs.c: Include GSConfig.h when compiling under GNUstep.
4286 (display_arg): Use under NS.
4287 (main): Under NS, allocate autorelease pool and handle command line
4288 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
4289 (standard_args): Add NS-specific args.
4290 (shut_down_emacs): Shut down NS terminal if compiled under NS.
4291 * font.c (DEFAULT_ENCODING): New variable.
4292 (font_find_for_lface): Use it.
4293 (syms_of_font): Load syms_of_nsfont under NS.
4294 * font.h: Declare nsfont_driver when compiled under NS.
4295 * fontset.c: When compiling under NS, include nsterm.h.
4296 (fontset_from_font): Autoconstruct fontset under NS.
4297 * frame.c (various): Under NS, include nsterm.h, add Qns window system
4298 symbol, document and use it.
4299 (do_switch_frame): When for_deletion under Cocoa, add
4300 Fraise_frame(Qnil).
4301 (x_set_frame_parameters): Ensure font attribute changes are picked up.
4302 (x_get_arg): Allow "yes" and "no" as boolean values.
4303 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
4304 Qright under Cocoa.
4305 (focus-follows-mouse): Default to 0 under NS.
4306 * frame.h (enum output_method): Add output_ns.
4307 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
4308 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
4309 (FRAME_WINDOW_P): NS-specific definition.
4310 * fringe.c (max_used_fringe_bitmap): Make public.
4311 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
4312 (getloadavg): Use NeXT code under descendant OS's.
4313 * image.c (includes and header section, x_create_bitmap_from_data)
4314 (x_create_bitmap_from_file, free_bitmap_record, image_background)
4315 (image_background_transparent, x_clear_image_1)
4316 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4317 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
4318 (x_to_xcolors, x_from_xcolors, x_disable_image)
4319 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
4320 other GUIs, including XPM support using code originally written for
4321 Carbon GUI.
4322 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
4323 using NS API.
4324 (image_ascent): Use font metrics macros instead of direct struct field
4325 access.
4326 * keyboard.c (includes): Add nsterm.h when compiling under NS.
4327 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
4328 Also, handle NS as GTK for menu bar purposes.
4329 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
4330 toolkit where they differ.
4331 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
4332 use cachelist, still needed under NS.
4333 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
4334 (struct widget_value): Define it here for menu.c.
4335 * keymap.c (includes): Include modifier internals.
4336 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
4337 NS.
4338 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
4339 support for preferring sequences using certain modifiers, specified by
4340 the FIRSTONLY argument.
4341 * lisp.h (hash_remove): Rename to avoid name clash when compiling
4342 under NS GNUstep implementation.
4343 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
4344 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
4345 * menu.c: Include nsterm.h under NS.
4346 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
4347 (free_menubar_widget_tree_value, update_submenu_strings)
4348 (find_and_call_menu_selection): Treat NS as X and NT.
4349 (find_and_return_menu_selection): New function, used for popup menus.
4350 * nsgui.h:
4351 * nsterm.h:
4352 * nsfns.m:
4353 * nsimage.m:
4354 * nsmenu.m:
4355 * nsselect.m:
4356 * nsterm.m: New files.
4357 * process.c (wait_reading_process_output): Under NS, call ns_select()
4358 instead of plain select().
4359 * syntax.c (char_quoted): Under NS, avoid a crash when called near
4360 beginning of buffer.
4361 * sysselect.h (init_process): Rename when compiling under Cocoa to
4362 avoid name conflict.
4363 * termhooks.h (display_info): Add ns_display_info to union.
4364 * terminal.c (Fterminal_live_p): Add ns to terminal types.
4365 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
4366 COCOA environment.
4367 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
4368 unexec() signature. (Note, this will dump, but the resulting file
4369 crashes; unexosx is used instead; keeping around for reference and
4370 possible aid in getting dump working under GNUstep.)
4371 * w32gui.h (button_type, widget_value): Remove definitions (now in
4372 keyboard.h).
4373 * window.c: Include nsterm.h when compiling under NS.
4374 * xdisp.c (includes): Include nsterm.h when compiling under NS.
4375 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
4376 other GUI windowing systems.
4377 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
4378 GTK.
4379 (x_consider_frame_title): Under NS, set icon type and frame
4380 modified-state indicator; use ns_set_name_as_filename() when using
4381 formatted title.
4382 (update_window_cursor): Make public when compiling under NS.
4383 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
4384 (hourglass_atimer, Vhourglass_delay
4385 * xfaces.c (header section, init_frame_faces, clear_font_table)
4386 (defined_color, unload_color, x_face_list_fonts)
4387 (prepare_face_for_display): Add NS support parallel to other GUIs.
4388 Emulate GCs like other non-X GUIs.
4389 (split_font_name): Don't lowercase font name under NS.
4390 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
4391 under NS.
4392 * s/darwin.h: Add support for compilation under NS.
4393
43942008-07-15 Jason Rumney <jasonr@gnu.org>
4395
4396 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
4397 (w32_show_hourglass): Rename from show_hourglass.
4398 (w32_hide_hourglass): Rename from hide_hourglass.
4399 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
4400 (Vhourglass_delay): Declare extern.
4401 (hourglass_started): Remove.
4402
4403 * xdisp.c (Vhourglass_delay): Remove static.
4404 (hourglass_started, start_hourglass, cancel_hourglass):
4405 Don't include these versions on WINDOWSNT.
4406
44072008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
4408
4409 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
4410 variables (formerly in xfns.c).
4411 (show_hourglass, hide_hourglass): New prototypes (same).
4412 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
4413 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
4414 in xfns.c).
4415 (syms_of_xdisp): Declare/initialize display-hourglass,
4416 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
4417 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
4418 formerly in xfns.c.
4419 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4420 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4421 (start_hourglass, cancel_hourglass): Remove.
4422 (show_hourglass, hide_hourglass): Remove prototypes and static
4423 modifiers.
4424 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
4425 hourglass_atimer, hourglass_shown_p declaration/initialization.
4426 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
4427 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
4428 (start_hourglass, cancel_hourglass): Remove.
4429 (show_hourglass, hide_hourglass): Remove prototypes and static
4430 modifiers.
4431 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
4432 hourglass_atimer, hourglass_shown_p declaration/initialization.
4433 * w32fns.c (display_hourglass_p, Vhourglass_delay)
4434 (DEFAULT_HOURGLASS_DELAY): Remove.
4435 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
4436 hourglass_shown_p declaration/initialization.
4437
44382008-07-14 Jason Rumney <jasonr@gnu.org>
4439
4440 * w32fns.c (w32_get_arg): Remove wrapper function.
4441 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
4442 directly.
4443 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
4444
44452008-07-14 Kenichi Handa <handa@m17n.org>
4446
4447 * xfont.c (xfont_open): Add workaround for X's bug.
4448
44492008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
4450
4451 * fontset.c: Include <stdio.h> unconditionally.
4452
44532008-07-13 Michael Albinus <michael.albinus@gmx.de>
4454
4455 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
4456 for filtering.
4457
44582008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
4459
4460 * s/vms.h: Use __GNUC__ instead of _GNUC_.
4461
4462 * m/macppc.h:
4463 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
4464
4465 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
4466 (SPECIAL_EMACS_INT):
4467 * m/ia64.h (SPECIAL_EMACS_INT):
4468 * m/amdx86-64.h (SPECIAL_EMACS_INT):
4469 * s/gnu.h (NLIST_STRUCT):
4470 * s/aix4-2.h (X11R5_INHIBIT_I18N):
4471 * s/gnu-linux.h (LINUX):
4472 * s/msdos.h (HAVE_FACES):
4473 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
4474
4475 * systty.h:
4476 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
4477 anymore.
4478
44792008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
4480
4481 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
4482 always defined as int.
4483
4484 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
4485 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
4486 * s/gnu-linux.h (HAVE_WAIT_HEADER):
4487 * s/freebsd.h (HAVE_WAIT_HEADER):
4488 * s/bsd-common.h (HAVE_UNION_WAIT):
4489 * s/aix4-2.h (HAVE_WAIT_HEADER):
4490 * m/mips.h (HAVE_UNION_WAIT):
4491 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
4492 (COFF, static): Do not define, they are undefined later in the file.
4493
4494 * process.c (update_status): Don't use a union.
4495 (status_convert):
4496 (sigchld_handler): Use int instead of WAITTYPE.
4497
44982008-07-12 Chong Yidong <cyd@stupidchicken.com>
4499
4500 * indent.c (Fvertical_motion): Restore hscroll before moving to
4501 goal column.
4502
45032008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4504
4505 * lisp.h: Remove left over code.
4506
45072008-07-11 Andreas Schwab <schwab@suse.de>
4508
4509 * lisp.h: Fix logic in last change.
4510
4511 * menu.h: New file.
4512 * menu.c: Include it.
4513 * xmenu.c: Likewise.
4514 * Makefile.in: Update dependencies.
4515
45162008-07-11 Kenichi Handa <handa@m17n.org>
4517
4518 * fontset.c (fontset_from_font): Cancel the previous change.
4519
45202008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
4521
4522 * lisp.h:
4523 * w32heap.c:
4524 * emacs.c:
4525 * alloc.c: Replace all references of NO_UNION_TYPE with
4526 USE_LISP_UNION_TYPE.
4527
4528 * m/xtensa.h (NO_UNION_TYPE):
4529 * m/vax.h (NO_UNION_TYPE):
4530 * m/template.h (NO_UNION_TYPE):
4531 * m/sparc.h (NO_UNION_TYPE):
4532 * m/mips.h (NO_UNION_TYPE):
4533 * m/macppc.h (NO_UNION_TYPE):
4534 * m/m68k.h (NO_UNION_TYPE):
4535 * m/iris4d.h (NO_UNION_TYPE):
4536 * m/intel386.h (NO_UNION_TYPE):
4537 * m/ibms390x.h (NO_UNION_TYPE):
4538 * m/ibms390.h (NO_UNION_TYPE):
4539 * m/ibmrs6000.h (NO_UNION_TYPE):
4540 * m/ia64.h (NO_UNION_TYPE):
4541 * m/hp800.h (NO_UNION_TYPE):
4542 * m/arm.h (NO_UNION_TYPE):
4543 * m/amdx86-64.h (NO_UNION_TYPE):
4544 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
4545 defining it the same.
4546
45472008-07-10 Chong Yidong <cyd@stupidchicken.com>
4548
4549 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
4550
45512008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4552
4553 * fileio.c:
4554 * sysdep.c
4555 * systty.h:
4556 * m/ibmrs6000.h:
4557 * m/iris4d.h:
4558 * s/aix4-2.h:
4559 * s/freebsd.h:
4560 * s/gnu-linux.h:
4561 * s/hpux10-20.h:
4562 * s/hpux11.h:
4563 * s/netbsd.h:
4564 * s/sol2-3.h:
4565 * s/sol2-4.h:
4566 * s/sol2.h:
4567 * s/usg5-4.h:
4568 * s/vms.h: Remove references to unused variables.
4569
45702008-07-10 Andreas Schwab <schwab@suse.de>
4571
4572 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
4573 pattern before matching the generic family.
4574
45752008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
4576
4577 * unexec.c:
4578 * s/vms.h:
4579 * s/usg5-4-2.h:
4580 * s/sol2-5.h:
4581 * s/freebsd.h:
4582 * s/darwin.h: Remove dead code.
4583
4584 * m/template.h:
4585 * m/sparc.h:
4586 * m/mips.h:
4587 * m/m68k.h:
4588 * m/iris4d.h:
4589 * m/intel386.h:
4590 * m/ibms390x.h:
4591 * m/ibms390.h:
4592 * m/ia64.h:
4593 * m/hp800.h:
4594 * m/arm.h:
4595 * m/amdx86-64.h: Remove dead code and references to unused
4596 and compiler defined symbols.
4597
4598 * unexmips.c:
4599 * unexelf.c: Remove references to desupported systems.
4600
4601 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
4602
4603 * m/powermac.h: Remove boilerplate comments.
4604 (NO_REMAP): Remove unused definition.
4605
4606 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
4607 define them.
4608
46092008-07-10 Kenichi Handa <handa@m17n.org>
4610
4611 * xfont.c (xfont_open): Log the reason of failure.
4612
46132008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
4614
4615 * fontset.c (fontset_get_font_group):
4616 * font.c (font_check_otf): Specify argument types.
4617
46182008-07-09 Kenichi Handa <handa@m17n.org>
4619
4620 * coding.c (detect_coding_utf_8): Set detect_info->found only when
4621 non-ASCII char is found.
4622
4623 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
4624 (reorder_font_vector): Change the arg preferred_family to font.
4625 Prefer the spec matching with font.
4626 (fontset_get_font_group): New function.
4627 (fontset_find_font): Change the format of an element of a realized
4628 fontset. Use fontset_get_font_group.
4629 (fontset_font): Try the current fontset, the default fontset, the
4630 fallbacks of the current fontset, and the fallbacks of the default
4631 fontset in this order.
4632 (face_for_char): Delete the shortcut to use the current font.
4633 (fontset_from_font): Don't set fonts for Latin in the fontset.
4634
4635 * font.h (font_make_object, font_match_p): Adjust prototypes.
4636
4637 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
4638
4639 * font.c (font_make_object): New arg entity and pixelsize.
4640 (font_check_otf_features, font_check_otf): New functions.
4641 (font_match_p): Check :lang, :script, and :otf properties.
4642
4643 * xfont.c (xfont_open): Adjust it for the change of
4644 font_make_object.
4645 (xfont_text_extents): Fix initial setting of metrics.
4646
4647 * ftfont.c (struct ftfont_info): New member index, delete member
4648 fc_charset_idx. Make the member order compatible with struct
4649 xftfont_info.
4650 (fc_charset_table): Change charset names to registry names.
4651 (ftfont_pattern_entity): Delete the args registry and
4652 fc_charset_idx. Change the value of :font-entity property
4653 to (FONTNAME . INDEX). Always set :registry property to
4654 `iso10646-1'.
4655 (struct ftfont_cache_data): New struct.
4656 (ftfont_lookup_cache): New arg for_face.
4657 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
4658 (ftfont_driver): Set the member otf_capability.
4659 (ftfont_get_charset): Adjust it for the change of
4660 fc_charset_table.
4661 (OTF_TAG_SYM): New macro.
4662 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
4663 for the change of fc_charset_table.
4664 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
4665 ftfont_pattern_entity. Add FC_INDEX to objset.
4666 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
4667 and ftfont_pattern_entity.
4668 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
4669 font_make_object, struct ftfont_info.
4670 (ftfont_has_char): Use ftfont_get_fc_charset.
4671 (ftfont_otf_features, ftfont_otf_capability): New functions.
4672 (ftfont_shape): Use ftfont_get_otf.
4673 (ftfont_text_extents): Fix initial setting of metrics.
4674
4675 * xftfont.c (struct xftfont_info): New member ft_size. Make the
4676 member order compatible with struct ftfont_info.
4677 (xftfont_open): Add FC_CHARSET to the pattern. Set
4678 xftfont_info->ft_size. Don't unlock the face. Check BDF
4679 properties if appropriate.
4680 (xftfont_close): Unlock the face.
4681 (xftfont_anchor_point, xftfont_shape): Deleted.
4682 (syms_of_xftfont): Don't set members anchor_point and shape of
4683 xftfont_driver.
4684
4685 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
4686 font_make_object.
4687
4688 * w32font.c (w32font_open): Adjust it for the change of
4689 font_make_object.
4690 (w32font_open_internal): Don't set properties of font_object here.
4691
46922008-07-08 Chong Yidong <cyd@stupidchicken.com>
4693
4694 * macfns.c (x_create_tip_frame):
4695 * w32fns.c (x_create_tip_frame):
4696 * xfns.c (x_create_tip_frame): Pass parameter argument to
4697 face-set-after-frame-default.
4698
4699 * xfaces.c (Finternal_merge_in_global_face): Save merged
4700 attributes for the default face back into the face vector.
4701
47022008-07-08 Andreas Schwab <schwab@suse.de>
4703
4704 * fontset.h: Declare fontset_from_font. Don't declare
4705 new_fontset_from_font and fontset_from_font_name.
4706 * xterm.c: Include "fontset.h".
4707 * Makefile.in (xterm.o): Update dependencies.
4708
47092008-07-08 Glenn Morris <rgm@gnu.org>
4710
4711 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
4712 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
4713
47142008-07-07 Chong Yidong <cyd@stupidchicken.com>
4715
4716 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
4717 (x_set_frame_parameters): Don't bind it.
4718
47192008-07-07 Juanma Barranquero <lekktu@gmail.com>
4720
4721 * w32fns.c (map_w32_filename): Declare extern.
4722
47232008-07-07 Jason Rumney <jasonr@gnu.org>
4724
4725 * w32term.c (WS_EX_LAYERED): Define if not already.
4726
47272008-07-06 Chong Yidong <cyd@stupidchicken.com>
4728
4729 * xfaces.c (set_font_frame_param): Don't try to set the font
4730 parameter if it is still unspecified in the lface.
4731
47322008-07-05 Chong Yidong <cyd@stupidchicken.com>
4733
4734 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
4735 face if it didn't already exist.
4736
4737 * xdisp.c (try_window_id): Give up if word-wrapping is on.
4738
47392008-07-05 Andreas Schwab <schwab@suse.de>
4740
4741 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
4742
47432008-07-05 Chong Yidong <cyd@stupidchicken.com>
4744
4745 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
4746 word-wrapping.
4747 (IT_DISPLAYING_WHITESPACE): New macro.
4748 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
4749 when word-wrapping. Simplify word-wrapping logic. Use correct
4750 pixel positions when saving copies of the iterator.
4751 (display_line): Use proper wrap point if the last character on a
4752 line was preceded by whitespace.
4753
47542008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
4755
4756 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
4757
47582008-07-04 Kenichi Handa <handa@m17n.org>
4759
4760 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
4761
4762 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
4763
47642008-07-02 Jason Rumney <jasonr@gnu.org>
4765
4766 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 4767 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
4768
4769 * xdisp.c (next_element_from_display_vector): Move assignment out
4770 of if statement.
4771
47722008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
4773
4774 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
4775
4776 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
4777 (syms_of_fileio): Initialize and export them.
4778 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
4779
4780 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
4781 (Fsystem_move_file_to_trash): New function.
4782 (syms_of_w32fns): Export it to lisp.
4783
47842008-07-01 Jason Rumney <jasonr@gnu.org>
4785
4786 * w32font.c (w32font_text_extents): Don't count overhang as part
4787 of width.
4788
47892008-06-30 Miles Bader <miles@gnu.org>
4790
4791 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
4792 Add `avoid_cursor_p' field.
4793
4794 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
4795 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
4796 (append_glyph, append_composite_glyph, produce_image_glyph)
4797 (append_stretch_glyph): Initialize avoid_cursor_p.
4798 (get_it_property): Rename from `get_line_height_property'.
4799 (x_produce_glyphs): Use get_it_property.
4800 (handle_line_prefix, push_display_prop): New functions.
4801 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
4802 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
4803 New variables.
4804 (syms_of_xdisp): Initialize them.
4805
48062008-06-30 Kenichi Handa <handa@m17n.org>
4807
4808 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
4809 XftDefaultSubstitute (they are called in XftFontMatch).
4810 (xftfont_open): Fix args to ftfont_font_format.
4811
4812 * ftfont.c (fc_charset_table): New member lang.
4813 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 4814 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
4815 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
4816 (ftfont_open): Fix args to ftfont_font_format.
4817 (ftfont_font_format): New arg filename.
4818
48192008-06-30 Chong Yidong <cyd@stupidchicken.com>
4820
4821 * xfaces.c (Finternal_merge_in_global_face): If default face was
4822 modified, realize it again. Update the font face attribute.
4823
48242008-06-29 Jason Rumney <jasonr@gnu.org>
4825
4826 * w32term.c (x_set_frame_alpha): Fix logic.
4827
48282008-06-29 Kenichi Handa <handa@m17n.org>
4829
4830 * fontset.c (Finternal_char_font): Return font-object instead of
4831 font-name.
4832
4833 * composite.c (get_composition_id): Fix the width calculation for TAB.
4834
48352008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
4836
4837 * indent.c (Fvertical_motion): Properly handle float column arg.
4838
48392008-06-28 Jason Rumney <jasonr@gnu.org>
4840
4841 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
4842 (pfnSetLayeredWindowAttributes): New function pointer.
4843 (w32_initialize): Initialize it when supported.
4844 (x_set_frame_alpha): New function.
4845
4846 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
4847 (w32_frame_parm_handlers): Set alpha handler.
4848
4849 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
4850
48512008-06-27 Jason Rumney <jasonr@gnu.org>
4852
4853 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
4854 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
4855 (w32_to_x_charset, x_to_w32_charset)
4856 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4857 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4858 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4859 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4860 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4861 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4862 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
4863 (Qw32_charset_unicode): Remove.
4864 (syms_of_w32fns): Update for above changes.
4865
4866 * w32font.c (w32_to_x_charset, x_to_w32_charset)
4867 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
4868 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
4869 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
4870 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
4871 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
4872 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
4873 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
4874 (syms_of_w32font): Update for above changes.
4875
48762008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
4877
4878 * s/usg5-4.h: Fix previous change: keep the correct branch of a
4879 removed #if.
4880 (USG_SHARED_LIBRARIES): Remove duplicate definition.
4881
48822008-06-26 Juanma Barranquero <lekktu@gmail.com>
4883 Eli Zaretskii <eliz@gnu.org>
4884
4885 * makefile.w32-in (LOCAL_FLAGS):
4886 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
4887
4888 * sysdep.c (_spawnlp, _getpid):
4889 Declare with explicit _cdecl instead of _CRTAPI1.
4890
4891 * editfns.c (Fget_internal_run_time):
4892 Check for WINDOWSNT with #ifdef, not #if.
4893
48942008-06-26 Jason Rumney <jasonr@gnu.org>
4895
4896 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
4897
4898 * w32term.c (x_draw_glyph_string_foreground)
4899 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
4900 Use FONT_HANDLE macro.
4901 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
4902
4903 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4904 (uniscribe_encode_char): Use FONT_HANDLE macro.
4905
4906 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
4907 (w32font_text_extents): Use precast w32_font.
4908 (w32font_close): Free cached metrics.
4909 (w32font_open_internal): Allocate space for name on stack.
4910
49112008-06-26 Chong Yidong <cyd@stupidchicken.com>
4912
4913 * xdisp.c (extend_face_to_end_of_line): Fix last change.
4914
49152008-06-26 Jason Rumney <jasonr@gnu.org>
4916
4917 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
4918 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
4919
49202008-06-26 Juanma Barranquero <lekktu@gmail.com>
4921
4922 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
4923
49242008-06-26 Jason Rumney <jasonr@gnu.org>
4925
4926 * w32bdf.c, w32bdf.h: Remove obsolete files.
4927
4928 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
4929
4930 * w32gui.h: Don't include w32bdf.h.
4931 (XCharStruct, enum w32_char_font_type, W32FontStruct):
4932 Remove obsolete font support.
4933
4934 * w32font.h (struct w32font_info): Remove compat_w32_font.
4935 Add hfont member.
4936 (FONT_COMPAT): Remove obsolete macro.
4937
4938 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
4939 (w32font_encode_char, w32font_text_extents): Use new hfont member.
4940 (w32font_open_internal): Remove compat code. Set new hfont member.
4941 (Fx_select_font): Use new hfont member.
4942
4943 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
4944 (uniscribe_encode_char): Use new hfont member.
4945
4946 * w32term.c (x_draw_glyph_string_foreground)
4947 (x_draw_composite_glyph_string_foreground): Use new hfont member.
4948 (x_draw_glyph_string): Use metrics in w32font_info.
4949
49502008-06-26 Kenichi Handa <handa@m17n.org>
4951
4952 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
4953
49542008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
4955
4956 * unexnext.c:
4957 * m/ews4800.h:
4958 * m/hp9000s300.h:
4959 * m/ibm370aix.h:
4960 * m/mips-siemens.h:
4961 * m/ncr386.h:
4962 * m/next.h:
4963 * m/pmax.h:
4964 * m/powerpcle.h:
4965 * m/tandem-s2.h:
4966 * s/386bsd.h:
4967 * s/bsd386.h:
4968 * s/bsd4-1.h:
4969 * s/bsd4-2.h:
4970 * s/bsdos2-1.h:
4971 * s/bsdos2.h:
4972 * s/bsdos3.h:
4973 * s/bsdos4.h:
4974 * s/nextstep.h:
4975 * s/ultrix4-3.h:
4976 * s/usg5-0.h:
4977 * s/usg5-2-2.h:
4978 * s/usg5-2.h:
4979 * s/usg5-4-3.h:
4980 * s/ux4800.h:
4981 * s/uxpds.h:
4982 * s/uxpv.h: Remove support for obsolete systems.
4983 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 4984 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
4985 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
4986 Remove, insert contents in s/aix4-2.h.
4987 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
4988 * s/bsd4-3.h: Rename to ...
4989 * s/bsd-common.h: ... this.
4990 * data.c:
4991 * doc.c:
4992 * ecrt0.c:
4993 * emacs.c:
4994 * fileio.c:
4995 * floatfns.c:
4996 * keyboard.c:
4997 * mem-limits.h:
4998 * print.c:
4999 * process.c:
5000 * sysdep.c:
5001 * syssignal.h:
5002 * systty.h:
5003 * syswait.h:
5004 * term.c:
5005 * unexec.c:
5006 * unexelf.c:
5007 * unexhp9k800.c:
5008 * m/hp800.h:
5009 * m/ibmrs6000.h:
5010 * m/mips.h:
5011 * m/vax.h:
5012 * s/darwin.h:
5013 * s/freebsd.h:
5014 * s/gnu.h:
5015 * s/ms-w32.h:
5016 * s/msdos.h:
5017 * s/netbsd.h:
5018 * s/template.h: Remove references to obsolete variables.
5019
5020 * Makefile.in: Add dependencies for all unexec files.
5021 (admindir): Remove unused variable.
5022 (UNEXEC_SRC): Remove references.
5023
50242008-06-25 Chong Yidong <cyd@stupidchicken.com>
5025
5026 * xfns.c (x_default_font_parameter): If Xft is available, first
5027 try Monospace-12 for the default font.
5028
50292008-06-25 Jason Rumney <jasonr@gnu.org>
5030
5031 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
5032
50332008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
5034
5035 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
5036
5037 * buffer.c (syms_of_buffer): Remove default-word-wrap.
5038
50392008-06-25 Juanma Barranquero <lekktu@gmail.com>
5040
5041 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
5042 <scroll-conservatively>: Fix typo in docstring.
5043
5044 * xselect.c (Fx_send_client_event): Doc fix.
5045
50462008-06-25 Kenichi Handa <handa@m17n.org>
5047
5048 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
5049
5050 * font.c (font_parse_fcname): Remove unused variables.
5051 (font_sort_entites): Delete the arg SPEC. Caller changed.
5052 Fix for the case of ! best_only.
5053 (font_delete_unmatched): Check DPI and AVGWIDTH too.
5054
5055 * lisp.h (Fstring_to_unibyte): EXFUN it.
5056
5057 * character.h (str_to_unibyte): Extern it.
5058
5059 * character.c (str_to_unibyte): New function.
5060
5061 * fns.c (Fstring_to_unibyte): New function.
5062 (syms_of_fns): Defsubr it.
5063
50642008-06-24 Kenichi Handa <handa@m17n.org>
5065
5066 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
5067 DPI too.
5068 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
5069
50702008-06-24 Andreas Schwab <schwab@suse.de>
5071
5072 * Makefile.in (${lispsource}loaddefs.el): Rename from
5073 ../lisp/loaddefs.el.
5074 (bootstrap-clean): Do what distclean does but don't remove
5075 Makefile.
5076 (distclean): Depend on bootstrap-clean and remove Makefile.
5077
50782008-06-24 Chong Yidong <cyd@stupidchicken.com>
5079
5080 * buffer.h (struct buffer): New member word_wrap.
5081
5082 * buffer.c (syms_of_buffer): New variables default-word-wrap and
5083 word-wrap.
5084 (init_buffer_once): Initialize them.
5085
5086 * dispextern.h (struct it): Replace bool truncate_lines_p with a
5087 line_wrap enum possessing three possible values.
5088
5089 * termopts.h: Replace truncate_partial_width_windows with
5090 Vtruncate_partial_width_windows.
5091
5092 * dispnew.c (direct_output_for_insert): Avoid direct output when
5093 inserting a space with word wrap on.
5094
5095 * indent.c (compute_motion): Obey integer values of
5096 truncate-partial-width-windows.
5097
5098 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
5099 replacing truncate_partial_width_windows.
5100 (init_iterator): If Vtruncate_partial_width_windows is an integer,
5101 truncate only if the window width is below that integer.
5102 (start_display, resize_mini_window, produce_stretch_glyph)
5103 (display_string, move_it_in_display_line_to): Use line_wrap.
5104 (back_to_previous_visible_line_start, reseat_1): Reset
5105 string_from_display_prop_p.
5106 (display_line): Extend default face to end of line when wrapping.
5107
51082008-06-24 Kim F. Storm <storm@cua.dk>
5109
5110 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
5111 to wrap continued lines at word boundaries.
5112
51132008-06-24 Jason Rumney <jasonr@gnu.org>
5114
5115 * font.c (Ffont_face_attributes): Multiply pixel size before point
5116 conversion to avoid multiplying rounding error.
5117
51182008-06-23 Jason Rumney <jasonr@gnu.org>
5119
5120 * w32term.c (x_draw_glyph_string_background)
5121 (x_draw_glyph_string): Remove old bdf font code.
5122
5123 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
5124
51252008-06-22 Kenichi Handa <handa@m17n.org>
5126
5127 * font.c (font_find_for_lface): Try the adstyle specified in
5128 the property of LFACE_FONT of LFACE (if any).
5129
51302008-06-21 Seiji Zenitani <zenitani@mac.com>
5131 Ryo Yoshitake <ryo@shiftmode.net>
5132
5133 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
5134
51352008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
5136
5137 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
5138 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
5139 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
5140 (witness-emacs): Remove.
5141 (lisp, shortlisp): Move loaddefs.el earlier.
5142 (mostlyclean): Forget about witness-emacs.
5143
51442008-06-22 Glenn Morris <rgm@gnu.org>
5145
5146 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
5147 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
5148
51492008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5150
5151 * Makefile.in (PRECOMP): Remove.
5152 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
5153 (witness-emacs): Run `compile-first'.
5154 (.el.elc): Use the new compile-onefile target.
5155
51562008-06-21 Kenichi Handa <handa@m17n.org>
5157
5158 * xftfont.c (xftfont_open): Handle QCembolden only when
5159 FC_EMBOLDEN is defined.
5160
51612008-06-21 Andreas Schwab <schwab@suse.de>
5162
5163 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
5164 (.el.elc): Likewise.
5165
51662008-06-21 Miles Bader <miles@gnu.org>
5167
5168 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
5169 build dir, not the lisp source dir.
5170
51712008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
5172
5173 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
5174 (bootstrapclean): Remove.
5175 (.el.elc): New rule.
5176 (PRECOMP): New var.
5177 (../lisp/subdirs.el): Remove.
5178 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
5179 (witness-emacs): New target.
5180 (mostlyclean): Remove witness-emacs as well.
5181 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
5182 Add witness-emacs dependency.
5183
51842008-06-20 Chong Yidong <cyd@stupidchicken.com>
5185
5186 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
5187 defined by the font.
5188
51892008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5190
5191 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
5192 (bootstrap-clean): New target that keeps TAGS around.
5193 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
5194 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
5195
51962008-06-20 Jason Rumney <jasonr@gnu.org>
5197
5198 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
5199 Remove obsolete font code.
5200
5201 * w32font.c (font_matches_spec): Use csb bitfield from font signature
5202 to determine language support.
5203
52042008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5205
5206 * sysdep.c (cfsetspeed): New fun extracted from the code.
5207 (cfmakeraw): Move before first use.
5208
52092008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
5210
5211 * sysdep.c (cfmakeraw): Provide fallback implementation.
5212 (serial_configure): Provide fallback implementation of cfsetspeed.
5213
52142008-06-20 Kenichi Handa <handa@m17n.org>
5215
5216 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
5217 the pattern.
5218
5219 * fontset.c (fontset_from_font): Copy font_spec before changing
5220 the elements.
5221
5222 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
5223
52242008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
5225
5226 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
5227 for explicit `font' parameters.
5228
5229 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
5230
52312008-06-19 Kenichi Handa <handa@m17n.org>
5232
5233 * frame.c: Include <ctype.h>.
5234 (x_set_font_backend): Allow spacing characters in the X resource
5235 for FontBackend.
5236
52372008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
5238
5239 * w32fns.c, xfns.c (Qfont_param): New var.
5240 (syms_of_w32fns): Initialize it.
5241 (x_default_font_parameter): Record explicit `font' into
5242 `font-parameter'.
5243
52442008-06-18 Kenichi Handa <handa@m17n.org>
5245
5246 * font.c (font_parse_xlfd): Fix previous change.
5247 (font_parse_fcname): Don't use :fc-unknown-spec.
5248 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
5249 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
5250 (font_add_log): Prepend the driver name to the resulting fonts.
5251
5252 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
5253 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
5254 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
5255
5256 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
5257 (QCembolden): New variables.
5258 (syms_of_xftfont): DEFSYM them.
5259 (xftfont_open): Call XftFontMatch. Don't trust the result of
5260 XftTextExtents8 if the pixel_size is less than 5.
5261
52622008-06-18 Andreas Schwab <schwab@suse.de>
5263
5264 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
5265 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
5266
52672008-06-18 Jason Rumney <jasonr@gnu.org>
5268
5269 * w32font.c (w32font_list, w32font_match): Add logging.
5270
5271 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
5272
52732008-06-17 Chong Yidong <cyd@stupidchicken.com>
5274
5275 * font.c (font_parse_fcname): Store divider characters for
5276 unknown-spec list. For known key symbols, intern using correct
5277 symbol name.
5278
52792008-06-17 Kenichi Handa <handa@m17n.org>
5280
5281 * xfaces.c (realize_default_face): If the frame is not on window
5282 system, set the fontset of face to nil.
5283
52842008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5285
5286 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
5287
52882008-06-16 Juanma Barranquero <lekktu@gmail.com>
5289
5290 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
5291 (build_font_name_from_vector): Delete externs.
5292
5293 * xfaces.c (struct font_name): Don't declare.
5294
52952008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
5296
5297 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
5298
52992008-06-16 Chong Yidong <cyd@stupidchicken.com>
5300
5301 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
5302
53032008-06-16 Juanma Barranquero <lekktu@gmail.com>
5304
5305 * font.c (Ffont_spec): Fix usage in docstring.
5306 (Ffont_face_attributes): Doc fix.
5307
53082008-06-16 Andreas Schwab <schwab@suse.de>
5309
5310 * font.c (Ffont_face_attributes): Fix definition.
5311
53122008-06-16 Jason Rumney <jasonr@gnu.org>
5313
5314 * font.h (font_style_symbolic_from_value): Remove.
5315
5316 * font.c (font_style_symbolic_from_value): Remove.
5317 (font_style_symbolic): Revert to pre 2008-06-13 version.
5318
5319 * w32font.c (w32_to_fc_weight): New function.
5320 (w32font_full_name, logfont_to_fcname): Use it.
5321
53222008-06-16 Kenichi Handa <handa@m17n.org>
5323
5324 * font.c (font_check_object): Delete it.
5325 (font_clear_cache): Check if a font-object is alive.
5326 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
5327 font-object to nil.
5328 (font_close_object): Don't check FONT_CLOSE_OBJECT.
5329 (font_at): Don't call font_check_object.
5330 (Ffont_get): Return a symbol for :weight, :slant, and :width.
5331
53322008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
5333
5334 * puresize.h (BASE_PURESIZE): Increase to 1230000.
5335
53362008-06-16 Chong Yidong <cyd@stupidchicken.com>
5337
5338 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
5339
53402008-06-15 Chong Yidong <cyd@stupidchicken.com>
5341
5342 * font.c (font_parse_fcname): Only one decimal point.
5343 (font_unparse_fcname): Handle data in family and foundry indices
5344 as symbols, not strings.
5345 (font_unparse_gtkname, Ffont_face_attributes): New functions.
5346
5347 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
5348
5349 * font.h (font_unparse_gtkname): Add prototype.
5350
53512008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
5352
5353 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
5354
53552008-06-15 Andreas Schwab <schwab@suse.de>
5356
5357 * font.c (font_update_drivers): Fix crash when no drivers match.
5358
53592008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
5360
5361 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
5362 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
5363
53642008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
5365
5366 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
5367
53682008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
5369
5370 * process.c (Fserial_process_configure, Fprocess_send_eof):
5371 Use EQ to compare Lisp_Objects.
5372
53732008-06-13 Jason Rumney <jasonr@gnu.org>
5374
5375 * w32fns.c (Fw32_select_font): Remove old font API function.
5376
5377 * w32font.c (logfont_to_fcname): New function.
5378 (Fx_select_font): New font dialog function compatible with
5379 GTK/fontconfig version.
5380
5381 * font.c (font_style_symbolic_from_value): New function.
5382 (font_style_symbolic): Use it.
5383
5384 * font.h (font_style_symbolic_from_value): Declare new function.
5385
53862008-06-13 Juanma Barranquero <lekktu@gmail.com>
5387
5388 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
5389 <font-width-table>: Fix typos in docstrings.
5390
53912008-06-13 Daniel Engeler <engeler@gmail.com>
5392
5393 These changes add serial port access.
5394 * process.c: Add HAVE_SERIAL.
5395 (Fdelete_process, Fprocess_status, Fset_process_buffer)
5396 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
5397 (list_processes_1, select_wrapper, Fstop_process)
5398 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
5399 (status_notify): Modify to handle serial processes.
5400 [HAVE_SERIAL] (Fserial_process_configure)
5401 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
5402 New functions.
5403 * process.h (struct Lisp_Process): Add `type'.
5404 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
5405 New functions.
5406 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
5407 serial ports.
5408 (serial_open, serial_configure) New functions.
5409 * w32.h: Add FILE_SERIAL.
5410 (struct _child_process): Add ovl_read, ovl_write.
5411
54122008-06-13 Kenichi Handa <handa@m17n.org>
5413
5414 * dispextern.h (enum lface_attribute_index): New member
5415 LFACE_FOUNDRY_INDEX.
5416
5417 * font.c (font_score): Delete arg alternate_families. Check only
5418 weight, slant, width, and size. Ignore the difference of alias
5419 style symbols.
5420 (font_sort_entites): Adjust for the above change. Reflect the
5421 order of font-driver to scores.
5422 (font_list_entities): Don't check alternate_familes here.
5423 (font_clear_prop): Handle foundry.
5424 (font_update_lface): Don't parse "foundry-family" form here.
5425 Handle FONT_FOUNDRY_INDEX.
5426 (font_find_for_lface): Likewise. Handle alternate families here.
5427 If registry is nil, try iso8859-1 and ascii-0.
5428 (font_open_for_lface): Pay attention to size in ENTITY.
5429 (font_open_by_name): Simplify by calling font_load_for_lface.
5430 (free_font_driver_list): Delete it.
5431 (font_update_drivers): Preserve the order of backends.
5432 (syms_of_font): Setting of sort_shift_bits adjusted for the change
5433 of font_score and font_sort_entites.
5434 (font_update_sort_order): Likewise.
5435
5436 * xfaces.c (LFACE_FOUNDRY): New macro.
5437 (check_lface_attrs): Check foundry.
5438 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
5439 (merge_face_vectors): Check foundry.
5440 (merge_face_ref): Likewise.
5441 (Finternal_set_lisp_face_attribute): Likewise.
5442 (x_update_menu_appearance): Likewise.
5443 (Finternal_get_lisp_face_attribute): Likewise.
5444 (lface_hash): Likewise.
5445 (lface_same_font_attributes_p): Likewise.
5446 (x_supports_face_attributes_p): Likewise.
5447 (tty_supports_face_attributes_p): Likewise.
5448 (Finternal_set_alternative_font_family_alist): Intern strings.
5449 (Finternal_set_alternative_font_registry_alist): Downcase strings.
5450 (realize_default_face): Set LFACE_FOUNDRY (lface).
5451
5452 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
5453 font-driver at first.
5454
5455 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
5456
54572008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
5458
5459 * lread.c (Fload): Use xfree, not free on saved_doc_string.
5460
54612008-06-12 Jim Meyering <meyering@redhat.com>
5462
5463 Make unexec_free handle NULL the same way free does.
5464 * unexmacosx.c (unexec_free): Ignore a NULL argument.
5465
54662008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
5467
5468 * character.h (CHAR_TO_BYTE_SAFE): New macro.
5469 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
5470 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
5471 (WEAK_ALIAS): Simplify.
5472 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
5473 when searching a unibyte buffer.
5474
54752008-06-12 Chong Yidong <cyd@stupidchicken.com>
5476
5477 * xfns.c (Fx_select_font): Rename from x-font-dialog.
5478
54792008-06-12 Juanma Barranquero <lekktu@gmail.com>
5480
5481 * w32font.c: Include ctype.h.
5482
54832008-06-11 Jason Rumney <jasonr@gnu.org>
5484
5485 * w32font.c (w32font_encode_char): Detect missing glyphs that are
5486 misreported as space.
5487 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
5488 as aliases for registry iso10646-1.
5489
54902008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
5491
5492 * buffer.c (clone_per_buffer_values): Skip `name'.
5493
54942008-06-11 Chong Yidong <cyd@stupidchicken.com>
5495
5496 * font.c (font_parse_fcname): Fix last change; accept decimal
5497 points in font size.
5498
54992008-06-10 Jason Rumney <jasonr@gnu.org>
5500
5501 * w32uniscribe.c (add_opentype_font_name_to_list):
5502 Skip non unicode fonts.
5503
55042008-06-10 Chong Yidong <cyd@stupidchicken.com>
5505
5506 * xfns.c (Fx_font_dialog): New function.
5507
5508 * gtkutil.c (xg_dialog_response_cb): Rename from
5509 xg_file_response_callback.
5510 (pop_down_dialog): Rename from pop_down_file_dialog.
5511 (xg_get_file_name): Callers changed.
5512 (xg_get_font_name): New function.
5513
5514 * gtkutil.h (xg_get_font_name): Insert prototype.
5515
55162008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5517
5518 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
5519 x_underline_minimum_display_offset.
5520 (syms_of_xdisp): Declare it here rather than in xterm.c.
5521 * dispextern.h (underline_minimum_offset): Declare it.
5522 * w32term.c (x_draw_glyph_string): Use it.
5523 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
5524 (syms_of_xterm): Don't declare it any more.
5525 (x_draw_glyph_string): Adjust to the new name.
5526
55272008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
5528
5529 * xterm.c (x_underline_minimum_display_offset): New var.
5530 (x_draw_glyph_string): Use it.
5531 (syms_of_xterm): Declare it.
5532
55332008-06-10 Chong Yidong <cyd@stupidchicken.com>
5534
5535 * font.c (font_parse_fcname): Accept GTK-style font names too.
5536
55372008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
5538
5539 * dired.c (file_name_completion): Don't return t if the match is exact
5540 but with different capitalization.
5541 * minibuf.c (Ftry_completion): Simplify.
5542
5543 * window.c (Vwindow_point_insertion_type): New var.
5544 (set_window_buffer): Use it.
5545 (syms_of_window): Init and export it to Lisp.
5546
55472008-06-10 Kenichi Handa <handa@m17n.org>
5548
5549 * font.h (font_intern_prop): Prototype adjusted.
5550
5551 * font.c (font_intern_prop): New arg force_symbol.
5552 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
5553 Adjust for the change of font_intern_prop.
5554
5555 * ftfont.c (ftfont_pattern_entity):
5556 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
5557 (w32_registry):
5558 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
5559 the change of font_intern_prop.
5560
55612008-06-09 Juanma Barranquero <lekktu@gmail.com>
5562
5563 * w32menu.c (digest_single_submenu): Declare extern.
5564
55652008-06-09 Jason Rumney <jasonr@gnu.org>
5566
5567 * w32term.c (x_make_frame_visible): Use alternate restore flags.
5568
5569 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
5570 (parse_single_submenu): Remove.
5571 (digest_single_submenu): Remove.
5572 (syms_of_w32menu): Don't initialise variables that have moved
5573 to menu.c.
5574 (set_frame_menubar): Sync with version in xmenu.c.
5575 (w32_menu_show): Sync with xmenu_show in xmenu.c.
5576
5577 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
5578 Make static again.
5579
55802008-06-09 Jason Rumney <jasonr@gnu.org>
5581
5582 Changes to w32 files related to the move of common menu code
5583 to menu.c on 2008-06-08 by Chong Yidong.
5584
5585 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
5586 defs to w32gui.h.
5587 (single_keymap_panes, push_menu_item, push_menu_pane):
5588 Make globally visible.
5589
5590 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
5591 (local_free, malloc_widget_value, free_widget_value)
5592 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
5593 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
5594 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
5595 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
5596 (menu_items, menu_items_allocated, menu_items_used)
5597 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
5598 (init_menu_items, finish_menu_items, discard_menu_items)
5599 (grow_menu_items, push_submenu_start, push_submenu_end)
5600 (push_left_right_boundary, push_menu_pane, push_menu_item)
5601 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
5602 (free_menubar_widget_tree_value, parse_single_submenu)
5603 (update_submenu_strings): Remove functions.
5604 (xmalloc_widget_value): Remove and declare extern.
5605
5606 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
5607 (OBJ1): Build it.
5608
5609 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
5610 (local_heap, local_alloc, local_free, malloc_widget_value)
5611 (free_widget_value): Define here.
5612
56132008-06-09 Kenichi Handa <handa@m17n.org>
5614
5615 * font.h (Qascii_0): Extern it.
5616
5617 * font.c (Qascii_0): New variable.
5618 (syms_of_font): DEFSYM it.
5619 (font_open_by_name): If the registry "iso8859-1" fails, try also
5620 "ascii-0".
5621
5622 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
5623
56242008-06-08 Kenichi Handa <handa@m17n.org>
5625
5626 * .gdbinit (xfont): New command.
5627
56282008-06-08 Andreas Schwab <schwab@suse.de>
5629
5630 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
5631 * Makefile.in (menu.o): Update dependencies.
5632
5633 * Makefile.in (obj): Always add menu.o.
5634 * emacs.c (main): Always call syms_of_menu.
5635 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
5636
56372008-06-08 Chong Yidong <cyd@stupidchicken.com>
5638
5639 * Makefile.in: Compile menu.c.
5640
5641 * lisp.h: Declare syms_of_menu.
5642
5643 * emacs.c (main): Call syms_of_menu.
5644
5645 * keyboard.h: Relocate platform-independent menu definitions from
5646 xmenu.c.
5647
5648 * menu.c: New file. Relocate platform-independent menu
5649 definitions from xmenu.c. Suggested by Adrian Robert.
5650
5651 * xmenu.c: Remove platform-independent menu definitions.
5652 (menu_items menu_items_inuse, menu_items_allocated)
5653 (menu_items_used, menu_items_n_panes)
5654 (menu_items_submenu_depth): Move to keyboard.h.
5655 (init_menu_items, finish_menu_items, unuse_menu_items)
5656 (discard_menu_items, restore_menu_items, save_menu_items)
5657 (grow_menu_items, push_submenu_start, push_submenu_end)
5658 (push_left_right_boundary, push_menu_pane, push_menu_item)
5659 (keymap_panes, single_keymap_panes, single_menu_item)
5660 (list_of_panes, list_of_items, find_and_call_menu_selection)
5661 (xmalloc_widget_value, free_menubar_widget_value_tree)
5662 (parse_single_submenu, digest_single_submenu)
5663 (update_submenu_strings): Move to menu.c.
5664
56652008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
5666
5667 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
5668
56692008-06-06 Miles Bader <miles@gnu.org>
5670
5671 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
5672 face, not frame default.
5673
56742008-06-05 Martin Rudalics <rudalics@gmx.at>
5675
5676 * window.c (pop_up_windows, pop_up_frames)
5677 (display_buffer_reuse_frames, Vpop_up_frame_function)
5678 (Vdisplay_buffer_function, Veven_window_heights)
5679 (Vspecial_display_buffer_names, Vspecial_display_regexps)
5680 (Vspecial_display_function, Vsame_window_buffer_names)
5681 (Vsame_window_regexps, split_height_threshold)
5682 (Vsplit_window_preferred_function): Move those vars to window.el.
5683 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
5684 (Fdisplay_buffer): Move those functions to window.el.
5685 (syms_of_window): Remove corresponding declarations.
5686 (display_buffer): New function.
5687 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
5688 * dispnew.c (Flast_nonminibuf_frame): New function.
5689 * buffer.c (Fpop_to_buffer): Move to window.el.
5690
56912008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5692
5693 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
5694
56952008-06-05 Kenichi Handa <handa@m17n.org>
5696
5697 * coding.c (detect_coding): Fix previous change.
5698 (detect_coding_system): Likewise.
5699
57002008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5701
5702 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
5703
5704 * keymap.c (Vminibuffer_local_filename_must_match_map):
5705 Rename from Vminibuffer_local_must_match_filename_map.
5706 (syms_of_keymap):
5707 * minibuf.c (Fcompleting_read): Adjust accordingly.
5708 * commands.h: Rename declaration as well.
5709
57102008-06-05 Kenichi Handa <handa@m17n.org>
5711
5712 * font.c (Ffont_spec): Don't use font_parse_family_registry for
5713 family name.
5714 (Ffont_put): Likewise.
5715
5716 * fontset.c (fontset_find_font): Call font_open_for_lface with the
5717 current font-spec.
5718
5719 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
5720 is unspecified.
5721
5722 * xfaces.c (realize_x_face): If the font-related face attributes
5723 are the same as those of default face, realize a new fontset from
5724 default->fontset.
5725 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
5726
57272008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
5728
5729 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
5730 (move_it_in_display_line): New wrapper.
5731
5732 * window.c (window_scroll_pixel_based_preserve_x)
5733 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
5734 (window_scroll_pixel_based, window_scroll_line_based):
5735 Use them to preserve column positions.
5736 (syms_of_window): Initialize them.
5737
5738 * indent.c (Fvertical_motion): Extend first arg to allow passing an
5739 (HPOS . VPOS) pair.
5740
5741 * dispextern.h (move_it_in_display_line): Declare.
5742
57432008-06-05 Juanma Barranquero <lekktu@gmail.com>
5744
5745 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
5746 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
5747 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
5748
57492008-06-04 Juanma Barranquero <lekktu@gmail.com>
5750
5751 * window.c (Fset_window_parameter): Doc fix.
5752 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
5753
57542008-06-04 Joakim Verona <joakim@verona.se>
5755
5756 * window.h (struct window): Add new member window_parameters.
5757
5758 * window.c (Fwindow_parameters, Fwindow_parameter)
5759 (Fset_window_parameter): New defuns.
5760 (syms_of_window): Defsubr the new defuns.
5761 (make_window): Initialize window_parameters to nil.
5762
57632008-06-04 John Paul Wallington <jpw@pobox.com>
5764
5765 * eval.c (Fdefmacro): Doc fix.
5766
57672008-06-04 Kenichi Handa <handa@m17n.org>
5768
5769 * coding.c (detect_coding): Fix handling of coding->head_ascii.
5770 Be sure to call setup_coding_system when we find a proper coding system.
5771 (detect_coding_system): Fix handling of coding->head_ascii.
5772
57732008-06-03 Andreas Schwab <schwab@suse.de>
5774
5775 * font.c (font_prop_validate_spacing): Fix last change.
5776
57772008-06-03 Kenichi Handa <handa@m17n.org>
5778
5779 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
5780 (font_parse_fcname): Fix handling of unknown key.
5781
5782 * xfont.c (xfont_list): Try an alias.
5783
5784 * charset.c (char_charset): Return NULL if the arg charset_list is
5785 specified and C doesn't belong to any of them.
5786
57872008-06-02 Chip Coldwell <coldwell@redhat.com>
5788
5789 * font.c (font_pixel_size): Don't take cdr of an integer.
5790
57912008-06-02 Jim Meyering <meyering@redhat.com>
5792
5793 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
5794 * alloc.c (xfree): Return right away for a NULL arg.
5795 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
5796 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
5797 * mac.c (create_apple_event_from_event_ref): Likewise.
5798 (create_apple_event_from_drag_ref, cfstring_create_normalized):
5799 Likewise.
5800 * doprnt.c (doprnt1): Likewise.
5801 * frame.c (frame): Likewise.
5802 * keyboard.c (wipe_kboard): Likewise.
5803 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
5804 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
5805 * term.c (tty_default_color_capabilities, maybe_fatal)
5806 (delete_tty): Likewise.
5807 * w16select.c (string): Likewise.
5808 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
5809 * w32bdf.c (w32_free_bdf_font): Likewise.
5810 * w32fns.c (w32_unload_font): Likewise.
5811 * w32font.c (w32font_close): Likewise.
5812 * window.c (size_window): Likewise.
5813 * xselect.c (receive_incremental_selection): Likewise.
5814 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
5815 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
5816 * w32.c (stat): Likewise.
5817
5818 Remove useless if-before-free tests.
5819 * editfns.c (Fset_time_zone_rule): Likewise.
5820 * lread.c (nosuffix): Likewise.
5821 * ralloc.c (get_bloc): Likewise.
5822 * regex.c (reg_free): Likewise.
5823 * xftfont.c (xftfont_open, xftfont_close): Likewise.
5824 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
5825 * xsmfns.c (smc_save_yourself_CB): Likewise.
5826
58272008-06-02 Kenichi Handa <handa@m17n.org>
5828
5829 * font.c (font_find_for_lface): Handle float font size.
5830 (font_open_for_lface): Likewise.
5831
5832 * xfaces.c (x_supports_face_attributes_p): Check face->font before
5833 comparing the properties.
5834
58352008-06-01 Jason Rumney <jasonr@gnu.org>
5836
5837 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
5838 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
5839 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
5840 Don't add empty script list.
5841 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
5842
58432008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
5844
5845 * Makefile.in (dot, dotdot): Remove, update users.
5846 ".." has been used elsewhere in the file for a long time.
5847 (LIBXT_STATIC): Remove conditional based on unused variable.
5848
58492008-06-01 Miles Bader <miles@gnu.org>
5850
5851 * xfaces.c (Vface_remapping_alist): New variable.
5852 (syms_of_xfaces): Initialize it.
5853 (enum named_merge_point_kind): New type.
5854 (struct named_merge_point): Add `named_merge_point_kind' field.
5855 (push_named_merge_point): Make cycle detection respect different
5856 named-merge-point kinds.
5857 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
5858 Remove face-name alias resolution.
5859 (lface_from_face_name): New definition using
5860 `lface_from_face_name_no_resolve'.
5861 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
5862 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
5863 (get_lface_attributes): New definition that layers face-remapping on
5864 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
5865 (lookup_basic_face): New function.
5866 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
5867 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
5868 `get_lface_attributes'.
5869 (face_at_buffer_position): Use `lookup_basic_face' to lookup
5870 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
5871 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
5872
5873 * xdisp.c (init_iterator): Pass base_face_id through
5874 `lookup_basic_face' when we actually use it as a face-id.
5875 (handle_single_display_prop): Use `lookup_basic_face' to lookup
5876 DEFAULT_FACE_ID.
5877
5878 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
5879 lookup the initial face-id.
5880
5881 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
5882
58832008-06-01 Juanma Barranquero <lekktu@gmail.com>
5884
5885 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
5886 (Fremove_text_properties): Fix typos in docstrings.
5887
58882008-05-31 Kenichi Handa <handa@m17n.org>
5889
5890 * font.c (font_list_entities): Fix the car part of data to be
5891 stored in the cache.
5892
5893 * ftfont.c (ftfont_font_format): Don't use strcasestr.
5894
58952008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5896
5897 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
5898 Add a `test' argument so another predicate than `equal' can be used.
5899 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
5900 (map_char_table): Remove unused vars `c' and `i'.
5901 * lisp.h (Foptimize_char_table): Adjust declaration.
5902 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
5903
59042008-05-30 Kenichi Handa <handa@m17n.org>
5905
5906 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
5907 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
5908 defined.
5909
59102008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
5911
5912 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
5913 (Fmake_variable_frame_local): Disallow mixing buffer-local and
5914 frame-local settings for the same variable.
5915
59162008-05-30 Kenichi Handa <handa@m17n.org>
5917
5918 * fontset.c (Ffont_info): Move to font.c.
5919 (syms_of_fontset): Delete defsubr of Sfont_info.
5920
5921 * font.c (font_style_to_value, font_score): Delete casting of the
5922 args to xstcasecmp.
5923 (register_font_driver): Increment num_font_drivers only when
5924 registering the driver globally.
5925 (Ffont_info): Move from fontset.c. Handle a font object too.
5926 (syms_of_font): Defsubr Sfont_info.
5927
59282008-05-29 Kenichi Handa <handa@m17n.org>
5929
5930 * coding.h (enum define_coding_utf8_arg_index): New enum.
5931 (enum coding_attr_index): Change coding_attr_utf_16_bom to
5932 coding_attr_utf_bom.
5933 (enum utf_bom_type): Rename from utf_16_bom_type.
5934 (struct utf_16_spec): Adjust for the above change.
5935 (struct coding_system): Add utf_8_bom in `spec' union.
5936
5937 * coding.c (CODING_UTF_8_BOM): New macro.
5938 (enum coding_category): Delete coding_category_utf_8, add
5939 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
5940 coding_category_utf_8_sig.
5941 (CATEGORY_MASK_UTF_8): Delete it.
5942 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
5943 (CATEGORY_MASK_UTF_8_SIG): New macros.
5944 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
5945 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
5946 CATEGORY_MASK_UTF_8_SIG.
5947 (CATEGORY_MASK_UTF_8): New macro.
5948 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
5949 (detect_coding_utf_8): Check BOM.
5950 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
5951 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
5952 (encode_coding_utf_16): Likewise.
5953 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
5954 (detect_coding, detect_coding_system): Handle utf-8-auto.
5955 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
5956 (syms_of_coding): Fix setting up of Vcoding_category_table.
5957
59582008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
5959
5960 * process.c (Faccept_process_output): If `millisec' is non-nil,
5961 `seconds' default to 0.
5962 (wait_reading_process_output): Also return non-nil if we read output
5963 from a non-running process.
5964
59652008-05-29 Jason Rumney <jasonr@gnu.org>
5966
5967 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
5968 `raster' specified.
5969 (add_font_entity_to_list): Allow non-opentype truetype fonts back
5970 in the uniscribe backend, but disallow any font that has no
5971 unicode subrange support.
5972
59732008-05-29 Juanma Barranquero <lekktu@gmail.com>
5974
5975 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
5976 Fix typos in docstrings.
5977
59782008-05-29 Kenichi Handa <handa@m17n.org>
5979
5980 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
5981 (Fx_family_fonts): Set frame correctly.
5982
59832008-05-28 Jason Rumney <jasonr@gnu.org>
5984
5985 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
5986
59872008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
5988
5989 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
5990 calling build_annotations.
5991
59922008-05-28 Juanma Barranquero <lekktu@gmail.com>
5993
5994 * coding.c (Fdecode_coding_region, Fencode_coding_region)
5995 (Fencode_coding_string):
5996 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
5997 <latin-extra-code-table>: Fix typos in docstrings.
5998 (syms_of_coding) <coding-system-alist>: Doc fix.
5999 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
6000
60012008-05-28 Kenichi Handa <handa@m17n.org>
6002
6003 * fontset.c (Ffont_info): Don't call font_close_object.
6004
6005 * font.c (font_parse_family_registry): Use Ffont_put to validate
6006 foundry and family.
6007 (font_delete_unmatched): Don't check spacing.
6008 (font_list_entities): Add spacing to the spec to list fonts.
6009
6010 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
6011 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
6012
6013 * coding.c (encode_coding_raw_text): Fix previous change.
6014 (encode_coding_object): When the dst_object is a buffer and is
6015 different from src_object, move gap to PT.
6016
60172008-05-27 Chong Yidong <cyd@stupidchicken.com>
6018
6019 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
6020
60212008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6022
6023 * coding.c (encode_coding_raw_text): Set coding->produced_char for
6024 all branches. Compute it differently.
6025
6026 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
6027
60282008-05-27 Juanma Barranquero <lekktu@gmail.com>
6029
6030 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
6031 into "else if () ... else ...".
6032
60332008-05-27 Jason Rumney <jasonr@gnu.org>
6034
6035 * w32font.c (w32font_open_internal): Determine if glyph indices
6036 are likely to work here.
6037
60382008-05-27 Chong Yidong <cyd@stupidchicken.com>
6039
6040 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
6041 draw overlap glyphs with appropriate highlighting.
6042
60432008-05-27 Kenichi Handa <handa@m17n.org>
6044
6045 * xfont.c (xfont_open): Fix calculation of font->average_width.
6046
60472008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
6048
6049 * casefiddle.c (casify_object): Try to guess better whether the
6050 argument is a byte or a char.
6051
60522008-05-26 Andreas Schwab <schwab@suse.de>
6053
6054 * xselect.c (x_reply_selection_request): Properly handle format == 32.
6055 Always send multiples of format size.
6056
6057 * xterm.c (x_set_frame_alpha): Fix type mismatch.
6058
60592008-05-26 Jason Rumney <jasonr@gnu.org>
6060
6061 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
6062 (compute_metrics): Don't set failure if we just cleared the cache.
6063 (w32_weight_table): Remove unused variable.
6064 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
6065 backwards compatibility.
6066
60672008-05-25 Kenichi Handa <handa@m17n.org>
6068
6069 * w32term.c (x_draw_glyph_string):
6070 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
6071
6072 * xfaces.c: Delete unused function prototypes.
6073 (xstrlwr, font_frame): Delete them.
6074 (clear_face_cache): Delete unused variable.
6075
6076 * xftfont.c (xftfont_open): Delete unused variable.
6077 If underline_thickness is not 1, adjust underline_position.
6078
6079 * ftxfont.c (ftxfont_open): Delete unused variable.
6080
6081 * fontset.c (face_for_char): Optimize for the case of no charset
6082 property.
6083
6084 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
6085 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
6086 (otf_open, font_otf_capability, generate_otf_features)
6087 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
6088 Comment out by surrounding "#if 0" and "#endif" for the moment.
6089 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
6090 (syms_of_font): Codes for accessing above commented out.
6091
60922008-05-24 Eli Zaretskii <eliz@gnu.org>
6093
6094 * w32proc.c: Include dispextern.h.
6095
6096 * w32.c: Include dispextern.h.
6097
60982008-05-23 Juanma Barranquero <lekktu@gmail.com>
6099
6100 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
6101 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
6102 Fix typos in docstrings.
6103
61042008-05-23 Jason Rumney <jasonr@gnu.org>
6105
6106 * xsmfns.c: Remove includes that are already included by config.h.
6107
61082008-05-23 Kenichi Handa <handa@m17n.org>
6109
6110 * charset.c (Qemacs, charset_emacs): New variables.
6111 (char_charset): Fix for non-Unicode characters.
6112 (syms_of_charset): Define charset_emacs.
6113
6114 * w32term.c (x_draw_glyph_string): Be sure to update
6115 s->underline_thickness and s->underline_position. Be sure to draw
6116 underline within the current line area.
6117
6118 * xterm.c (x_draw_glyph_string): Be sure to update
6119 s->underline_thickness and s->underline_position. Be sure to draw
6120 underline within the current line area.
6121
6122 * fontset.c: Delete unused variables and add casting for char *
6123 throughout the file.
6124 (fontset_font): Try the fallback fonts of the current fontset
6125 before consulting the default fontset.
6126
6127 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
6128
6129 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
6130
61312008-05-22 Jason Rumney <jasonr@gnu.org>
6132
6133 * font.c: Don't include strings.h.
6134
6135 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
6136
6137 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
6138 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
6139 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
6140 to call xstrcasecmp.
6141
6142 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
6143
6144 * fontset.c (fs_query_fontset): Use xstrcasecmp.
6145
6146 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
6147
6148 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
6149
61502008-05-22 Kenichi Handa <handa@m17n.org>
6151
6152 * puresize.h (BASE_PURESIZE): Increase to 1220000.
6153
6154 * font.c (font_prop_validate_style): Adjust for the format
6155 change of font_style_table.
6156
6157 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
6158 two args.
6159
6160 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
6161 two args.
6162
61632008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
6164
6165 * minibuf.c (keys_of_minibuf): Delete.
6166 * lisp.h (keys_of_minibuf): Delete.
6167 * emacs.c (main): Don't call keys_of_minibuf.
6168
61692008-05-22 Kenichi Handa <handa@m17n.org>
6170
6171 * ftfont.c (ftfont_resolve_generic_family): Rename from
6172 ftfont_list_generic_family. Return a single family for each
6173 generic family.
6174 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
6175 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
6176 Call font_add_log.
6177 (ftfont_match): Call font_add_log.
6178
6179 * font.h (Ffont_xlfd_name): EXFUN adjusted.
6180 (FONT_DEBUG): Define it.
6181 (font_add_log): Extern it.
6182 (font_assert): Rename from xassert.
6183
6184 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
6185 (xfont_list_family): Call font_add_log.
6186 (xfont_match): Likewise.
6187 (memq_no_quit): Delete.
6188
6189 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
6190 call of Ffont_xlfd_name.
6191
6192 * xfaces.c (struct table_entry, slant_table, weight_table)
6193 (swidth_table): Move to font.c.
6194
6195 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
6196 xassert are changed to font_assert. Delete many unused variables.
6197 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
6198 New variables.
6199 (struct table_entry): Move from xfaces.c and modified.
6200 (weight_table, slant_table, width_table): Move from xfaces.c and
6201 contents adjusted for the change of struct table_entry.
6202 (font_style_to_value, font_style_symbolic): Adjust for the
6203 format change of font_style_table.
6204 (font_parse_family_registry): Don't overwrite existing foundry and
6205 family of font_spec.
6206 (font_score): Fix calculation of diff for sizes.
6207 (font_sort_entites): Call font_add_log.
6208 (font_delete_unmatched): Return a newly created list.
6209 (font_list_entities): Fix previous change. Call font_add_log.
6210 (font_matching_entity, font_open_entity, font_close_entity):
6211 Call font_add_log.
6212 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
6213 (Finternal_set_font_style_table): Delete.
6214 (BUILD_STYLE_TABLE): New macro.
6215 (build_style_table): New function.
6216 (Vfont_log, font_log_env_checked): New variables.
6217 (font_add_log): New function.
6218 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
6219 Declare Lisp variables "font-weight-table", "font-slant-table",
6220 "font-width-table", and "font-log". Initialize font_style_table.
6221
62222008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
6223
6224 * xterm.c (x_set_frame_alpha): Move declarations before statements.
6225
62262008-05-21 Seiji Zenitani <zenitani@mac.com>
6227 Ryo Yoshitake <ryo@shiftmode.net>
6228
6229 * frame.c (Qalpha): Add a new frame parameter `alpha'.
6230 (Vframe_alpha_lower_limit): New variable.
6231 (x_set_alpha): New function.
6232
6233 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
6234
6235 * xfns.c (x-create-frame, Qalpha):
6236 Initialize the frame parameter `alpha'.
6237 * xterm.c (OPAQUE, OPACITY): New.
6238 (x_set_frame_alpha): New function.
6239 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
6240
6241 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
6242 * w32fns.c (w32_frame_parm_handlers): Likewise.
6243
62442008-05-20 Jason Rumney <jasonr@gnu.org>
6245
6246 * w32font.c (add_font_entity_to_list): Don't add non-opentype
6247 truetype fonts to opentype list.
6248
62492008-05-20 Juanma Barranquero <lekktu@gmail.com>
6250
6251 * fontset.c (Ffontset_info): Doc fix.
6252 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
6253 <ignore-relative-composition>: Fix typos in docstrings.
6254
6255 * font.c (syms-of-font) <font-encoding-alist>:
6256 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
6257 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
6258 (Ffont_otf_alternates): Doc fixes.
6259
62602008-05-20 Kenichi Handa <handa@m17n.org>
6261
6262 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
6263 font.h through out the file.
6264 (FONT_DRIVERS): Rename from FONTOBJ.
6265 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
6266 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
6267
6268 * emacs.c (main): Call syms_of_font unconditionally.
6269
6270 * font.h (find_font_encoding): Extern it.
6271
6272 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
6273 fontset.c.
6274 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
6275 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
6276 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
6277 only when HAVE_WINDOW_SYSTEM is defined.
6278 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
6279 when HAVE_WINDOW_SYSTEM is defined.
6280
6281 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
6282 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
6283
6284 * xfaces.c: Include font.h unconditionally.
6285 (merge_face_ref, merge_face_vectors)
6286 (Finternal_set_lisp_face_attribute): Cancel the previous change.
6287
62882008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
6289
6290 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
6291 indirect_variable.
6292 * eval.c (lisp_indirect_variable): New fun.
6293 (Fuser_variable_p): Use it.
6294
62952008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
6296
6297 * lisp.h (indirect_variable):
6298 * data.c (indirect_variable, let_shadows_buffer_binding_p):
6299 Use Lisp_Symbol pointers rather than Lisp_Object.
6300 Adjust callers.
6301 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
6302 To this end, change calling-convention.
6303
6304 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
6305 if some non-hidden buffers are selected by string&pred.
6306
63072008-05-19 Chong Yidong <cyd@stupidchicken.com>
6308
6309 * process.c (wait_reading_process_output): Always check status
6310 when in batch mode.
6311
63122008-05-19 Kenichi Handa <handa@m17n.org>
6313
6314 * font.c (font_list_entities): Fix handling of cache.
6315 (font_matching_entity): Likewise.
6316
6317 * ftfont.c (cs_iso8859_1): Delete.
6318 (ft_face_cache): New variable.
6319 (struct ftfont_info): New member fc_charset_idx.
6320 (ftfont_build_basic_charsets): Delete.
6321 (fc_charset_table): New variable.
6322 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
6323 . FC_CHARSET_IDX) as :font-entity property in the font entity.
6324 Callers changed.
6325 (ftfont_lookup_cache, ftfont_get_charset): New functions.
6326 (ftfont_spec_pattern): New argument fc_charset_idx.
6327 Check registry more rigidly. Change callers.
6328 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
6329 change of :font-entity property of the font.
6330
6331 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
6332 property of the font.
6333
63342008-05-18 Juanma Barranquero <lekktu@gmail.com>
6335
6336 * coding.c (Fcoding_system_p): Rename argument to match docstring.
6337 (Funencodable_char_position, Fcheck_coding_systems_region)
6338 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
6339 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
6340 (Ffind_operation_coding_system, Fset_coding_system_priority)
6341 (Fcoding_system_eol_type): Doc fixes.
6342
63432008-05-17 Glenn Morris <rgm@gnu.org>
6344
6345 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
6346
63472008-05-16 Eli Zaretskii <eliz@gnu.org>
6348
6349 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
6350 and st_gid.
6351
6352 * frame.c (Fdelete_frame): Don't call font_update_drivers if
6353 HAVE_WINDOW_SYSTEM is not defined.
6354
6355 * xfaces.c (merge_face_ref, merge_face_vectors)
6356 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
6357 HAVE_WINDOW_SYSTEM is defined.
6358 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
6359
63602008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
6361
6362 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
6363
63642008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6365
6366 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
6367
63682008-05-15 Kenichi Handa <handa@m17n.org>
6369
6370 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
6371 preference.
6372
63732008-05-15 Glenn Morris <rgm@gnu.org>
6374
6375 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
6376
63772008-05-15 Chong Yidong <cyd@stupidchicken.com>
6378
6379 * fns.c (init_fns): Don't initialize weak_hash_tables here.
6380 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
6381
6382 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
6383
63842008-05-15 Kenichi Handa <handa@m17n.org>
6385
6386 * ftfont.c (ftfont_list): Downcase family name to check generic
6387 families.
6388
6389 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
6390 font-spec for QCfont value.
6391
6392 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
6393 buffer. Check the return value of it.
6394
63952008-05-14 Jason Rumney <jasonr@gnu.org>
6396
6397 * w32term.c (w32_get_glyph_overhangs): Remove.
6398 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
6399
64002008-05-14 Kenichi Handa <handa@m17n.org>
6401
6402 * font.c (font_prop_validate): Make nil a valid value.
6403 (font_clear_cache): Check if the cached vector of entities is nil
6404 or not.
6405
64062008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6407
6408 * emacs.c (main_thread): Conditionalize on
6409 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6410 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
6411
6412 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
6413 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
6414 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
6415
64162008-05-14 Kenichi Handa <handa@m17n.org>
6417
6418 * coding.c (detect_coding_iso_2022): Ignore a coding category that
6419 has no corresponding coding system.
6420
64212008-05-14 Jason Rumney <jasonr@gnu.org>
6422
6423 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
6424
6425 * w32font.h (w32font_open_internal): Update declaration.
6426
6427 * w32font.c (w32font_open_internal): Change last argument from
6428 w32font_info struct to font object. Fill in font object from
6429 font_entity. Get Outline metrics if possible. Use them to
6430 calculate underline position and thickness. Use xlfd name as name
6431 property. Don't set codepage.
6432 (w32font_open): Pass font_object to w32font_open_internal. Don't
6433 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
6434 (w32font_draw): Use s->font.
6435 (clear_cached_metrics): Don't clear non-existent blocks.
6436
6437 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
6438 font was not found.
6439 (x_draw_glyph_string): Use underline position and thickness from font.
6440
6441 * w32uniscribe.c (uniscribe_open): Pass font_object to
6442 w32font_open_internal.
6443
64442008-05-14 Kenichi Handa <handa@m17n.org>
6445
6446 These changes are to delete all legacy font-handling codes, and
6447 make Emacs use only font-backends.
6448
6449 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
6450 (frame.o, image.o, print.o): Depend on $(FONTSRC).
6451
6452 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
6453
6454 * charset.h (Vcharset_non_preferred_head)
6455 (Vcurrent_iso639_language): Extern them.
6456
6457 * charset.c (Vcharset_non_preferred_head): New variable.
6458 (Vcurrent_iso639_language): New variable.
6459 (syms_of_charset): Declare it as a Lisp variable.
6460 (char_charset): Don't check non preferred charsets. As a last
6461 resort, return charset_unicode.
6462 (Fset_charset_priority): Update Vcharset_non_preferred_head.
6463
6464 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
6465 conditionals. Don't check enable_font_backend. Delete all codes
6466 used only when USE_FONT_BACKEND is not defined.
6467
6468 * dispextern.h (struct glyph_string): Change type of `font' to
6469 `struct font *'.
6470 (struct glyph_string): New member underline_position and
6471 underline_thickness.
6472 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
6473 (struct face): Change type of `font' to `struct font *'. Remove
6474 members `font_name', `font_info_id'.
6475 (per_char_metric, encode_char): Delete externs.
6476 (calc_pixel_width_or_height): Adjust the prototype.
6477
6478 * emacs.c (enable_font_backend): Delete extern.
6479 (main): Don't set enable_font_backend. Don't check the command
6480 line argument "-disable-font-backend".
6481
6482 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
6483 (enum font_property_index): New members FONT_DPI_INDEX,
6484 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
6485 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
6486 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
6487 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
6488 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
6489 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
6490 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
6491 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
6492 (struct font_spec, struct font_entity): New structs.
6493 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
6494 (struct font): Many members from old "struct font_info" moved to
6495 here. Members font and entity deleted.
6496 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
6497 the new font-related objects.
6498 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
6499 (CHECK_FONT_GET_OBJECT): Likewise.
6500 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
6501 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
6502 (struct font_driver): New members case_sensitive anc check. Type
6503 of the member list and open changed.
6504 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
6505 (font_symbolic_width, font_find_object, font_get_spec)
6506 (font_set_lface_from_name): Delete extern.
6507 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
6508
6509 * font.c: Include <strings.h>.
6510 (enable_font_backend): Delete it.
6511 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
6512 (CHECK_VALIDATE_FONT_SPEC): Delete it.
6513 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
6514 (null_string): Delete it.
6515 (null_vector): Make it static.
6516 (font_family_alist): Delete it.
6517 (Qnormal): Extern it.
6518 (QCextra, QClanguage): Delete it.
6519 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
6520 (font_make_spec, font_make_entity, font_make_object)
6521 (font_intern_prop): Renamed from intern_downcase. Don't downcase
6522 the string. Callers changed.
6523 (font_pixel_size): Adjusted for the format change of font-related
6524 objects.
6525 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
6526 (font_style_to_value, font_style_symbolic): New function.
6527 (build_font_family_alist): Delete it.
6528 (font_registry_charsets): Use Fassoc_string instead of
6529 assq_no_quit.
6530 (font_prop_validate_symbol): Don't return null_string.
6531 (font_prop_validate_style): Adjusted for the change of
6532 style-related values in a font vector.
6533 (font_property_table): Delete entries for QClanguage and
6534 QCantialias, add entries for QCavgwidth.
6535 (get_font_prop_index): Delete the 2nd argument FROM.
6536 (font_prop_validate): Arguments changed.
6537 (font_put_extra): Adjusted for the change of font-related objects.
6538 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
6539 (font_parse_fcname, font_unparse_fcname)
6540 (font_prepare_composition): Likewise.
6541 (font_parse_family_registry): Renamed from font_merge_old_spec.
6542 (otf_open): Delete the 1st arg entity.
6543 (font_otf_capability): Adjusted for the above change.
6544 (font_score): New arg alternate_families. Adjusted for the change
6545 of font-related objects.
6546 (font_sort_entites): New arg best_only.
6547 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
6548 Delete them.
6549 (font_match_p): Check alternate families.
6550 (font_find_object): Delete it.
6551 (font_check_object): New function.
6552 (font_clear_cache): Adjusted for the change of font-related objects.
6553 (font_delete_unmatched): New arg.
6554 (font_list_entities): Call font_driver->list with a spec that
6555 doesn't specify style-related properties.
6556 (font_matching_entity): Arguments changed. Caller changed.
6557 (font_open_entity): Adjusted for the change of font-related objects.
6558 (font_close_object, font_has_char, font_encode_char)
6559 (font_get_name, font_get_spec): Likewise.
6560 (font_spec_from_name, font_clear_prop, font_update_lface):
6561 New functions.
6562 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
6563 (font_prepare_for_face, font_done_for_face, font_open_by_name)
6564 (font_at): Adjusted for the change of font-related objects.
6565 (font_range): New function.
6566 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
6567 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
6568 (Fcopy_font_spec, Fmerge_font_spec): New function.
6569 (Ffont_family_list): Renamed from list-families.
6570 (Finternal_set_font_style_table): Arguments changed.
6571 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
6572 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
6573 change of font-related objects.
6574 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
6575
6576 * fontset.h (struct font_info): Delete it. Most members go to
6577 struct font.
6578 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
6579 (enum FONT_SPEC_INDEX): Delete it.
6580 (font_info, list_fonts_func, load_font_func, query_font_func)
6581 (set_frame_fontset_func, find_ccl_program_func)
6582 (get_font_repertory_func, new_fontset_from_font_name): Delete
6583 externs.
6584 (fontset_from_font_name): Extern it.
6585 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
6586 (FONT_INFO_FROM_FACE): Deleted.
6587 (face_for_font): Adjust prototype.
6588
6589 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
6590 conditionals. Don't check enable_font_backend. Delete all codes
6591 used only when USE_FONT_BACKEND is not defined.
6592 (get_font_info_func, list_font_func, load_font_func)
6593 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
6594 (get_font_repertory_func): Delete them.
6595 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
6596 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
6597 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
6598 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
6599 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
6600 (fontset_compare_rfontdef): New function.
6601 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
6602 rfont-defs by qsort. Adjusted for the change of font-group vector.
6603 (load_font_get_repertory): Deleted.
6604 (fontset_find_font): Use new macros to ref/set elements of
6605 font-def and rfont-def.
6606 (fontset_font): Fix the timing of remembering that no font for C.
6607 (free_face_fontset): Do nothing if the face has no fontset.
6608 (face_suitable_for_char_p): Use new macros to ref/set elements of
6609 rfont-def.
6610 (face_for_char): Likewise. Call face_for_char with font_object.
6611 (fs_load_font): Delete. Delete #pragma surrounding it.
6612 (fs_query_fontset): Use strcasecmp instead of strcmp.
6613 (generate_ascii_font_name): Adjusted for the format change of
6614 font-spec.
6615 (Fset_fontset_font): Likewise. Use new macros to set elements of
6616 font-def.
6617 (Fnew_fontset): Use font_unparse_xlfd to generate
6618 FONTSET_ASCII (fontset).
6619 (new_fontset_from_font_name): Deleted.
6620 (fontset_from_font): Renamed from new_fontset_from_font. Check if
6621 a fontset is already created for the font. FIx updating of
6622 Vfontset_alias_alist.
6623 (fontset_ascii_font): Deleted.
6624 (Ffont_info): Adjusted for the format change of font-spec.
6625 (Finternal_char_font): Likewise.
6626 (Ffontset_info): Likewise.
6627 (syms_of_fontset): Don't check load_font_func.
6628
6629 * fns.c (internal_equal): Handle PREV_FONT.
6630
6631 * frame.h: Delete USE_FONT_BACKEND conditional.
6632
6633 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
6634 conditionals. Don't check enable_font_backend. Delete all codes
6635 used only when USE_FONT_BACKEND is not defined.
6636 (x_set_font): Call x_new_font, not x_new_fontset2.
6637 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
6638 already set for the frame.
6639
6640 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
6641 a font-entity by font_make_entity. Use font_intern_prop instead
6642 of intern_downcase. Use FONT_SET_STYLE to set a style-related
6643 font property. If a font is scalable, set avgwidth property to 0.
6644 Set font-entity property by font_put_extra.
6645 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
6646 (ffont_driver): Adjusted for the change of struct font_driver.
6647 (ftfont_spec_pattern): New function.
6648 (ftfont_list): Return a list, not vector.
6649 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
6650 (ftfont_list_family): Don't downcase names.
6651 (ftfont_free_entity): Deleted.
6652 (ftfont_open): Return a font-object. Adjusted for the change of
6653 struct font. Get underline_thickness and underline_position from
6654 font property. Don't update dpyinfo->smallest_font_height and
6655 dpyinfo->smallest_char_width.
6656 (ftfont_close): Don't free `struct font'.
6657 (ftfont_has_char): Adjusted for the format change of font-entity.
6658 (ftfont_encode_char, ftfont_text_extents): Likewise.
6659
6660 * ftxfont.c (ftxfont_list): Return a list, not vector.
6661 (ftxfont_open): Return a font-object. Adjusted for the change of
6662 struct font. Get underline_thickness and underline_position from
6663 font property. Don't update dpyinfo->smallest_font_height and
6664 dpyinfo->smallest_char_width.
6665 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
6666 (ftxfont_draw): Adjusted for the change of struct font.
6667
6668 * image.c (image_ascent): Don't include "charset.h". Include
6669 "character.h" and "font.h".
6670
6671 * lisp.h (enum pvec_type): New member PREV_FONT.
6672 (Fassoc_string): EXFUN it.
6673
6674 * print.c: Include font.h.
6675 (print_object): Handle font-related objects.
6676
6677 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
6678 conditionals. Don't check enable_font_backend. Delete all codes
6679 used only when USE_FONT_BACKEND is not defined.
6680 (handle_auto_composed_prop): Do nothing if it->f is not on a
6681 window system. Check how many following characters can be
6682 displayed by the same font.
6683 (calc_pixel_width_or_height): Type of the 4th arg is changed to
6684 'struct font *'.
6685 (get_char_face_and_encoding): Assign the whole encoding task to
6686 the `encode-char' method of a font driver.
6687 (fill_composite_glyph_string): Adjusted for the change of `struct
6688 face' and `struct glyph_string'.
6689 (fill_glyph_string): Likewise.
6690 (get_per_char_metric): Arguments changed.
6691 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
6692 and `struct glyph_string'.
6693 (produce_stretch_glyph, calc_line_height_property)
6694 (x_produce_glyphs): Likewise.
6695
6696 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
6697 conditionals. Don't check enable_font_backend. Delete all codes
6698 used only when USE_FONT_BACKEND is not defined. Use
6699 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
6700 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
6701 (Qp): Extern them.
6702 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
6703 Deleted.
6704 (struct font_name): Deleted.
6705 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
6706 (compare_fonts_by_sort_order): New function.
6707 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
6708 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
6709 Deleted.
6710 (Fx_family_fonts): Use font_list_entities, and sort fonts by
6711 compare_fonts_by_sort_order.
6712 (Fx_font_family_list): Call Ffont_family_list.
6713 (face_numeric_value, face_numeric_weight, face_numeric_slant)
6714 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
6715 (face_symbolic_slant, face_symbolic_swidth)
6716 (split_font_name_into_vector, build_font_name_from_vector)
6717 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
6718 (font_rescale_ratio, split_font_name, build_font_name)
6719 (free_font_names, sort_fonts, x_face_list_fonts)
6720 (face_font_available_p, sorted_font_list, cmp_font_names)
6721 (font_list_1, concat_font_list, font_list, remove_duplicates):
6722 Deleted.
6723 (Fx_list_fonts): Use Ffont_list.
6724 (LFACE_AVGWIDTH): Deleted.
6725 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
6726 by FONTP.
6727 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
6728 (set_lface_from_font_name): Delete it.
6729 (set_lface_from_font): Renamed from
6730 set_lface_from_font_and_fontset. Caller changed. Don't set
6731 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
6732 for face.
6733 (merge_face_vectors): Copy font-spec if necessary.
6734 Clear properties of the font-spec if necessary.
6735 (merge_face_ref): Clear properties of the font-spec if necessary.
6736 (Finternal_set_lisp_face_attribute): Likewise.
6737 (set_font_frame_param): Use font_load_for_lface to load a
6738 font-object, and call Fmodify_frame_parameters with it.
6739 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
6740 font name by Ffont_xlfd_name.
6741 (Finternal_lisp_face_attribute_values): Don't check QCweight,
6742 QCslant, and QCwidth.
6743 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
6744 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
6745 Compare fonts by EQ.
6746 (lookup_non_ascii_face): Deleted.
6747 (face_for_font): The 2nd argument changed.
6748 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
6749 Check atomic font properties by case insensitive.
6750 (realize_non_ascii_face): Set face->overstrike correctly.
6751 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
6752 (dump_realized_face): Get font name from
6753 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
6754
6755 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
6756 conditionals. Don't check enable_font_backend. Delete all codes
6757 used only when USE_FONT_BACKEND is not defined.
6758 (xic_create_xfontset): Original code deleted and renamed from
6759 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
6760 (x_make_gc): Don't set GCFont in GCs.
6761 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
6762 opened by "fixed".
6763 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
6764 find_ccl_program_func, query_font_func, set_frame_fontset_func,
6765 get_font_repertory_func.
6766
6767 * xfont.c: Include <stdlib.h> and "ccl.h".
6768 (struct xfont_info): New structure.
6769 (xfont_query_font): Deleted.
6770 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
6771 moved from xterm.c.
6772 (xfont_driver): Adjusted for the change of struct font_driver.
6773 (compare_font_names): New function.
6774 (xfont_list_pattern): Sort font names case insensitively. Make
6775 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
6776 (xfont_list): Return a list, not vector.
6777 (xfont_match): If the font doesn't have QCname property, generate
6778 a name from the other font properties.
6779 (xfont_open): Return a font-object. Adjusted for the change of
6780 struct font. Get underline_thickness and underline_position from
6781 font property. Don't update dpyinfo->smallest_font_height and
6782 dpyinfo->smallest_char_width.
6783 (xfont_close): Don't free struct font.
6784 (xfont_prepare_face): Adjusted for the change of struct font.
6785 (xfont_done_face): Deleted.
6786 (xfont_has_char): Adjusted for the change of struct font.
6787 (xfont_encode_char, xfont_draw): Likewise.
6788 (xfont_check): New function.
6789
6790 * xftfont.c (xftfont_list): Adjusted for the change of `list'
6791 callback function.
6792 (xftfont_match): Adjusted for the format change of font-entity.
6793 (xftfont_open): Adjusted for the format change of font-entity and
6794 font-object. Adjusted for the change of struct font. Return a
6795 font-object. Don't update dpyinfo->smallest_font_height and
6796 dpyinfo->smallest_char_width.
6797 (xftfont_close): Block input while calling XftFontClose.
6798 (xftfont_prepare_face): Don't block input while calling
6799 xftfont_get_colors. Adjusted for the change of struct font.
6800 (xftfont_shape): Return value of error case fixed.
6801
6802 * xrdb.c (x_load_resources): Don't setup a fontset resource.
6803
6804 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
6805 conditionals.
6806 (FONT_WIDTH): Return (f)->max_width.
6807 (struct x_display_info): Delete member `font'.
6808 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
6809 (x_find_ccl_program, x_get_font_repertory): Delete externs.
6810 (struct x_output): Change type of `font' to `struct font *'.
6811
6812 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
6813 conditionals. Don't check enable_font_backend. Delete all codes
6814 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
6815 (x_per_char_metric, x_encode_char): Deleted.
6816 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
6817 (x_compute_glyph_string_overhangs): Adjusted for the change of
6818 `struct face'.
6819 (x_draw_glyph_string_foreground)
6820 (x_draw_composite_glyph_string_foreground): Likewise.
6821 (x_draw_glyph_string): Likewise. Use font->underline_position and
6822 font->underline_thickness.
6823 (x_new_font): Renamed from x_new_fontset2.
6824 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
6825 (x_check_font): Call `check' method of a font driver.
6826 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
6827 (x_query_font, x_get_font_repertory): Deleted.
6828 (x_find_ccl_program): Renamed and moved to xfont.c.
6829 (x_redisplay_interface): Adjusted for the change of `struct
6830 redisplay_interface'.
6831
6832 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
6833 conditionals. Don't check enable_font_backend. Delete all codes
6834 used only when USE_FONT_BACKEND is not defined. Surround non-used
6835 code by "#ifdef OLD_FONT" and "endif".
6836 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
6837
6838 * w32font.h (struct w32font_info): New member.
6839 (FONT_COMPAT): New macro.
6840 (w32font_open_internal): Prototype adjusted.
6841
6842 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
6843 OLD_FONT" and "endif".
6844
6845 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
6846 conditionals. Don't check enable_font_backend. Delete all codes
6847 used only when USE_FONT_BACKEND is not defined.
6848 (w32font_open): Return a font-object. Make a font-object by
6849 font_make_object. Adjusted for the change of struct w32font_info.
6850 (w32font_close): Don't free struct font. Adjusted for the change
6851 of struct w32font_info.
6852 (w32font_encode_char, w32font_text_extents, w32font_draw):
6853 Adjusted for the change of struct w32font_info.
6854 (w32font_draw): Likewise.
6855 (w32font_list_internal): Return a list, not vector.
6856 (w32font_open_internal): Change the 4th arg to font-object.
6857 Adjusted for the change of struct w32font_info and font-object format.
6858 (add_font_name_to_list): Don't downcase names.
6859 (w32_enumfont_pattern_entity): Make a font-entity by
6860 font_make_entity. Adjusted for the format change of font-entity.
6861 Use FONT_SET_STYLE to set a style-related font property. If a
6862 font is scalable, set avgwidth property to 0. Set font-entity
6863 property by font_put_extra.
6864 (font_matches_spec): Adjusted for the format change of font-entity.
6865 (w32_weight_table, w32_decode_weight): New variables.
6866 (w32_encode_weight): New function.
6867 (fill_in_logfont): Adjusted for the format change of font-spec.
6868 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
6869 weight value.
6870 (w32font_driver): Adjusted for the change of struct font_driver.
6871
6872 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
6873 conditionals. Don't check enable_font_backend. Surround non-used
6874 code by "#ifdef OLD_FONT" and "endif".
6875 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
6876 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
6877
6878 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
6879 conditionals. Don't check enable_font_backend. Delete all codes
6880 used only when USE_FONT_BACKEND is not defined. Surround non-used
6881 code by "#ifdef OLD_FONT" and "endif".
6882
6883 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
6884 (uniscribe_open): Return value changed to font-object.
6885 Adjusted for the format change of font-object.
6886 (uniscribe_otf_capability): Adjusted for the change of struct font.
6887 (add_opentype_font_name_to_list): Don't downcase names.
6888 (uniscribe_font_driver): Adjusted for the change of struct
6889 font_driver.
6890
68912008-05-13 Chong Yidong <cyd@stupidchicken.com>
6892
6893 * dispnew.c (update_frame_1): Check if tty output is still valid
6894 before flushing it.
6895
68962008-05-13 Jan Djärv <jan.h.d@swipnet.se>
6897
6898 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
6899 to Gtk+ menus.
6900
69012008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
6902
6903 * dired.c (file_name_completion): Tweak the code so as to always do it
6904 in a single pass. Tighten the scope of some variables.
6905
6906 * dired.c (Qdefault_directory): New var.
6907 (file_name_completion): Use it instead of Fexpand_file_name.
6908 (syms_of_dired): Initialize it.
6909
69102008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
6911
6912 * fileio.c (double_dollars): Remove dead code.
6913
69142008-05-10 Eli Zaretskii <eliz@gnu.org>
6915
6916 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
6917 Mention w32-get-true-file-attributes in doc string.
6918
6919 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
6920
69212008-05-09 Glenn Morris <rgm@gnu.org>
6922
6923 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
6924 2008-04-23.
6925
69262008-05-09 Eli Zaretskii <eliz@gnu.org>
6927
6928 Support for reporting owner and group of each file on MS-Windows:
6929 * dired.c (stat_uname, stat_gname): New functions, with special
6930 implementation for w32.
6931 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
6932
6933 * w32.c: Rename the_passwd_* to dflt_passwd_*.
6934 (dflt_group_name): New static variable.
6935 (dflt_group): Rename from the_group.
6936 (init_user_info): Init dflt_group fields. Get user's group name
6937 from LookupAccountSid.
6938 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
6939 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
6940 New initialization states.
6941 (globals_of_w32): Initialize them to zero. Initialize the default
6942 group name to "None".
6943 (GetFileSecurity_Name): New global var, the name of the function
6944 to call for GetFileSecurity.
6945 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
6946 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
6947 (get_file_security, get_security_descriptor_owner)
6948 (get_security_descriptor_group, is_valid_sid)
6949 (get_file_security_desc, get_rid, get_name_and_id)
6950 (get_file_owner_and_group): New functions.
6951 (stat): Use get_file_security_desc and get_file_owner_and_group to
6952 report the owner and primary group of each file. Don't ignore the
6953 high 32 bits of file's size, now that st_size is 64-bit wide.
6954 Fix test when to get true file attributes.
6955 (init_user_info): Use get_rid instead of equivalent inline code.
6956 (fstat): Don't ignore the high 32 bits of file's size.
6957
69582008-05-09 Chong Yidong <cyd@stupidchicken.com>
6959
6960 * image.c (png_load): Use correct bit-depth for setting background
6961 color.
6962
69632008-05-08 Eli Zaretskii <eliz@gnu.org>
6964
6965 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
6966 epa-hook.elc.
6967
69682008-05-08 Juanma Barranquero <lekktu@gmail.com>
6969
6970 * font.c (Ffont_match_p): Don't use `iff' in docstring.
6971
69722008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
6973
6974 * macfns.c (Fx_create_frame): Make a copy of frame parameters
6975 because the original parameters are in pure storage now.
6976 (mac_window): Remove unused params. Update callers.
6977
69782008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
6979
6980 * lread.c (substitute_object_recurse): Use lower-level primitives.
6981 Don't signal errors when traversing sub-char-tables.
6982 Don't loop over all the possible characters when traversing char-tables.
6983
6984 * print.c (print_preprocess): Add sub-char-tables to the print-table,
6985 just like we do in print.c.
6986
69872008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
6988
6989 * minibuf.c (Ftry_completion): Remove code left over from when we used
6990 scmp instead of Fcompare_strings.
6991
69922008-05-04 Juanma Barranquero <lekktu@gmail.com>
6993
6994 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
6995
69962008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6997
6998 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
6999 Create bitmap context in native byte order.
7000
7001 * macterm.c (XDrawLine)
7002 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
7003 context in native byte order.
7004
70052008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7006
7007 * config.in: Regenerate.
7008
7009 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
7010 New definitions for Image I/O support.
7011 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
7012 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
7013 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7014 (mac_data_provider_release_data, image_load_image_io)
7015 [USE_MAC_IMAGE_IO]: New functions.
7016 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
7017 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
7018 (init_image_func_pointer) [MAC_OSX]: Remove function.
7019 (image_load_quartz2d) [MAC_OSX]: Check availability of
7020 CGImageCreateWithPNGDataProvider at compile time.
7021 Use lowercase `false' for boolean constant.
7022 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
7023 Use image_load_image_io.
7024 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
7025 Don't check MyCGImageCreateWithPNGDataProvider.
7026 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
7027 Don't call init_image_func_pointer.
7028
7029 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
7030
7031 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
7032 Make variable non-static.
7033 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
7034 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
7035
7036 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
7037 (RED_FROM_ULONG): Mask off higher bits.
7038 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
7039
7040 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
7041 Include AvailabilityMacros.h.
7042 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
7043 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
7044
70452008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
7046
7047 * chartab.c (Fset_char_table_range): If range is t, really set all
7048 chars to that value.
7049
70502008-05-03 Eli Zaretskii <eliz@gnu.org>
7051
7052 * dired.c (Ffile_attributes): Don't allow the device number become
7053 negative.
7054
70552008-05-02 Daiki Ueno <ueno@unixuser.org>
7056
7057 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
7058
70592008-05-02 Juri Linkov <juri@jurta.org>
7060
7061 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
7062 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
7063 DEFAULT argument as a list of default values in docstrings.
7064
70652008-05-01 Chong Yidong <cyd@stupidchicken.com>
7066
7067 * puresize.h (BASE_PURESIZE): Increase to 1210000.
7068
70692008-05-01 Martin Rudalics <rudalics@gmx.at>
7070
7071 * dispnew.c (change_frame_size_1): Preserve small windows when
7072 shrinking frames by calling set_window_height|width with third
7073 arg 2.
7074
7075 * window.h (struct window): Replace field too_small_ok by field
7076 resize_proportionally.
7077
7078 * window.c (make_window): Initialize resize_proportionally.
7079 (enlarge_window): Temporarily set resize_proportionally to make
7080 sure that shrink_windows does scale the window proportionally.
7081 (shrink_windows): When window has resize_proportionally set try
7082 to shrink it proportionally by stealing from other windows.
7083 (struct saved_window, Fset_window_configuration)
7084 (compare_window_configurations): Handle resize_proportionally.
7085 (WINDOW_TOTAL_SIZE): New macro.
7086 (window_min_size, shrink_windows, size_window): Use it.
7087 (check_min_window_sizes): Remove. Invalid values of
7088 window-min-height|width are handled by window_min_size_2 now.
7089 (size_window, Fsplit_window, enlarge_window)
7090 (adjust_window_trailing_edge, grow_mini_window): Don't call
7091 check_min_window_sizes.
7092 (window_min_size_2, window_min_size_1, window_min_size):
7093 New argument safe_p for retrieving "safe" minimum sizes.
7094 (Fdisplay_buffer, Fsplit_window, enlarge_window)
7095 (adjust_window_trailing_edge, grow_mini_window):
7096 Adjust arguments of window_min_size... functions.
7097 (shrink_windows): Argument min_size removed. New argument
7098 safe_p allows shrinking windows to their safe minimum sizes.
7099 Calculate minimum size and decide whether a window shall be
7100 deleted for each window individually.
7101 (size_window): When nodelete_p equals 2, tell shrink_windows to
7102 delete windows only if their new minimum size is no more safe.
7103 (shrink_window_lowest_first): Call window_min_size_1 to make
7104 sure to preserve modeline of bottom-most window when resizing
7105 the minibuffer.
7106 (Fset_window_configuration, Fcurrent_window_configuration)
7107 (compare_window_configurations): Do not handle
7108 window-min-height|width any more.
7109 (syms_of_window): Clarify window-min-height|width doc-strings.
7110
71112008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
7112
7113 * dired.c (file_name_completion): Fix up the encoding/decoding issue
7114 some more. Copy some of the code from Ftry_completions.
7115 Remove special case code that dates back to initial revision when the
7116 slash was only added when necessary and that can't trigger nowadays.
7117
71182008-04-27 Kenichi Handa <handa@m17n.org>
7119
7120 * font.c (font_prop_validate): Signal `error' instead of `font'.
7121
71222008-04-29 Jason Rumney <jasonr@gnu.org>
7123
7124 * w32fns.c (Fw32_battery_status): New defun.
7125 (syms_of_w32fns): Defsubr it.
7126
71272008-04-28 Andreas Schwab <schwab@suse.de>
7128
7129 * dired.c (file_name_completion): Fix another mixing of encoded
7130 and decoded names.
7131
71322008-04-28 Juanma Barranquero <lekktu@gmail.com>
7133
7134 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
7135
71362008-04-27 Juanma Barranquero <lekktu@gmail.com>
7137
7138 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
7139
71402008-04-27 Andreas Schwab <schwab@suse.de>
7141
7142 * dired.c (file_name_completion): Fix inappropriate mixing of
7143 encoded and decoded names.
7144
7145 * xterm.c (XTread_socket): Fix use of uninitialized variable.
7146
7147 * puresize.h (BASE_PURESIZE): Increase to 1200000.
7148
71492008-04-26 Eli Zaretskii <eliz@gnu.org>
7150
7151 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
7152 2008-03-31, it's not needed anymore with `struct stat' definition
7153 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
7154 for the same reasons.
7155
71562008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
7157
7158 * m/sparc.h: Additional redefinitions for GNU/Linux.
7159
71602008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7161
7162 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
7163 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
7164 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
7165 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
7166 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7167 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
7168 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7169 Likewise.
7170
7171 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
7172 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
7173 (mac_ax_number_of_characters): Add externs.
7174 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
7175 [USE_MAC_TSM]: Likewise.
7176 (mac_handle_text_input_event) [MAC_OSX]:
7177 Handle kEventTextInputOffsetToPos for no active input area case.
7178 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7179 (mac_handle_document_access_event)
7180 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
7181 (install_application_handler) [MAC_OSX]: Register handlers for
7182 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
7183 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
7184 Register mac_handle_document_access_event.
7185
7186 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
7187 Make functions non-static.
7188
71892008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
7190
7191 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
7192 (read_file_name_completion_ignore_case, insert_default_directory)
7193 (Qdefault_directory): Move to minibuffer.el.
7194 (Fread_file_name): Call the new `read-file-name' instead.
7195
71962008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7197
7198 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
7199 Make function non-static.
7200 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
7201 Remove function.
7202 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7203 Move to mactoolbox.c.
7204 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
7205
7206 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
7207 (mac_rect_make): New macro.
7208
7209 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
7210 instead of float.
7211 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7212 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
7213 (XSetBackground) [USE_CG_DRAWING]: Likewise.
7214 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
7215 CGRectMake.
7216 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
7217 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
7218 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
7219 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7220 instead of WindowRef in argument type.
7221 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
7222 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
7223 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
7224 instead of DISPLAY. All uses changed.
7225 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
7226 (x_calc_absolute_position): Simplify so as not to use
7227 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
7228
7229 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
7230 instead of WindowRef in argument type.
7231 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
7232 [TARGET_API_MAC_CARBON]: Remove externs.
7233 (create_apple_event, mac_event_parameters_to_lisp)
7234 [TARGET_API_MAC_CARBON]: Add externs.
7235
7236 * mactoolbox.c (Vmac_ts_script_language_on_focus)
7237 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
7238 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
7239 is clicked.
7240 (x_activate_menubar): Remove extern for saved_menu_event_location.
7241 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
7242 Move from mac.c.
7243
72442008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7245
7246 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
7247 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
7248
72492008-04-23 Jason Rumney <jasonr@gnu.org>
7250
7251 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
7252 attributes only for local files.
7253
7254 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
7255 default to Qlocal.
7256
72572008-04-22 Juri Linkov <juri@jurta.org>
7258
7259 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
7260 read-buffer-to-switch instead of using the letter "B".
7261
72622008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
7263
7264 * fileio.c (Qdefault_directory): New variable.
7265 (Fread_file_name): Use it to pass `dir' to the completion functions.
7266
72672008-04-20 Chong Yidong <cyd@stupidchicken.com>
7268
7269 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
7270
72712008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
7272
7273 * keyboard.c (Vpre_help_message): Remove.
7274 (show_help_echo): Remove default C code.
7275
7276 * dired.c (directory_files_internal, file_name_completion):
7277 Only call ENCODE_FILE if the string is indeed decoded.
7278
72792008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7280
7281 * Makefile.in (TOOLKIT_DEFINES): Remove.
7282 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
7283
72842008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7285
7286 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
7287 (mactoolbox.o): New target.
7288
7289 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
7290 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
7291
7292 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
7293 Use mac_set_frame_window_background instead of XSetWindowBackground.
7294 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
7295 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
7296 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
7297 instead of SetWindowTitleWithCFString.
7298 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
7299 Move function to mactoolbox.c.
7300 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
7301 Use mac_set_window_modified instead of SetWindowModified.
7302 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
7303 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
7304 (Fx_focus_frame): Use mac_front_non_floating_window instead of
7305 FrontNonFloatingWindow. Use mac_activate_window instead of
7306 ActivateWindow. Use mac_active_non_floating_window instead of
7307 ActiveNonFloatingWindow.
7308 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
7309 Use mac_show_hourglass and mac_hide_hourglass.
7310 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
7311 instead of GetGlobalMouse.
7312 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
7313 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
7314 Use mac_bring_window_to_front instead of BringToFront.
7315 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
7316 mactoolbox.c.
7317 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
7318 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
7319 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
7320 mactoolbox.c.
7321
7322 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
7323 (XtPointer): Move typedef from macmenu.c.
7324 (enum button_type): Move enum from macmenu.c.
7325 (widget_value): Move typedef from macmenu.c.
7326 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
7327 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7328 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7329 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7330 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7331 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7332 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7333 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
7334 (Selection): Move typedef from macselect.c.
7335 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
7336 macterm.c.
7337 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
7338 (mac_is_window_collapsed, mac_bring_window_to_front)
7339 (mac_send_window_behind, mac_hide_window, mac_show_window)
7340 (mac_collapse_window, mac_front_non_floating_window)
7341 (mac_active_non_floating_window, mac_activate_window)
7342 (mac_move_window_structure, mac_move_window, mac_size_window)
7343 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
7344
7345 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
7346 (enum mac_menu_kind): Move enum to mactoolbox.c.
7347 (min_menu_id): Move variable to mactoolbox.c.
7348 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
7349 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
7350 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
7351 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
7352 [TARGET_API_MAC_CARBON]: Likewise.
7353 (XtPointer): Move typedef to macgui.h.
7354 (enum button_type): Move enum to macgui.h.
7355 (widget_value): Move typedef to macgui.h.
7356 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
7357 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
7358 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
7359 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
7360 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
7361 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
7362 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
7363 (popup_activated_flag): Make variable non-static.
7364 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
7365 (add_menu_item, fill_menu, dispose_menus):
7366 Move functions to mactoolbox.c.
7367 (restore_show_help_function, menu_target_item_handler)
7368 (install_menu_target_item_handler, mac_handle_dialog_event)
7369 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
7370 [TARGET_API_MAC_CARBON]: Likewise.
7371 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
7372 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7373 (find_and_call_menu_selection, name_is_separator): Make function
7374 non-static.
7375 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
7376 to mactoolbox.c.
7377 (set_frame_menubar): Don't call install_menu_quit_handler.
7378 (menu_item_selection): New variable.
7379 (mac_menu_show): Use create_and_show_popup_menu.
7380 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
7381 selection but set variable menu_item_selection. All uses changed.
7382 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
7383 Call install_menu_quit_handler. Move to mactoolbox.c.
7384
7385 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
7386 (Selection): Move typedef to macgui.h.
7387 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
7388 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
7389 Make variables non-static.
7390 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7391 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
7392 Make functions non-static.
7393 (Vmac_service_selection) [MAC_OSX]: Likewise.
7394 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
7395 (mac_valid_selection_target_p, mac_clear_selection)
7396 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7397 (mac_put_selection_value, mac_selection_has_target_p)
7398 (mac_get_selection_value, mac_get_selection_target_list)
7399 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
7400 Move functions to mactoolbox.c.
7401 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
7402 Likewise.
7403 (copy_scrap_flavor_data, mac_handle_service_event)
7404 (install_service_handler) [MAC_OSX]: Likewise.
7405 (syms_of_macselect) <Vmac_dnd_known_types>:
7406 Use mac_dnd_default_known_types.
7407
7408 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
7409 Move to mactoolbox.c.
7410 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
7411 (Fx_selection_owner_p): Add EXFUN.
7412 (install_window_handler, remove_window_handler, XSetWindowBackground):
7413 Remove externs.
7414 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
7415 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
7416 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
7417 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
7418 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
7419 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
7420 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
7421 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
7422 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
7423 (create_and_show_popup_menu, mac_get_selection_from_symbol)
7424 (mac_valid_selection_target_p, mac_clear_selection)
7425 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
7426 (mac_put_selection_value, mac_selection_has_target_p)
7427 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
7428 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
7429 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
7430 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
7431 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
7432 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
7433 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
7434 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7435 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
7436
7437 * mactoolbox.c: New file.
7438
74392008-04-18 Jason Rumney <jasonr@gnu.org>
7440
7441 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
7442
74432008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
7444
7445 * character.c (Fmultibyte_char_to_unibyte):
7446 Return latin1 chars unchanged.
7447
7448 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
7449 relocated if it points to `name'.
7450
74512008-04-17 Kenichi Handa <handa@m17n.org>
7452
7453 * data.c (Faset): Allow setting a multibyte character in an
7454 ASCII-only unibyte string.
7455
7456 * lisp.h (STRING_SET_MULTIBYTE): New macro.
7457
74582008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
7459
7460 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
7461 done in config.h.
7462
74632008-04-16 Juanma Barranquero <lekktu@gmail.com>
7464
7465 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
7466 (Fchar_direction): Add usage in the docstring.
7467
74682008-04-15 Chong Yidong <cyd@stupidchicken.com>
7469
7470 * keyboard.c (read_key_sequence): Remove always-true checks.
7471
74722008-04-14 Jason Rumney <jasonr@gnu.org>
7473
7474 * w32font.c (w32font_open_internal): Set max_bounds.descent in
7475 compatibility struct, for better underline positioning.
7476
74772008-04-13 David Hansen <david.hansen@gmx.net>
7478
7479 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
7480 string.
7481
74822008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
7483
7484 * m/hp800.h (XUINT, XSET): Remove.
7485
74862008-04-12 Juanma Barranquero <lekktu@gmail.com>
7487
7488 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
7489 previous change.
7490
74912008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
7492
7493 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
7494 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
7495
74962008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7497
7498 * keymap.h (map_keymap_canonical): Declare.
7499 * xmenu.c (single_keymap_panes): Use it.
7500
75012008-04-11 Glenn Morris <rgm@gnu.org>
7502
7503 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
7504 set the target's value to that of the alias.
7505
75062008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
7507
7508 * term.c (set_tty_color_mode): Left over typo.
7509
75102008-04-10 Michael Albinus <michael.albinus@gmx.de>
7511
7512 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
7513 only after check for file name handler functions. Signal, when
7514 native functionality is not supported.
7515 (syms_of_fileio): Declare it unconditionally.
7516
75172008-04-10 Jason Rumney <jasonr@gnu.org>
7518
7519 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
7520 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
7521
7522 * w32.c (logon_network_drive): Also logon to remote drives that
7523 are mapped to drive letters.
7524
75252008-04-10 Glenn Morris <rgm@gnu.org>
7526
7527 * xdisp.c (truncate-partial-width-windows): Doc fix.
7528
75292008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
7530
7531 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
7532 Move functions to minibuffer.el.
7533 (syms_of_fileio): Don't declare them.
7534
75352008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7536
7537 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
7538 (syms_of_minibuf): Remove its initialization.
7539
7540 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
7541
75422008-04-09 Juanma Barranquero <lekktu@gmail.com>
7543
7544 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
7545
75462008-04-09 Jason Rumney <jasonr@gnu.org>
7547
7548 * makefile.w32-in (distclean): Delete makefile too.
7549 (maintainer-clean): New target.
7550
7551 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
7552
7553 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
7554 for new font backend and composite cases.
7555
75562008-04-09 Jan Djärv <jan.h.d@swipnet.se>
7557
7558 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
7559 Most of the code moved to run_timers.
7560 (do_pending_atimers): Call run_timers.
7561 (run_timers): New function.
7562
7563 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
7564 run atimers.
7565
7566 * process.c (wait_reading_process_output): The same as above.
7567
75682008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
7569
7570 * minibuf.c (last_exact_completion): Remove variable.
7571 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
7572 (complete_and_exit_1, complete_and_exit_2)
7573 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
7574 (Fdisplay_completion_list, display_completion_list_1)
7575 (Fminibuffer_completion_help, Fself_insert_and_exit)
7576 (Fexit_minibuffer, Fminibuffer_message): Move functions to
7577 minibuffer.el.
7578 (syms_of_minibuf): Remove corresponding initializations.
7579
7580 * keyboard.c (Qdeactivate_mark): New var.
7581 (command_loop_1): Use it to call `deactivate-mark'.
7582 (syms_of_keyboard): Initialize it.
7583
7584 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
7585 to another frame.
7586 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
7587 Don't call set_tty_color_mode.
7588 (store_frame_param): Reset previous_frame rather than call
7589 set_tty_color_mode.
7590 * term.c (set_tty_color_mode): Rewrite.
7591 * dispextern.h (set_tty_color_mode): New type.
7592 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
7593
75942008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
7595
7596 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
7597 for generic chars, which do not exist any more in emacs-unicode.
7598
75992008-04-08 Michael Albinus <michael.albinus@gmx.de>
7600
7601 * coding.c (detect_coding_emacs_mule)
7602 (Ffind_operation_coding_system): Fix typo.
7603
76042008-04-08 Jason Rumney <jasonr@gnu.org>
7605
7606 * w32uniscribe.c (SNAME): Extract only symbol name.
7607
7608 * w32font.h (struct w32_metric_cache): New struct.
7609 (w32font_info): Use it.
7610 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
7611 (CACHE_BLOCKSIZE): New constants.
7612
7613 * w32font.c (Qja, Qko, Qzh): New symbols.
7614 (syms_of_w32font): Initialise them.
7615 (font_matches_spec): Use them to filter by language.
7616 (recompute_cached_metrics): Remove function.
7617 (compute_metrics, clear_cached_metrics): New functions.
7618 (w32font_encode_char): Use them to manage metric cache.
7619 (w32font_text_extents): Cache metrics for all glyphs on demand.
7620 Delay converting glyph indices to WORD until needed.
7621 (w32font_open_internal): Initialize metric cache to empty.
7622 (registry_to_w32_charset): Charset should always be a symbol.
7623 (fill_in_logfont, list_all_matching_fonts): Family should
7624 always be a symbol.
7625
76262008-04-06 Jason Rumney <jasonr@gnu.org>
7627
7628 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
7629 Give up if glyph indices not supported. Use uniscribe obtained
7630 ABC widths for individual metrics. Map glyph clusters back to
7631 characters using fClusterStart flag. Return number of glyphs
7632 produced, not chars processed.
7633 (uniscribe_shape): Map char at FROM to current glyph.
7634
76352008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7636
7637 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
7638 Use SetMenuItemHierarchicalMenu.
7639
76402008-04-05 Jason Rumney <jasonr@gnu.org>
7641
7642 * image.c (pbm_load): Allow color values up to 65535.
7643 Throw an error if max_color_idx is outside the supported range.
7644 Report an error when image size is invalid.
7645 Read two bytes at a time when raw images have max_color_idx above 255.
7646
76472008-04-05 Eli Zaretskii <eliz@gnu.org>
7648
7649 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7650 cFileName a file name that includes `?' characters, use the 8+3
7651 alias in cAlternateFileName instead.
7652
76532008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
7654
7655 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
7656 append "CCL: Quitted" when the CCL program is quitted.
7657 (setup_ccl_program): Initialize ccl->quit_silently to zero.
7658
7659 * ccl.h (struct ccl_program): New member quit_silently.
7660
76612008-04-05 Chong Yidong <cyd@stupidchicken.com>
7662
7663 * search.c (compile_pattern_1): Treat non-nil and non-string of
7664 search-spaces-regexp as nil.
7665
7666 * minibuf.c (Fassoc_string): Tweak docstring.
7667
76682008-04-05 Eli Zaretskii <eliz@gnu.org>
7669
7670 * dired.c (Ffile_attributes): Support inode numbers wider than 32
7671 bits. Remove ugly WINDOWSNT-specific kludge introduced on
7672 2008-03-14 to force inode be positive.
7673
7674 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
7675 _S_* ones, since we now use our own sys/stat.h.
7676 (stat, fstat): Don't mangle the inode number.
7677 (init_user_info): Don't restrict UID and GID to 0-60000 range.
7678
76792008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
7680
7681 * frame.h (struct frame): Give one more bit to `visible' since we use
7682 values larger than 1 to indicate obscured frames on ttys.
7683
7684 * keymap.c (Qkeymap_canonicalize): New var.
7685 (Fmap_keymap_internal): New fun.
7686 (describe_map): Use keymap-canonicalize.
7687
7688 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
7689 (Fundo_boundary): Set them.
7690 (syms_of_undo): Initialize them.
7691 (record_point): Use them instead of last_point_position*.
7692 (last_undo_buffer): Change type.
7693
76942008-04-04 Jason Rumney <jasonr@gnu.org>
7695
7696 * w32font.c (w32font_text_extents): Use font's ascent and descent.
7697 (recompute_cached_metrics): Don't set ascent and descent per char.
7698
7699 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
7700 (uniscribe_check_otf): Add GC protection before consing.
7701 Rearrange loop for counting features.
7702
77032008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
7704
7705 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
7706 buffer with byte-size of source buffer.
7707
77082008-04-03 Chong Yidong <cyd@stupidchicken.com>
7709
7710 * callint.c (Fcall_interactively): Handle temporary region even
7711 when shift-select-mode is off.
7712
77132008-04-03 Jason Rumney <jasonr@gnu.org>
7714
7715 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
7716
77172008-04-03 Kenichi Handa <handa@m17n.org>
7718
7719 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
7720 (CATEGORY_MASK_UTF_16): Likewise.
7721 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
7722 binary file.
7723 (detect_coding): Add null-byte detection for a binary file.
7724 (detect_coding_system): Likewise.
7725
77262008-04-03 Jason Rumney <jasonr@gnu.org>
7727
7728 * w32uniscribe.c: New file.
7729
7730 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
7731
7732 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
7733
7734 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
7735 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
7736 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
7737 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
7738 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
7739 (Qphonetic): New symbols.
7740 (syms_of_w32font): Initialize them.
7741 (font_supported_scripts): Use them.
7742 (w32font_list_family): List all charsets.
7743 (w32font_text_extents, recompute_cached_metrics): Fix metric
7744 calculations.
7745 (w32_enumfont_pattern_entity): Make full_type a DWORD.
7746 Give opentype fonts their own format.
7747 (font_matches_spec): New arguments backend and logfont.
7748 Handle :otf spec for uniscribe backend.
7749 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
7750 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
7751
7752 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
7753 font backend.
7754 (globals_of_w32fns): Initialize uniscribe font backend.
7755
7756 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
7757 dependencies.
7758 (w32uniscribe.$(O)): New file to build.
7759 (FONT_OBJ): Include w32uniscribe.$(O).
7760 (LIBS): Add uniscribe libraries.
7761
7762 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
7763
77642008-04-02 Chong Yidong <cyd@stupidchicken.com>
7765
7766 * callint.c (Vshift_select_mode): New var.
7767 (Finteractive): Document new ^ spec.
7768 (Fcall_interactively): Call handle-shift-selection if the ^ spec
7769 is present.
7770
7771 * keyboard.c (Vthis_command_keys_shift_translated): New var.
7772 (command_loop_1): Avoid running the direct display versions of
7773 forward-char and backward-char if shift-selection may occur.
7774 (read_key_sequence): Set Vthis_command_keys_shift_translated if
7775 shift-translation takes place.
7776
7777 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
7778 avoid clobbering by define-minor-mode.
7779
7780 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
7781 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
7782
7783 * syntax.c (Fforward_word): Add ^ interactive spec.
7784
7785 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
7786 (Fscroll_right): Add ^ interactive spec.
7787
77882008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
7789
7790 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
7791
7792 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
7793
7794 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
7795
77962008-03-31 Juri Linkov <juri@jurta.org>
7797
7798 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
7799
78002008-03-30 Jan Djärv <jan.h.d@swipnet.se>
7801
7802 * gtkutil.c (xg_set_geometry): Fix indentation.
7803 (xg_resize_outer_widget): Remove.
7804 (x_wm_size_hint_off): Fix indentation.
7805 (xg_frame_set_char_size): Call flush_and_sync after
7806 gtk_window_resize.
7807 (x_wm_set_size_hint): Pass NULL as geometry window to
7808 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
7809 Add menu bar and tool bar height to base height.
7810 (xg_update_frame_menubar, free_frame_menubar)
7811 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
7812 (update_frame_tool_bar, free_frame_tool_bar):
7813 Change xg_resize_outer_widget to xg_frame_set_char_size.
7814
78152008-03-30 Michael Albinus <michael.albinus@gmx.de>
7816
7817 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
7818 (Fdbus_call_method): New parameter TIMEOUT.
7819 (dbus-send-signal): Optimize UNGCPRO call.
7820
78212008-03-29 Juri Linkov <juri@jurta.org>
7822
7823 * window.c (Fdisplay_buffer): Move call to
7824 Vsplit_window_preferred_function out of conditions that check
7825 if window is eligible for vertical splitting.
7826 When Vsplit_window_preferred_function is non-nil, call it and use
7827 its non-nil return value as window. Otherwise, continue doing
7828 vertical splitting using Fsplit_window with arg horflag=nil.
7829 (syms_of_window) <Vsplit_window_preferred_function>: Change the
7830 default value from `split-window' to nil.
7831
78322008-03-29 Juri Linkov <juri@jurta.org>
7833
7834 * callint.c (Fcall_interactively): Revert 2008-03-16 change
7835 for interactive code letters 'b' and 'B'.
7836
78372008-03-29 Eli Zaretskii <eliz@gnu.org>
7838
7839 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
7840 multibyte string.
7841
78422008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
7843
7844 * keyboard.c (pending_funcalls): New var.
7845 (timer_check): Run it.
7846 (syms_of_keyboard): Initialize it.
7847 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
7848 (Vdelete_terminal_functions): New vars.
7849 (syms_of_terminal): Initialize them.
7850 (Fdelete_terminal): Run delete-terminal-functions.
7851 * xdisp.c (safe_eval): Rewrite.
7852 (safe_call2): New fun.
7853 * frame.c (Qdelete_frame_functions): New var.
7854 (syms_of_frame): Initialize it.
7855 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
7856 * lisp.h (safe_call2, pending_funcalls): Declare.
7857
78582008-03-28 Andreas Schwab <schwab@suse.de>
7859
7860 * indent.c (Fmove_to_column): Move declaration before statements.
7861
78622008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
7863
7864 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
7865 (struct frame): Use bit fields for boolean vars.
7866
7867 * process.c (server_accept_connection): Simplify naming.
7868 (emacs_get_tty_pgrp): Use SDATA.
7869
7870 * coding.c (decode_coding_object): Fix last change.
7871
78722008-03-27 Jason Rumney <jasonr@gnu.org>
7873
7874 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
7875
78762008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
7877
7878 * charset.c (Fdefine_charset_internal): Change the way of
7879 registering charsets in Vcharset_order_list.
7880 (syms_of_charset): Make the charset `eight-bit' supplementary.
7881
78822008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
7883
7884 * regex.c (EXTEND_BUFFER): Change order of pointer addition
7885 operations, to avoid having the difference between pointers
7886 overflow.
7887
78882008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
7889
7890 * indent.c (check_display_width): New fun.
7891 (scan_for_column): Use it.
7892
7893 * data.c (syms_of_data): Mark most-positive-fixnum and
7894 most-negative-fixnum as constants.
7895
7896 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
7897
7898 * indent.c (scan_for_column): Extract from current_column_1.
7899 Merge with the same code from Fmove_to_column.
7900 (current_column_1, Fmove_to_column): Use it.
7901
79022008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
7903
7904 * keymap.c (map_keymap_internal): New fun.
7905 (map_keymap): Use it.
7906 (Fmap_keymap_internal): New fun.
7907 (Fmap_keymap): Remove left-out test from before make_save_value.
7908
7909 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
7910
7911 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
7912 Use XCAR/XCDR.
7913
7914 * process.h (struct Lisp_Process): Remove filter_multibyte.
7915 * process.c (QCfilter_multibyte): Remove.
7916 (setup_process_coding_systems): Don't use filter_multibyte.
7917 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
7918 (read_process_output): Don't adjust multibyteness to filter_multibyte.
7919 (Fset_process_filter_multibyte): Change the coding-system to
7920 approximate the previous behavior.
7921 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
7922 coding-system.
7923
7924 * coding.c (decode_coding_object): When not decoding into a buffer,
7925 obey the coding system's preference of (uni|multi)byte.
7926
79272008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
7928
7929 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
7930 every char is changed and has a different byte-length.
7931 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
7932 Fix int -> EMACS_INT.
7933
79342008-03-23 David Hansen <david.hansen@gmx.net>
7935
7936 * dbusbind.c (xd_read_message): Remove extra copying of message
7937 strings. Check for NULL `interface' or `member'.
7938
79392008-03-22 Eli Zaretskii <eliz@gnu.org>
7940
7941 * w32.c (readdir): If FindFirstFile/FindNextFile return in
7942 cFileName a file name that includes `?' characters, use the 8+3
7943 alias in cAlternateFileName instead.
7944
79452008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
7946
7947 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
7948
79492008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7950
7951 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
7952 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
7953 work on current_buffer only instead (that was already the case
7954 for some of the code anyway).
7955 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
7956 (temp_set_point, temp_set_point_both): Use EMACS_INT.
7957 (SET_PT, SET_PT_BOTH): Adjust.
7958 * intervals.h (set_point, temp_set_point, set_point_both)
7959 (temp_set_point_both): Remove redundant declarations.
7960
79612008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
7962
7963 * fileio.c (Finsert_file_contents):
7964 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
7965 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
7966 when buffer != current_buffer anyway.
7967
79682008-03-20 Andreas Schwab <schwab@suse.de>
7969
7970 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
7971 as default.
7972
79732008-03-19 Jason Rumney <jasonr@gnu.org>
7974
7975 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
7976 (syms_of_w32fns): Initialize them.
7977 (HOURGLASS_ID): New constant.
7978 (x_window_to_frame): Don't check hourglass_window.
7979 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
7980 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
7981 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
7982 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
7983 Only change the cursor if hourglass is not active.
7984 (Fx_create_frame): Initialize frame's current_cursor.
7985 (hourglass_atimer): Remove.
7986 (hourglass_started): New function.
7987 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
7988 (show_hourglass): Adapt to w32, changing argument to frame.
7989
7990 * w32term.h (struct w32_output): Remove hourglass_window.
7991 Add current_cursor.
7992
7993 * eval.c (call_debugger, Fsignal):
7994 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
7995 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
7996 (Fexecute_extended_command, cancel_hourglass_unwind):
7997 * minibuf.c (read_minibuf):
7998 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
7999
80002008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
8001
8002 * window.c (run_funs): New fun.
8003 (run_window_configuration_change_hook): Use it to run the buffer-local
8004 and the global part of the hook.
8005
8006 * xdisp.c (format_mode_line_unwind_data): Add window argument.
8007 (unwind_format_mode_line): Restore selected window.
8008 (x_consider_frame_title, Fformat_mode_line): Set selected window.
8009
80102008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
8011
8012 * editfns.c (Fchar_equal): Check they are valid characters.
8013
8014 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
8015
80162008-03-17 Andreas Schwab <schwab@suse.de>
8017
8018 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
8019 against a charset.
8020
8021 * lisp.h (Fbuffer_list): Declare.
8022
80232008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 8024
aac0c6e3
MR
8025 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
8026 handlebox_widget is != 0.
8027
80282008-03-16 Juri Linkov <juri@jurta.org>
8029
8030 * callint.c (Fcall_interactively): For interactive code letters
8031 'b' and 'B' put the buffer list into the list of default "future"
8032 values of the minibuffer.
8033
80342008-03-16 Andreas Schwab <schwab@suse.de>
8035
8036 * keyboard.c (read_key_sequence): Fix downcasing of letters with
8037 modifiers.
8038
8039 * regex.c (re_match_2_internal): Correct matching of a charset
8040 against latin-1 characters.
8041
80422008-03-16 Kenichi Handa <handa@m17n.org>
8043
8044 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
8045 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
8046 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
8047 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
8048 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
8049 CHAR_STRING_ADVANCE.
8050 (produce_chars): Fix for the case that the source and the
8051 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
8052 instead of CHAR_STRING_ADVANCE.
8053 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
8054 STRING_CHAR_ADVANCE.
8055
80562008-03-15 Andreas Schwab <schwab@suse.de>
8057
8058 * regex.c (re_match_2_internal): Correct matching of eight bit
8059 characters in unibyte strings.
8060
80612008-03-15 Martin Rudalics <rudalics@gmx.at>
8062
8063 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
8064 at end of range when it coincides with the end of the buffer.
8065
80662008-03-14 Eli Zaretskii <eliz@gnu.org>
8067
8068 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
8069
8070 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
8071
80722008-03-14 Jason Rumney <jasonr@gnu.org>
8073
8074 * editfns.c (initial_tz): New variable.
8075 (syms_of_editfns): Initialize it.
8076 (Fset_time_zone_rule): Set it when first called.
8077 Use it when TZSTRING is nil.
8078
8079 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
8080 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
8081 (monitor_from_point_fn, get_monitor_info_fn): New globals.
8082 (globals_of_w32fns): Initialize them.
8083 (compute_tip_xy): Use them to position tooltips.
8084
80852008-03-14 Glenn Morris <rgm@gnu.org>
8086
8087 * emacs.c (main): Revert previous change.
8088 (standard_args): Revert -internal-script back to -scriptload,
8089 and remove the long-option form.
8090
80912008-03-13 Glenn Morris <rgm@gnu.org>
8092
8093 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
8094 Remove option -enable-font-backend.
8095
80962008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8097
8098 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
8099
81002008-03-11 Jan Djärv <jan.h.d@swipnet.se>
8101
8102 * xterm.c (x_connection_closed): For GTK: If this is the last
8103 terminal just exit without closing the display.
8104
81052008-03-11 Jason Rumney <jasonr@gnu.org>
8106
8107 * w32font.c (w32font_full_name): Use floor to round.
8108
f0131492 81092008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
8110
8111 * sound.c (alsa_configure): Declare vol at beginning of block.
8112
8113 * fontset.c (Ffontset_info): Remove extra semicolon.
8114
81152008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
8116
8117 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
8118 size of resulting string.
8119
81202008-03-10 Jason Rumney <jasonr@gnu.org>
8121
8122 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
8123
81242008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8125
8126 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
8127 Don't pretend as if characters with display property haven't been
8128 consumed for string-replacing-string case.
8129
81302008-03-08 Kim F. Storm <storm@cua.dk>
8131
8132 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
8133 (get_next_display_element, next_element_from_string)
8134 (next_element_from_ellipsis, next_element_from_buffer): Use it.
8135
81362008-03-08 Andreas Schwab <schwab@suse.de>
8137
8138 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
8139
81402008-03-06 Jason Rumney <jasonr@gnu.org>
8141
8142 * w32font.c (w32_registry): Take font_type argument. Use ANSI
8143 when charset not specified. Only translate ANSI to unicode when
8144 font_type is truetype.
8145 (w32font_coverage_ok): New function.
8146 (add_font_entity_to_list): Use it to filter unsuitable fonts.
8147
81482008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
8149
8150 * lread.c (Fread_char): Resolve modifiers.
8151 (Fread_char_exclusive): Likewise.
8152
8153 * character.c (char_resolve_modifier_mask): New function.
8154 (char_string): Use char_resolve_modifier_mask.
8155 (Fchar_resolve_modifiers): New function.
8156 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
8157 function.
8158
81592008-03-04 Jason Rumney <jasonr@gnu.org>
8160
8161 * makefile.w32-in: Always include w32font.c in the build.
8162 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
8163
81642008-03-04 Andreas Schwab <schwab@suse.de>
8165
8166 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
8167 (versionclean): Likewise.
8168
81692008-03-04 Juanma Barranquero <lekktu@gmail.com>
8170
8171 * .cvsignore: Add oo.
8172
81732008-03-03 Andreas Schwab <schwab@suse.de>
8174
8175 * coding.c (decode_coding_object): Inhibit gap shrinking while
8176 decoding in place.
8177
81782008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
8179
8180 * w32term.c: Remove unused include "gnu.h".
8181 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
8182
8183 * gnu.h: Rename to ...
8184 * emacs-icon.h: ... this.
8185 * xterm.c: Use emacs-icon.h instead of gnu.h.
8186 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
8187
81882008-03-03 Juanma Barranquero <lekktu@gmail.com>
8189
8190 * w32font.c: Include math.h.
8191
81922008-03-03 Jason Rumney <jasonr@gnu.org>
8193
8194 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
8195 Compute options separately.
8196 (w32font_open_internal): Set glyph_idx before caching metrics.
8197
8198 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
8199 Define if system headers don't.
8200 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
8201 (w32font_encode_char): Don't declare here.
8202
8203 * w32font.c (Quniscribe, QCformat): New symbols.
8204 (syms_of_w32font): Define them.
8205 (w32font_has_char): Indicate uncertainty.
8206 (w32font_encode_char): Encode as glyph point. Make static.
8207 (recompute_cached_metrics): New function.
8208 (w32font_open_internal): Use it. Set font to use glyph points
8209 initially. Set format based on type of font.
8210 (w32font_text_extents, w32font_draw): Optionally use glyph points.
8211 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
8212 on it. Set format based on information available here.
8213 (add_font_entity_to_list): Identify backend based on opentype_only.
8214
82152008-03-02 Andreas Schwab <schwab@suse.de>
8216
8217 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
8218
8219 * coding.c (decode_coding_big5, produce_chars):
8220 Fix typos in last change.
8221
82222008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
8223
8224 * gnu.h: New icon.
8225
82262008-03-02 Kenichi Handa <handa@m17n.org>
8227
8228 * coding.c (decode_coding_utf_8): When eol-type of CODING is
8229 `dos', don't decode '\r' if that is the last in the source.
8230 (decode_coding_utf_16, decode_coding_emacs_mule)
8231 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
8232 (decode_coding_raw_text, decode_coding_charset): Likewise.
8233 (produce_chars): Don't decode EOL here. Use EMACS_INT.
8234
82352008-03-01 Jason Rumney <jasonr@gnu.org>
8236
8237 * w32font.c (w32font_full_name): Report point size for scalable fonts.
8238
82392008-03-01 Kim F. Storm <storm@cua.dk>
8240
8241 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
8242
82432008-03-01 Jason Rumney <jasonr@gnu.org>
8244
8245 * w32font.c (w32font_full_name): New function.
8246 (w32font_open_internal): Use it.
8247
82482008-03-01 Kim F. Storm <storm@cua.dk>
8249
8250 * dispnew.c (line_draw_cost): Fix invalid glyph check.
8251
82522008-03-01 Jason Rumney <jasonr@gnu.org>
8253
8254 * font.c (font_unparse_fcname): Increase len when style is a symbol.
8255
82562008-03-01 Jan Djärv <jan.h.d@swipnet.se>
8257
8258 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
8259 xg_frame_resized when the event is for the edit widget.
8260
8261 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
8262
8263 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
8264 set_char_size.
8265 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
8266 operations on widgets here. Just set frame size if needed.
8267 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
8268 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
8269 (x_wm_set_size_hint): Set size hints on the edit widget only, not
8270 the whole frame.
8271 (xg_create_tool_bar): Move attachment of the tool bar to
8272 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
8273 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
8274
82752008-03-01 Jason Rumney <jasonr@gnu.org>
8276
8277 * w32fns.c (w32_msg_pump): Disable debug code.
8278
82792008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8280
8281 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
8282
82832008-02-29 Chong Yidong <cyd@stupidchicken.com>
8284
8285 * xdisp.c (next_overlay_string): Don't set
8286 overlay_strings_at_end_processed_p if we're currently reading from
8287 a display string.
8288
82892008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
8290
8291 * xdisp.c (get_overlay_strings_1): Fix typo.
8292
82932008-02-29 Chong Yidong <cyd@stupidchicken.com>
8294
8295 * xdisp.c (get_overlay_strings_1): Add missing argument type.
8296
82972008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
8298
8299 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
8300
8301 * xdisp.c (display_mode_element): Cancel the previous change.
8302 (decode_mode_spec): Likewise.
8303 (handle_auto_composed_prop): Don't make composition if it->string
8304 is a string.
8305
83062008-02-27 Kim F. Storm <storm@cua.dk>
8307
8308 * lisp.h (GLYPH): Change type from int to struct with separate char
8309 and face_id members.
8310 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
8311 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
8312 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
8313 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
8314 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
8315 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
8316 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
8317 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
8318 handle new Lisp glyph code encoding, either an integer or a cons.
8319
8320 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
8321 (GLYPH_ALIAS): Delete.
8322 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
8323 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
8324 (GLYPH_FROM_CHAR): Replace macro by ...
8325 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
8326
8327 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
8328 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
8329 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
8330 (GLYPH_INVALID_P): New macro.
8331 (spec_glyph_lookup_face): Update prototype.
8332
8333 * dispnew.c (line_draw_cost): Adapt to new glyph type.
8334 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
8335 new glyph code encoding.
8336 (spec_glyph_lookup_face): No return value; update passed glyph instead.
8337 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
8338
8339 * xdisp.c (get_next_display_element, next_element_from_display_vector):
8340 Adapt to new glyph type and new glyph code encoding.
8341
8342 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
8343
8344 * indent.c (current_column, current_column_1, Fmove_to_column)
8345 (compute_motion): Adapt to new glyph code encoding.
8346
8347 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
8348
83492008-02-27 Chong Yidong <cyd@stupidchicken.com>
8350
8351 * process.c (wait_reading_process_output): Check for window
8352 changes caused by timers.
8353 Suggested by Johan Bockgård.
8354
83552008-02-27 Glenn Morris <rgm@gnu.org>
8356
8357 * emacs.c (USAGE1): Add `--disable-font-backend'.
8358
83592008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
8360
8361 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
8362 is made to the buffer.
8363
83642008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
8365
8366 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
8367 (face_at_string_position):
8368 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
8369 (face_at_string_position):
8370 * xdisp.c (display_string, next_overlay_change):
8371 * buffer.h (overlays_at):
8372 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
8373 Update callers.
8374
83752008-02-26 Chong Yidong <cyd@stupidchicken.com>
8376
8377 * editfns.c (Fformat): Doc fix.
8378
83792008-02-26 Juanma Barranquero <lekktu@gmail.com>
8380
8381 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
8382 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
8383 (Ffont_otf_alternates, Fquery_font): Doc fixes.
8384
83852008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8386
8387 * buffer.c (Fbuffer_swap_text): New function.
8388 (syms_of_buffer): Defsubr it.
8389
83902008-02-25 Chong Yidong <cyd@stupidchicken.com>
8391
8392 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
8393
83942008-02-25 Jason Rumney <jasonr@gnu.org>
8395
8396 * w32font.c (w32font_draw): Draw one character at a time when padding.
8397
83982008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
8399
8400 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
8401 Handle a nil arg. Use run_window_configuration_change_hook.
8402 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
8403 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
8404 Use run_window_configuration_change_hook.
8405
84062008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8407
8408 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
8409 1-pixel width.
8410
84112008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
8412
8413 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
8414 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
8415 if the glyph in the font is zero pixel with.
8416
8417 * dispextern.h (struct glyph_string): New member padding_p.
8418
8419 * w32font.c (w32font_draw): Pay attention to s->padding_p.
8420
8421 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
8422
8423 * xfont.c (xfont_draw): Pay attention to s->padding_p.
8424
8425 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
8426
8427 * font.c: If the font driver doesn't have `shape' function, return Qnil.
8428
84292008-02-25 Jason Rumney <jasonr@gnu.org>
8430
8431 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
8432
84332008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
8434
8435 Allow fine-grained image-cache flushing.
8436 * dispextern.h (struct image): Add `dependencies' field.
8437 (clear_image_caches): Change arg to Lisp_Object.
8438 * image.c (make_image): Initialize `dependencies' field.
8439 (clear_image_cache): Change arg to allow fine-grained flushing.
8440 Perform the flush even if image-cache-eviction-delay is nil.
8441 (clear_image_caches): Change arg to Lisp_Object.
8442 (Fclear_image_cache): Expand meaning of the argument.
8443 (mark_image): Mark `dependencies' field.
8444 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
8445 (lface_hash): Use XHASH rather than XFASTINT.
8446 (face_at_buffer_position): Fix int -> EMACS_INT position.
8447 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
8448 (select_frame_for_redisplay): Remove code duplication.
8449 (redisplay_internal): Adapt arg to call to clear_image_caches.
8450
84512008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
8452
8453 * s/vms4-0.h:
8454 * s/vms4-2.h:
8455 * s/vms4-4.h:
8456 * s/vms5-5.h: Remove, unused.
8457
8458 * s/irix5-2.h:
8459 * s/irix6-0.h:
8460 * s/riscos5.h:
8461 * s/mach-bsd4-3.h:
8462 * m/mips4.h: Remove files for obsolete systems.
8463
8464 * Makefile.in:
8465 * filelock.c:
8466 * unexmips.c:
8467 * m/hp9000s300.h:
8468 * m/iris4d.h:
8469 * s/aix3-1.h:
8470 * s/hpux.h:
8471 * s/msdos.h:
8472 * s/usg5-0.h:
8473 * s/usg5-2-2.h:
8474 * s/usg5-2.h:
8475 * s/usg5-3.h: Remove references to obsolete variables.
8476
8477 * s/irix5-0.h: Remove, move all the contents ...
8478 * s/irix6-5.h: ... here. Simplify.
8479 * config.in: Regenerate.
8480
84812008-02-24 Jason Rumney <jasonr@gnu.org>
8482
8483 * w32term.c (x_draw_glyph_string_background): Clear the background
8484 manually when cleartype is in use.
8485 (x_draw_glyph_string_foreground): Draw text transparently when
8486 cleartype is in use.
8487
8488 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
8489 a font into it unless we have to.
8490
84912008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8492
8493 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
8494 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 8495
aac0c6e3
MR
84962008-02-18 Jason Rumney <jasonr@gnu.org>
8497
8498 * w32fns.c (Fw32_shell_execute): Encode parameters.
8499
85002008-02-09 Eli Zaretskii <eliz@gnu.org>
8501
8502 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
8503
85042008-02-05 Juanma Barranquero <lekktu@gmail.com>
8505
8506 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
8507
85082008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
8509
8510 * xterm.c (x_set_offset): Don't change the gravity if
8511 CHANGE_GRAVITY is -1.
8512
85132008-02-23 Chong Yidong <cyd@stupidchicken.com>
8514
8515 * fileio.c (auto_save_error_occurred): New var.
8516 (auto_save_error): Set it.
8517 (Fdo_auto_save): Don't overwrite the error message if an auto-save
8518 error occurred.
8519
85202008-02-23 Eli Zaretskii <eliz@gnu.org>
8521
8522 * w32.c (globals_of_w32): Add initializations for
8523 g_b_init_get_sid_sub_authority and
8524 g_b_init_get_sid_sub_authority_count.
8525
85262008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
8527
8528 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
8529 (font_parse_xlfd): Use them for sanity check.
8530 (Finternal_set_font_style_table): Make sure the table is bijective.
8531
8532 Consolidate the image_cache to the terminal struct.
8533 * termhooks.h (P_): Remove redundant def.
8534 (struct terminal): New field `image_cache'.
8535 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
8536 of FRAME_X_IMAGE_CACHE.
8537 * xterm.h (struct x_display_info): Remove image_cache field.
8538 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8539 * w32term.h (struct w32_display_info): Remove image_cache field.
8540 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8541 * macterm.h (struct mac_display_info): Remove image_cache field.
8542 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
8543 * xterm.c (x_term_init):
8544 * w32term.c (w32_term_init):
8545 * macterm.c (mac_term_init): Set the image_cache in the terminal.
8546 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
8547 Remove declarations.
8548 (clear_image_caches, mark_image_cache): New declarations.
8549 * xfaces.c (clear_face_cache):
8550 * xdisp.c (redisplay_internal): Use clear_image_caches.
8551 * image.c (clear_image_cache): Don't check that a frame is on
8552 a window-system before checking if it shares the same cache.
8553 (clear_image_caches): New function.
8554 (Fclear_image_cache): Use it.
8555 (mark_image): Move from allo.c.
8556 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
8557 * alloc.c (mark_image, mark_image_cache): Move to image.c.
8558 (mark_object): Don't call mark_image_cache for frames.
8559 (mark_terminals): Call mark_image_cache.
8560
8561 * lisp.h (Fdelete_terminal): Declare.
8562
8563 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
8564 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
8565 wrong_type_argument.
8566
85672008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
8568
8569 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
8570 malayalam.el, and tamil.el. Add sinhala.el.
8571
85722008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
8573
8574 * xterm.c (x_connection_closed): Consolidate identical tests.
8575 (x_delete_terminal): Don't crash if called via x_connection_closed.
8576
85772008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
8578
8579 * xdisp.c (decode_mode_spec): New arg string.
8580 (display_mode_element): Adjust for the above change.
8581
85822008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
8583
8584 * callint.c (Fcall_interactively): Use AREF.
8585
85862008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
8587
8588 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
8589
85902008-02-18 Jan Djärv <jan.h.d@swipnet.se>
8591
8592 * xfns.c (Fx_show_tip): Set string to " " if empty.
8593
85942008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
8595
8596 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
8597 with Qt.
8598
85992008-02-17 Kenichi Handa <handa@m17n.org>
8600
8601 * ftfont.c (ftfont_shape): Return Lispy number.
8602
8603 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
8604 for GCs.
8605 (Finternal_set_font_selection_order): Call font_update_sort_order
8606 only when enable_font_backend is set.
8607 (realize_x_face): Set face->font_info to that of default face only
8608 when enable_font_backend is set.
8609
8610 * xdisp.c (handle_composition_prop): Set it->c to the fist
8611 character of the composed region.
8612 (fill_composite_glyph_string): Set base_face->font_info to
8613 s->font_info. Get a face for ascii from base_face->ascii_face.
8614 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
8615 with a face already decided.
8616 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
8617 non-negative.
8618 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
8619 call font_prepare_composition unconditionally.
8620
8621 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
8622
8623 * xterm.h (struct x_display_info): New member font.
8624
8625 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
8626 (x_set_mouse_face_gc, x_new_font): Likewise.
8627 (x_term_init): Setup display_info->font.
8628 (x_delete_terminal): Free display_info->font.
8629
8630 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
8631
8632 * ftxfont.c (ftxfont_default_fid): Delete it.
8633 (ftxfont_open): Set xfont->fid to 0.
8634 (ftxfont_end_for_frame): Clear data specific to the frame and the
8635 font-driver.
8636
8637 * xftfont.c (xftfont_default_fid): Delete it.
8638 (xftfont_open): Set xfont->fid to 0.
8639
8640 * fontset.c (FONTSET_OBJLIST): New macro.
8641 (fontset_find_font): Update font-object list of the fontset.
8642 (free_realized_fontset): New function.
8643 (free_face_fontset): Call free_realized_fontset.
8644 (Ffont_info): Call font_close_object only when enable_font_backend
8645 is set.
8646
8647 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
8648 [HAVE_NTGUI]: Include w32term.h.
8649 [MAC_OS]: Include macterm.ch.
8650 (font_otf_ValueRecord): Use make_number.
8651 (font_finish_cache): Fix handling of reference count.
8652 (font_clear_cache): Update num_fonts.
8653 (font_open_entity): Update smallest_char_width and
8654 smallest_font_height of the frame.
8655 (font_close_object): Update num_fonts.
8656 (Fclear_font_cache): Fix finding the target cache data.
8657
86582008-02-16 Glenn Morris <rgm@gnu.org>
8659
8660 * fontset.c (Finternal_char_font): Fix compilation warning.
8661
86622008-02-16 Eli Zaretskii <eliz@gnu.org>
8663
8664 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
8665 instead of char arrays. Enlarge the size of array passed to
8666 get_token_information.
8667
8668 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
8669 warnings.
8670
86712008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
8672
8673 * .gdbinit: Don't set `args', it breaks gdb --args.
8674
86752008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
8676
8677 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
8678 within a narrowed buffer.
8679
86802008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
8681
8682 * coding.c (decode_coding_object, encode_coding_object):
8683 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
8684
86852008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
8686
8687 * coding.c (coding_set_destination): Use BEG_BYTE rather than
8688 hardcoding 1.
8689 (detect_coding_system):
8690 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
8691 (string_char_to_byte, string_byte_to_char, insert_from_gap):
8692 * insdel.c (insert_from_gap):
8693 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
8694 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
8695 (string_to_multibyte):
8696 * character.c (chars_in_text, multibyte_chars_in_text):
8697 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
8698
8699 * character.h (FETCH_STRING_CHAR_ADVANCE)
8700 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
8701 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
8702 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
8703
8704 * casefiddle.c (casify_region): Only call after-change and composition
8705 functions on the part of the region that was changed.
8706
8707 * keyboard.c (read_avail_input):
8708 * frame.c (Fdelete_frame): Call Fdelete_terminal.
8709
87102008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8711
8712 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
8713 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
8714
87152008-02-11 Juanma Barranquero <lekktu@gmail.com>
8716
8717 * w32menu.c (push_submenu_start, push_submenu_end)
8718 (push_left_right_boundary, push_menu_pane, push_menu_item):
8719 * keyboard.c (read_key_sequence): Don't pass args with side effects
8720 to AREF, it fails when compiling with -DENABLE_CHECKING.
8721
87222008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
8723
8724 * Makefile.in (${lispsource}international/charprop.el):
8725 Delete this target.
8726
8727 * search.c (boyer_moore): Fix incorrect synching of the trunk and
8728 emacs-unicode-2.
8729
87302008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
8731
8732 * terminal.c (Fdelete_terminal): Clean up the `force' path.
8733
87342008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8735
8736 * frame.c (Qnoelisp): New symbol.
8737 (syms_of_frame): Initialize it.
8738 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
8739 harmless Elisp code, from a strong `force' from x_connection_closed.
8740 * frame.h (Qnoelisp): Declare.
8741 * xterm.c (x_connection_closed): Pass `noelisp'.
8742
8743 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
8744 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
8745 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
8746 rather than `int' for the type of `type'.
8747
87482008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
8749
8750 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
8751
8752 * Makefile.in (GNUC): Remove support for gcc-1.x.
8753
87542008-02-10 Richard Stallman <rms@gnu.org>
8755
8756 * lisp.h (ASET): Use AREF, not ASLOT.
8757
87582008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
8759
8760 * lisp.h (ASET): Check bounds.
8761
87622008-02-10 Glenn Morris <rgm@gnu.org>
8763
8764 * buffer.c (mode-name): Doc fix.
8765
87662008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8767
8768 * Makefile.in:
8769 * emacs.c:
8770 * gmalloc.c:
8771 * keyboard.c:
8772 * lisp.h:
8773 * m/ibm370aix.h:
8774 * process.c:
8775 * regex.c:
8776 * s/hpux.h:
8777 * sysdep.c:
8778 * sysselect.h:
8779 * systty.h:
8780 * unexec.c:
8781 * w32term.c:
8782 * xsmfns.c:
8783 * xterm.c: Remove code that deals with obsolete variables.
8784
8785 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
8786
8787 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
8788 nothing else needs it anymore.
8789
87902008-02-09 Eli Zaretskii <eliz@gnu.org>
8791
8792 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
8793 instead of unibyte_char_to_multibyte.
8794
87952008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
8796
8797 * s/gnu-linux.h: Remove commented out code.
8798
8799 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
8800
8801 * Makefile.in: Update what RMS says about using autoconf.
8802 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
8803 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
8804 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
8805 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
8806
88072008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
8808
8809 * keymap.c (Fkey_description): Move side effect outside of macro call.
8810
8811 * xfaces.c (Finternal_make_lisp_face):
8812 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
8813
8814 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
8815 (syms_of_fontset): Use ASET.
8816
8817 * fns.c (concat): Move side effect outside of macro call.
8818 (hash_clear): Use ASET.
8819
88202008-02-08 Richard Stallman <rms@gnu.org>
8821
8822 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
8823 If FORCE, and frame has a surrogate minibuffer for another frame,
8824 delete the other frame first.
8825
88262008-02-07 Timo Savola <timo.savola@iki.fi>
8827
8828 * xterm.c (x_detect_focus_change): Handle embed client message.
8829 (handle_one_xevent): Ditto.
8830 (handle_one_xevent): If embedded and we get a button press/release,
8831 request focus.
8832 (xembed_set_info, xembed_send_message): New functions.
8833 (x_make_frame_visible): Call xembed_set_info if embedded.
8834 (x_make_frame_invisible): Call xembed_set_info if embedded.
8835 (x_term_init): Initialize Xatom_XEMBED.
8836 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
8837 (x_iconify_frame): Ditto.
8838
8839 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
8840 (enum xembed_info, enum xembed_message, enum xembed_focus)
8841 (enum xembed_modifier, enum xembed_accelerator): New.
8842 (xembed_set_info, xembed_send_message): Declare.
8843 (FRAME_X_EMBEDDED_P): New.
8844
8845 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
8846 gtk_plug_new.
8847
8848 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
8849 window ID of a frame.
8850 (x_window): Reparent frame if embedded.
8851 (Fx_create_frame): Don't set border width if embedded.
8852
8853 * emacs.c (USAGE3): Add --parent-id.
8854 (standard_args): Ditto.
8855
88562008-02-07 Jan Djärv <jan.h.d@swipnet.se>
8857
8858 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
8859
88602008-02-07 Jim Meyering <meyering@redhat.com>
8861
8862 Use "do...while (0)", not "if (1)...else" in macro definitions.
8863 The latter provokes a warning from gcc about the empty else, when
8864 followed by ";". Also, without that trailing semicolon, it would
8865 silently swallow up any following statement.
8866 * syntax.h (SETUP_SYNTAX_TABLE)
8867 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
8868 * buffer.h (DECODE_POSITION): Likewise.
8869 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
8870 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
8871 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
8872 (FETCH_CHAR_ADVANCE): Likewise.
8873 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
8874
88752008-02-07 Jim Meyering <meyering@redhat.com>
8876
8877 * lread.c [lint]: Don't include <sys/inode.h>.
8878
88792008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
8880
8881 * xselect.c (x_handle_dnd_message):
8882 * xmenu.c (digest_single_submenu, xmenu_show):
8883 * xdisp.c (with_echo_area_buffer_unwind_data)
8884 (format_mode_line_unwind_data, unwind_format_mode_line)
8885 (display_menu_bar):
8886 * eval.c (Ffetch_bytecode):
8887 * doc.c (store_function_docstring):
8888 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
8889 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
8890 * buffer.c (add_overlay_mod_hooklist): Use ASET.
8891
88922008-02-07 Kenichi Handa <handa@m17n.org>
8893
8894 * ftxfont.c (ftxfont_open): Don't set
8895 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
8896
8897 * ftfont.c (ftfont_open): Fix previous change.
8898
88992008-02-06 Jason Rumney <jasonr@gnu.org>
8900
8901 * w32font.c (w32font_text_extents): Fill in lbearing metric.
8902 Use cached metrics for ASCII characters.
8903 (w32font_open_internal): Don't set font's owning_frame.
8904 Cache metrics for ASCII characters.
8905
8906 * w32font.h (struct w32font_info): Add ascii_metrics.
8907 Remove owning_frame.
8908
89092008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
8910
8911 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
8912 to negative value.
8913
8914 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
8915
8916 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
8917
8918 * charset.c (syms_of_charset): Set QCtest and Qeq.
8919
89202008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
8921
8922 * process.c (Fstart_process):
8923 * callproc.c (Fcall_process): Handle the case where
8924 Funhandled_file_name_directory returns nil.
8925
8926 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
8927 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
8928 * font.c (check_gstring): Use them and AREF to access the vector before
8929 we know it's really a gstring.
8930 (Ffont_shape_text): Fix typo.
8931 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
8932
8933 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
8934 Declare.
8935
8936 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
8937
89382008-02-05 Jason Rumney <jasonr@gnu.org>
8939
8940 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
8941 Set smallest_font_height and smallest_char_width in display info.
8942
89432008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
8944
8945 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
8946
89472008-02-05 Miles Bader <miles@gnu.org>
8948
8949 * xfaces.c (get_lface_attributes, merge_named_face)
8950 (lookup_named_face, lookup_derived_face, realize_named_face):
8951 Revert 2008-02-01 change by cyd@stupidchicken.com.
8952
89532008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
8954
8955 * fontset.c (Ffontset_info): Handle the case of inhibitting the
8956 fallback fonts.
8957 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
8958
89592008-02-04 Jason Rumney <jasonr@gnu.org>
8960
8961 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
8962 set full_name.
8963 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
8964
89652008-02-03 Jason Rumney <jasonr@gnu.org>
8966
8967 * makefile.w32-in (OBJ1): Include font.o here.
8968 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
8969
89702008-02-02 Jason Rumney <jasonr@gnu.org>
8971
8972 * makefile.w32-in (temacs): Bump EMHEAP to 21.
8973
89742008-02-01 Jason Rumney <jasonr@gnu.org>
8975
8976 * s/cygwin.h: Define VIRT_ADDR_VARIES.
8977
8978 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
8979
89802008-02-01 Andreas Schwab <schwab@suse.de>
8981
8982 * Makefile.in (shortlisp, lisp): Update for rename of
8983 ../lisp/language/myanmar.el.
8984
89852008-02-01 Chong Yidong <cyd@stupidchicken.com>
8986
8987 * xfaces.c (get_lface_attributes): Delete function.
8988 (merge_named_face, lookup_named_face, lookup_derived_face)
8989 (realize_named_face): Call lface_from_face_name directly, and use
8990 the fact that merge_face_vectors does not alter its FROM argument.
8991
89922008-02-01 Jason Rumney <jasonr@gnu.org>
8993
8994 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
8995 input in the default locale. Handle non-Unicode multibyte input.
8996
89972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
8998
8999 * fontset.c (reorder_font_vector): Exclude nil elements from the
9000 font group. Don't try multiple fonts.
9001 (fontset_font): Adjust for the above change.
9002 (Finternal_char_font): Return nil if the found font doesn't
9003 contain the character ch.
9004
9005 * Makefile.in (lisp, shortlisp): Add cham.el.
9006
90072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9008
9009 * font.h (FONTP): Make it return 1 also for a font-object.
9010
9011 * .gdbinit (xfontset): New function.
9012
9013 * font.c (font_find_for_lface): Check if the character C is
9014 supported or not only for the first font.
9015
9016 * fontset.c (reorder_font_vector): Fix typo.
9017 (fontset_find_font): Don't add a font-spec specifying a script.
9018 Use 0 (not Qt) for the indication of empty font-group. Change the
9019 format of RFONT-DEF. Return Qt if no font in the font-group
9020 support the character.
9021 (fontset_font): Adjust for the above change. If no font was
9022 found the character, remember that.
9023 (face_for_char): Adjust for the change of RFONT-DEF.
9024 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
9025 no font for the target.
9026 (Finternal_char_font): Adjust for the change of RFONT-DEF.
9027
90282008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9029
9030 * font.c (font_load_for_face): Handle the case that the font in
9031 face->lface is a string.
9032
90332008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9034
9035 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
9036
90372008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9038
9039 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
9040 Fix previous change. If the frame is not on a window system,
9041 signal an error.
9042
90432008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9044
9045 * coding.c (decode_coding_object, encode_coding_object): Adjust
9046 marker positions after conversion.
9047
9048 * lisp.h (struct Lisp_Marker): New member need_adjustment.
9049
90502008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9051
9052 * font.c (font_find_for_lface): Fix the handling of the return
9053 value of font_has_char.
9054 (Ffont_shape_text): Fix previous change.
9055
9056 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
9057 (fontset_ref_and_range): Delete it.
9058 (fontset_find_font): Call char_table_ref_and_range instead of
9059 FONTSET_REF_AND_RANGE.
9060 (make_fontset): Don't setup font groups of Latin here.
9061 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
9062 (new_fontset_from_font): Make the specified font the default for
9063 all Latin characters.
9064
90652008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9066
9067 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
9068 is on a window system before accessing the fontset of the frame.
9069
90702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9071
9072 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
9073
9074 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
9075 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
9076
9077 * font.c (Ffont_shape_text): If the font driver doesn't have a
9078 shaper function, make zero-width glyphs to have at least one-pixel
9079 width. Fix setting of `to' field of glyphs.
9080
90812008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9082
9083 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
9084 glyphs.
9085
9086 * font.h (struct font_driver): Improve docstring of member `shape'.
9087
90882008-02-01 Kenichi Handa <handa@m17n.org>
9089
9090 * composite.c (syms_of_composite): Fix docstring of
9091 auto-composition-function.
9092
9093 * font.h (LGLYPH_SIZE): New macro.
9094
9095 * font.c (Ffont_fill_gstring): Stop filling when a character not
9096 supported by the font is found.
9097 (Ffont_shape_text): When a shape callback function returns nil,
9098 try at most two more times with larger gstring.
9099 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
9100
9101 * xdisp.c (handle_auto_composed_prop): Change the argument to
9102 auto-composition-function.
9103
9104 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
9105 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
9106 Lispy glyph and store it in the lgstring.
9107
9108 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
9109
9110 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
9111
91122008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9113
9114 * font.c (Ffont_shape_text): Avoid unnecessary composition.
9115
9116 * fontset.c (Vfont_encoding_charset_alist): New variable.
9117 (syms_of_fontset): DEFVAR it.
9118 (reorder_font_vector, fontset_find_font): Optimize for the case of
9119 no need of reordering.
9120 (face_for_char): Map the charset property by
9121 Vfont_encoding_charset_alist.
9122
91232008-02-01 Jason Rumney <jasonr@gnu.org>
9124
9125 * w32font.c (logfonts_match): Don't check adstyle here.
9126 (font_matches_spec): Check here against physical font instead.
9127 (add_font_entity_to_list): Avoid some substitutions.
9128
9129 * font.c (font_parse_fcname): Default weight and slant to normal.
9130 (font_score): Prefer normal fonts if weight or slant unspecified.
9131 (font_score) [WINDOWSNT]: Scale weight difference down to closer
9132 match freetype scores.
9133
91342008-02-01 Jason Rumney <jasonr@gnu.org>
9135
9136 * w32font.c (w32font_text_extents): Don't use the frame stored in the
9137 font, as it may have been deleted.
9138 (w32_enumfont_pattern_entity): Map generic family to adstyle using
9139 most common hyphenless variation.
9140 (logfonts_match): Check generic family.
9141 (font_matches_spec): Don't check generic family here.
9142 (fill_in_logfont): Set generic family based on adstyle.
9143
9144 * w32font.h (w32font_get_cache): Update declaration.
9145
91462008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9147
9148 * ftfont.c (ftfont_get_cache): Adjust the argument type.
9149
9150 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
9151 If none of the new drivers are available, call font_update_drivers
9152 with the old drivers.
9153
9154 * w32font.c (w32font_get_cache): Adjust the argument type.
9155
9156 * xfont.c (xfont_get_cache): Adjust the argument type.
9157
9158 * font.h (struct font_driver): Change argument type of get_cache.
9159
9160 * xftfont.c (xftfont_start_for_frame): Delete prototype.
9161
9162 * font.c (Ffont_get): Fix arguments to Fassoc.
9163 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
9164 (font_clear_cache): New function.
9165 (font_list_entities, font_matching_entity): Use font_get_cache.
9166 (font_update_drivers): Call font_clear_cache when finishing a driver.
9167
9168 * fontset.c (fontset_find_font): Fix previous change.
9169
91702008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9171
9172 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
9173 dpyinfo->font_table.
9174 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
9175 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
9176
9177 * font.c (font_at): Handle the case that the arg C is negative.
9178 Handle the unibyte case.
9179 (Ffont_at): Call font_at with the arg C -1.
9180
9181 * xdisp.c (handle_auto_composed_prop): Don't get a character at
9182 the position here, and call font_at with the arg C -1.
9183 Don't check the range of the existing composition at the point.
9184
91852008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9186
9187 * fontset.c (fontset_add): New args charset_id and family.
9188 Change caller.
9189 (load_font_get_repertory, fontset_find_font): Assume that
9190 font_spec is always a font-spec object.
9191 (Fset_fontset_font): Always store a font-spec object in a fontset.
9192
9193 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
9194 instead of get_property_and_range.
9195
91962008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9197
9198 * xftfont.c (struct xftfont_info): Delete the member ft_face.
9199 (xftfont_open): Don't keep locking face.
9200 (xftfont_close): Don't unlock face.
9201 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
9202
9203 * fontset.c (fontset_find_font): Don't prefer a font of
9204 supplementary charset.
9205
92062008-02-01 Kenichi Handa <handa@m17n.org>
9207
9208 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
9209 script, langsys_tag to langsys, new member script.
9210 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 9211 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
9212 listing to the script specified in that property. Fix arg to
9213 OTF_check_features.
9214
92152008-02-01 Jason Rumney <jasonr@gnu.org>
9216
9217 * w32font.h: New file.
9218
9219 * w32font.c: Include it.
9220 (struct w32font_info): Add owning_frame field. Move to w32font.h.
9221 (w32font_open): Set owning_frame.
9222 (w32font_text_extents): Use owning_frame.
9223 (struct font_callback_data): Add opentype_only field.
9224 (add_font_entity_to_list): Use it to filter fonts.
9225 Don't check against full name.
9226 (w32font_list_internal): New function.
9227 (w32font_list): Use it.
9228 (w32font_match_internal): New function.
9229 (w32font_match): Use it.
9230 (w32font_open_internal): New function.
9231 (w32font_open): Use it.
9232 (w32font_get_cache, w32font_close, w32font_has_char)
9233 (w32font_encode_char, w32font_text_extents, w32font_draw):
9234 Make non-static.
9235
9236 * makefile.w32-in (w32font.o): Depend on w32font.h.
9237
92382008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9239
9240 * charset.c (Fdefine_charset_internal): Record a supplementary
9241 charset at the tail of Vcharset_order_list.
9242
9243 * font.c (Ffont_shape_text): Fix the return value.
9244
9245 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
9246
9247 * xdisp.c (handle_auto_composed_prop): Fix previous change.
9248
92492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9250
9251 * ftfont.c (struct OpenTypeSpec): New struct.
9252 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
9253 (ftfont_get_open_type_spec): New function.
9254 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
9255
9256 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
9257
92582008-02-01 Jason Rumney <jasonr@gnu.org>
9259
9260 * w32font.c (add_font_entity_to_list): Compare only the beginning
9261 of full name.
9262
92632008-02-01 Kenichi Handa <handa@m17n.org>
9264
9265 * xdisp.c (handle_auto_composed_prop): Simplify the code.
9266 Never return HANDLED_RECOMPUTE_PROPS.
9267
92682008-02-01 Kenichi Handa <handa@m17n.org>
9269
9270 * font.c (font_gstring_produce): Delete it.
9271
9272 * composite.h (COMPOSITION_METHOD):
9273 Handle COMPOSITION_WITH_GLYPH_STRING.
9274
92752008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9276
9277 * xfont.c (Qx): Delete.
9278 (syms_of_xfont): Don't initialize Qx.
9279
9280 * composite.h (enum composition_method):
9281 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
9282
92832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9284
9285 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
9286 (choose_face_font): Accept new form of font-spec.
9287
9288 * frame.h (font_driver_list): Declare it unconditionally.
9289 (struct frame): Define members font_driver_list and font_data_list
9290 unconditionally.
9291
9292 * fontset.c: Include "font.h" unconditionally.
9293 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
9294 (Fset_fontset_font): Accept a font-spec object.
9295
9296 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
9297 PIXEL_SIZE part a wild card.
9298
9299 * dispextern.h (struct glyph_string): Define members clip and
9300 num_clips unconditionally.
9301 (struct face): Define members font_info and extra unconditionally.
9302
9303 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
9304 ftfont_info only when HAVE_LIBOTF is defined.
9305
93062008-02-01 Andreas Schwab <schwab@suse.de>
9307
9308 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
9309 and end.
9310
93112008-02-01 Jason Rumney <jasonr@gnu.org>
9312
9313 * w32font.c (w32font_driver): Add new fields.
9314
93152008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9316
9317 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
9318 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
9319 (LIBES): Add @M17N_FLT_CFLAGS@.
9320
9321 * composite.c (compose_text): Don't treat the new style
9322 composition specially.
9323
9324 * emacs.c (main): Call syms_of_font unconditionally.
9325
9326 * font.h (FONT_ENTITY_NOT_LOADABLE)
9327 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
9328 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
9329 (struct font_driver): New member shape.
9330 (font_registry_charsets): Extern it.
9331 (font_find_for_lface, font_prepare_composition): Adjust prototype.
9332 (font_otf_capability, font_drive_otf): Delete their externs.
9333
9334 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
9335 (font_charset_alist, font_registry_charsets): Move from xfont.c
9336 and rename.
9337 (font_prop_validate_otf): New function.
9338 (font_property_table): Register it for QCotf.
9339 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
9340 (font_drive_otf): Delete.
9341 (font_prepare_composition): New arg F. Adjust for the change of
9342 lispy gstring.
9343 (font_find_for_lface): New arg C.
9344 (font_load_for_face): Adjust for the change of font_find_for_lface.
9345 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
9346 lispy gstring.
9347 (Ffont_shape_text): New function.
9348 (Fopen_font): If the font size is not given, use 12-pixel.
9349 (Ffont_at): New arg STRING.
9350 (syms_of_font): Initalize font_charset_alist.
9351 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
9352 conditionally.
9353
9354 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
9355 fonts of the same font-spec. Change the format of RFONT-DEF.
9356 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
9357 Adjust for the change of RFONT-DEF.
9358 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
9359
9360 * ftfont.h: New file.
9361
9362 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
9363 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9364 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9365 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
9366 font_otf_capability and font_drive_otf, set ftfont_shape.
9367 (ftfont_list): Adjust for the change of :otf property value.
9368 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
9369 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
9370 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
9371 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9372 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
9373 (otf_gstring, gstring, m17n_flt_initialized): New variables.
9374
9375 * w32term.c (x_draw_composite_glyph_string_foreground):
9376 Adjust for the change of lispy gstring.
9377
9378 * xdisp.c (handle_composition_prop): Adjust for the change of
9379 lispy gstring. Call a function for auto-composition with the
9380 third arg it->window.
9381 (fill_composite_glyph_string): Adjust for the change of lispy string.
9382 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
9383
9384 * xfaces.c (set_font_frame_param): Adjust for the change of
9385 font_find_for_lface.
9386
9387 * xfont.c (x_font_charset_alist): Move to font.c and rename.
9388 (xfont_registry_charsets): Likewise. Change caller.
9389 (syms_of_xfont): Don't handle x_font_charset_alist.
9390
9391 * xftfont.c: Include "ftfont.h".
9392 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
9393 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
9394 (xftfont_close) [HAVE_LIBOTF]: Close otf.
9395 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
9396 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
9397 Set xftfont_driver.shape to xftfont_shape.
9398
9399 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
9400 the change of lispy gstring.
9401
94022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9403
9404 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
9405
94062008-02-01 Jason Rumney <jasonr@gnu.org>
9407
9408 * w32font.c (w32font_draw): Fill background manually.
9409
94102008-02-01 Jason Rumney <jasonr@gnu.org>
9411
9412 * font.c (Qfontp): Remove unused symbol.
9413 (QCantialias): New symbol.
9414 (syms_of_font): Define it.
9415 (font_property_table): Set a validator for QCantialias.
9416
9417 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
9418 Define if not already.
9419 (QCfamily): Share with xfaces.c.
9420 (Qstandard, Qsubpixel, Qnatural): New symbols.
9421 (syms_of_w32font): Define them. Don't define QCfamily here.
9422 (w32_antialias_type, lispy_antialias_type): New functions.
9423 (w32_enumfont_pattern_entity): New arg requested_font.
9424 Set antialias parameter if non-default was requested.
9425 (fill_in_logfont): Fill in lfQuality if :antialias specified.
9426
94272008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9428
9429 * lread.c (read1): Undo the previous change.
9430
94312008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
9432
9433 * frame.c (Fdelete_frame): Call font_update_drivers only when
9434 USE_FONT_BACKEND is defined.
9435
94362008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9437
9438 * font.h (struct font_bitmap): New member bits_per_pixel.
9439 (struct font_driver): New members start_for_frame and end_for_frame.
9440 (struct font_data_list): New struct.
9441 (font_put_frame_data, font_get_frame_data): Extern them.
9442
9443 * frame.h (struct frame): New member font_data_list.
9444
9445 * font.c (font_update_drivers): Call driver->start_for_frame and
9446 driver->end_for_frame at proper timings.
9447 (font_put_frame_data, font_get_frame_data): New functions.
9448 (Ffont_spec): Add usage in the docstring.
9449
9450 * frame.c (make_frame): Initialize f->font_data_list to NULL.
9451 (Fdelete_frame): Call font_update_drivers.
9452
9453 * xftfont.c (struct xftface_info): Delete the member xft_draw.
9454 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
9455 (xftfont_get_xft_draw): New function.
9456 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
9457 (xftfont_end_for_frame): New function.
9458 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
9459
9460 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
9461 Change argument. Cache GCs in the per-frame data.
9462 (struct ftxfont_frame_data): New struct.
9463 (ftxfont_draw_bitmap): New arg gc_fore and flush.
9464 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
9465 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
9466 (ftxfont_end_for_frame): New function.
9467 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
9468
9469 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
9470
94712008-02-01 Kenichi Handa <handa@m17n.org>
9472
9473 * xselect.c (Vselection_coding_system)
9474 (Vnext_selection_coding_system): Delete them.
9475 (syms_of_xselect): Don't declare selection-coding-system and
9476 next-selection-coding-system. They are declared in select.el.
9477
94782008-02-01 Jason Rumney <jasonr@gnu.org>
9479
9480 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
9481
9482 * w32fns.c: Include imm.h.
9483 (get_composition_string_fn, get_ime_context_fn): New optional
9484 system functions.
9485 (globals_of_w32fns): Load them from imm32.dll.
9486 (ignore_ime_char): New flag.
9487 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
9488 WM_IME_ENDCOMPOSITION messages.
9489
9490 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
9491 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
9492
94932008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9494
9495 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
9496 (READCHAR_REPORT_MULTIBYTE): New macro.
9497 (readchar): New 2nd arg MULTIBYTE.
9498 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
9499 Make symbol's name multibyte according to the multibyteness of the
9500 source.
9501
95022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9503
9504 * xfaces.c (face_for_overlay_string): Call lookup_face with
9505 correct arguments (fix of synching with the trunk).
9506
95072008-02-01 Kenichi Handa <handa@m17n.org>
9508
9509 * font.c (font_prop_validate_symbol, font_prop_validate_style)
9510 (font_prop_validate_non_neg, font_prop_validate_spacing):
9511 Delete argument prop_index.
9512 (font_property_table): Change arguments to validater. Change Callers.
9513 (font_lispy_object): Delete.
9514 (font_at): Use font_find_object instead fo font_lispy_object.
9515
95162008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
9517
9518 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
9519 and file names.
9520
95212008-02-01 Jason Rumney <jasonr@gnu.org>
9522
9523 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
9524 (font_matches_spec): Remove debug output.
9525 (add_font_entity_to_list): Avoid using substituted fonts.
9526
95272008-02-01 Jason Rumney <jasonr@gnu.org>
9528
9529 * doc.c (Fsnarf_documentation):
9530 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
9531
95322008-02-01 Miles Bader <miles@gnu.org>
9533
9534 * dispextern.h (struct glyph_row): Only define "clip" field if
9535 HAVE_WINDOW_SYSTEM is defined.
9536
95372008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9538
9539 Fix up multi-tty merge.
9540
9541 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
9542 and indentation.
9543
9544 * xfaces.c (free_realized_face, clear_face_gcs):
9545 Include font_done_for_face in the input_blocked section, just in case.
9546
9547 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
9548 (get_char_face_and_encoding): Undo last change and remove the *other*
9549 duplicate definition (i.e. keep the one that's better scoped and that
9550 includes code for the font-backend).
9551
9552 * terminal.c (create_terminal): Default keyboard_coding to
9553 `no-conversion' and terminal_coding to `undecided'.
9554
9555 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
9556
9557 * fontset.c (free_realized_fontsets): Check that the table entry does
9558 contain a fontset before trying to compare it to `base'.
9559
9560 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
9561 syms_of_charset, and syms_of_coding earlier because init_window_once
9562 now needs Vcoding_system_hash_table to be setup.
9563
9564 * coding.h (default_buffer_file_coding): Remove.
9565
9566 * coding.c (default_buffer_file_coding): Remove.
9567 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
9568 than ->symbol, and use the terminal-local coding system.
9569 (syms_of_coding): Don't setup the coding-systems that are not
9570 terminal-local.
9571 (Fdefine_coding_system_internal): Use XCAR/XCDR.
9572
9573 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
9574 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
9575
9576 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
9577 in chartab.c and were re-added here by mistake.
9578 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
9579
9580 * doc.c (Fsnarf_documentation):
9581 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
9582 src to etc.
9583
9584 * ChangeLog.10: Add mistakenly removed entry.
9585
95862008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
9587
9588 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
9589
95902008-02-01 Miles Bader <miles@gnu.org>
9591
9592 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
9593 Add extra args to FACE_FOR_CHAR.
9594
95952008-02-01 Kenichi Handa <handa@m17n.org>
9596
9597 * keymap.c (where_is_internal_1): If key is a cons, store the copy
9598 in sequence.
9599
9600 * chartab.c (map_sub_char_table, map_char_table): If the range
9601 contains just one character, call the function with that character
9602 even if the depth is not 3.
9603
96042008-02-01 Jason Rumney <jasonr@gnu.org>
9605
9606 * w32font.c (w32font_text_extents): Calculate metrics for the
9607 whole string.
9608
96092008-02-01 Jason Rumney <jasonr@gnu.org>
9610
9611 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
9612
96132008-02-01 Jason Rumney <jasonr@gnu.org>
9614
9615 * w32term.c (x_set_glyph_string_clipping): Use
9616 get_glyph_string_clip_rects.
9617 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9618 Adjust for the change of struct glyph_string.
9619
9620 * w32font.c (w32font_draw): Do clipping here.
9621
96222008-02-01 Kenichi Handa <handa@m17n.org>
9623
9624 * xftfont.c (xftfont_draw): Adjust for the change of struct
9625 glyph_string.
9626
9627 * xterm.c (x_set_glyph_string_clipping): Use
9628 get_glyph_string_clip_rects.
9629 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
9630 Adjust for the change of struct glyph_string.
9631
9632 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
9633 the resulting clip(s}.
9634 (expose_overlaps): Add arg r. Change callers. Set it to
9635 row->clip temporarily.
9636 (expose_window): Redraw rows overlapping the exposed area.
9637
9638 * dispextern.h (struct glyph_row): New member clip.
9639 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
9640 clip_height, new member clip, and num_clips.
9641
96422008-02-01 Kenichi Handa <handa@m17n.org>
9643
9644 * data.c (Fchar_or_string_p): Fix docstring.
9645
96462008-02-01 Kenichi Handa <handa@m17n.org>
9647
9648 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
9649 create a temporary XftDraw object.
9650
96512008-02-01 Kenichi Handa <handa@m17n.org>
9652
9653 * font.c (Ffontp): Fix docstring.
9654
9655 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
9656 strong evidence of ISO-2022.
9657
96582008-02-01 Kenichi Handa <handa@m17n.org>
9659
9660 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
9661 SYNTAX_ENTRY_FOLLOW_PARENT.
9662
96632008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
9664
9665 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
9666 its type.
9667 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
9668 Update to the new type of weak_hash_tables and next_weak.
9669
9670 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
9671 a plain C pointer to Lisp_Hash_Table.
9672
9673 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
9674 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
9675 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
9676 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
9677 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
9678 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
9679 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
9680 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
9681 (GC_EQ): Remove since they've been identical to their non-GC_
9682 alter-egos ever since the markbit was eradicated.
9683
9684 * alloc.c:
9685 * buffer.c:
9686 * buffer.h:
9687 * data.c:
9688 * fileio.c:
9689 * filelock.c:
9690 * fns.c:
9691 * frame.h:
9692 * lisp.h:
9693 * macterm.c:
9694 * print.c:
9695 * process.c:
9696 * w32fns.c:
9697 * w32menu.c:
9698 * w32term.c:
9699 * xfns.c:
9700 * xmenu.c:
9701 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
9702
97032008-02-01 Kenichi Handa <handa@m17n.org>
9704
9705 * chartab.c (map_sub_char_table): Make it work for the top-level
9706 char-table. Fix handling of parent char-table.
9707 (map_char_table): Adjust for the above change.
9708
97092008-02-01 Jason Rumney <jasonr@gnu.org>
9710
9711 * w32font.c (Qgdi): Rename from Qw32.
9712
97132008-02-01 Jason Rumney <jasonr@gnu.org>
9714
9715 * w32bdf.c (get_quoted_string): Make function static.
9716
97172008-02-01 Kenichi Handa <handa@m17n.org>
9718
9719 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
9720 bigger ascent and descent than those of the font, use them as
9721 font's ascent and descent.
9722
97232008-02-01 Kenichi Handa <handa@m17n.org>
9724
9725 * Makefile.in (${lispsource}international/charprop.el): Move this
9726 target within "#ifdef HAVE_UNIDATA" and "#endif".
9727
97282008-02-01 Kenichi Handa <handa@m17n.org>
9729
9730 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
9731 (shortlisp): Add ../lisp/language/tai-viet.el.
9732
97332008-02-01 Ulrich Mueller <ulm@gentoo.org>
9734
9735 * Makefile.in (${lispsource}international/charprop.el): Depend on
9736 temacs${EXEEXT}.
9737
97382008-02-01 Jason Rumney <jasonr@gnu.org>
9739
9740 * w32font.c (w32font_close): Delete the GDI font object.
9741
9742 * w32menu.c: Include character.h.
9743
9744 * w32proc.c: Likewise.
9745
9746 * w32select.c: Likewise.
9747
9748 * makefile.w32-in (w32proc.o): Depend on character.h.
9749
97502008-02-01 Jason Rumney <jasonr@gnu.org>
9751
9752 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
9753
9754 * w32menu.c (syms_of_w32menu): Likewise.
9755
9756 * w32proc.c (syms_of_ntproc): Likewise.
9757
9758 * w32select.c (syms_of_w32select): Likewise.
9759
9760 * w32term.c (syms_of_w32term): Likewise.
9761
97622008-02-01 Jason Rumney <jasonr@gnu.org>
9763
9764 * w32font.c (w32font_draw): Delete brush after using it.
9765
97662008-02-01 Jason Rumney <jasonr@gnu.org>
9767
9768 * w32font.c (w32font_open): Don't set font_idx.
9769 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
9770 to font settings.
9771 (w32font_draw): Fill background explicitly.
9772
97732008-02-01 Jason Rumney <jasonr@gnu.org>
9774
9775 * w32term.c (w32_initialize): Don't call w32font_initialize.
9776
9777 * w32font.c (w32font_info): Remove subranges.
9778 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
9779 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
9780 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
9781 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
9782 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
9783 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
9784 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
9785 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
9786 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
9787 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
9788 New symbols.
9789 (font_callback_data): New struct.
9790 (w32font_list, w32font_match): Use it.
9791 (w32font_open): Don't populate subranges.
9792 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
9793 (w32font_encode_char): Always return unicode code-point as-is.
9794 (w32font_text_extents): Supply a transformation matrix to
9795 GetGlyphOutline. Never look up by glyph index. Avoid looping
9796 twice. Use unicode version of GetTexExtentPoint32 instead of
9797 glyph index version.
9798 (set_fonts_frame): Remove.
9799 (w32_enumfont_pattern_entity): Add frame parameter, use it to
9800 set frame parameter. Use backward compatible fake foundries.
9801 Save generic family in extra slot under QCfamily. Make width slot
9802 constant. Save QCspacing value. Save list of scripts instead of
9803 binary subranges.
9804 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
9805 (add_font_entity_to_list): Use font_callback_data struct. Filter
9806 unwanted fonts.
9807 (add_one_font_entity_to_list): Use font_callback_data struct.
9808 (w32_registry): Default to iso10646_1.
9809 (fill_in_logfont): Use dpi from extra slot. Don't bother with
9810 string font registries. Don't fill in font name if it is a generic
9811 family name, fill family instead. Use spacing, family and script
9812 extra info to fill pitch, family and charset fields.
9813 (list_all_matching_fonts): Use font_callback_data struct.
9814 (unicode_range_for_char): Remove.
9815 (font_supported_scripts): New function.
9816 (w32font_initialize): Remove.
9817 (syms_of_w32font): Update which symbols are defined.
9818
98192008-02-01 Jason Rumney <jasonr@gnu.org>
9820
9821 * font.c (font_pixel_size): Reverse assq_no_quit args.
9822
9823 * w32term.h (FONT_WIDTH): Report max width, not average.
9824 (FONT_MAX_WIDTH): Remove.
9825 (FONT_AVG_WIDTH): New macro.
9826
9827 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
9828 redefinition of FONT_WIDTH.
9829
9830 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
9831 (w32_cache_char_metrics): Use FONT_WIDTH.
9832
9833 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
9834
98352008-02-01 Jason Rumney <jasonr@gnu.org>
9836
9837 * w32font.c (w32font_open): Make lfHeight negative.
9838
9839 * w32fns.c (x_default_font_parameter): Use new style font name.
9840 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
9841
98422008-02-01 Jason Rumney <jasonr@gnu.org>
9843
9844 * w32font.c (QCsubranges): New symbol.
9845 (w32font_open, w32font_has_char): Get subranges from subproperty
9846 of extra.
9847 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
9848 (syms_of_w32font): Define :subranges symbol.
9849
9850 * font.c (font_put_extra): Expose externally.
9851
9852 * font.h (font_put_extra): Move declaration from font.c.
9853
9854 * font.c (Ffont_get): Use font driver to determine otf capability.
9855 (adjust_anchor): Check if driver defines anchor_point before using.
9856
9857 * w32font.c (w32font_open): Handle size, height and pixel_size better.
9858 (w32font_draw): Use options.
9859 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
9860 Fix detection of truetype fonts.
9861 (registry_to_w32_charset): Handle charsets other than iso8859-1
9862 expressed as lisp symbols.
9863 (w32_registry): Express charset as lisp symbol.
9864 (fill_in_logfont): Reverse pixel and point height logic.
9865 Don't set width here. Set quality to default.
9866
9867 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
9868 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
9869
9870 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9871 Remove redundant loop and allocation.
9872
9873 * makefile.w32-in (font.o, w32font.o): New objects.
9874 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
9875 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
9876
9877 * xdisp.c (fill_composite_glyph_string): Make the first arg to
9878 STORE_XCHARB a valid l-value.
9879
9880 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
9881 calculations for non-Truetype fonts.
9882 (x_draw_glyph_string): Sync with xterm.c.
9883 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
9884 Remove redundant code.
9885 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
9886
9887 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
9888 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
9889
9890 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
9891 (x_to_w32_charset, w32_to_x_charset): Expose externally.
9892
9893 * w32font.c: New file for w32 font backend.
9894
98952008-02-01 Kenichi Handa <handa@m17n.org>
9896
9897 * term.c: Don't include "buffer.h" twice.
9898
98992008-02-01 Kenichi Handa <handa@m17n.org>
9900
9901 * character.c (Funibyte_string): New function.
9902 (syms_of_character): Defsubr it.
9903
99042008-02-01 Jason Rumney <jasonr@gnu.org>
9905
9906 * w32term.c [USE_FONT_BACKEND]:
9907 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
9908 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
9909 (x_draw_glyph_string, x_draw_glyph_string_foreground)
9910 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
9911 (x_free_frame_resources): Sync with xterm.c.
9912
99132008-02-01 Andreas Schwab <schwab@suse.de>
9914
9915 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
9916 char-table size.
9917
99182008-02-01 Kenichi Handa <handa@m17n.org>
9919
9920 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
9921
99222008-02-01 Kenichi Handa <handa@m17n.org>
9923
9924 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
9925 font_otf_gpos, add font_drive_otf.
9926
9927 * fontset.c (fontset_find_font): Pay attention to font size
9928 specified for a font.
9929 (reorder_font_vector): Check contents of font_def.
9930
9931 * font.c (struct otf_list): Delete it.
9932 (otf_list): Make it a lisp variable.
9933 (otf_open): Use lispy otf_list.
9934 (generate_otf_features): Rename from parse_gsub_gpos_spec.
9935 (check_otf_features): New function.
9936 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
9937 New functions.
9938 (font_drive_otf): New function merging font_otf_gsub and
9939 font_otf_gpos.
9940 (font_open_for_lface): New arg spec. Change argument order.
9941 (font_load_for_face): Adjust for the change of font_open_for_lface.
9942 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
9943 Ffont_otf_gpos.
9944 (syms_of_font): Staticpro otf_list. Delete defsubr of
9945 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
9946
9947 * xfaces.c (set_font_frame_param): Adjust for the change of
9948 font_open_for_lface.
9949
9950 * font.h (font_open_for_lface): Adjust prototype.
9951 (struct font_driver): Delete members otf_gsub and otf_gpos, add
9952 member otf_drive.
9953 (font_otf_gsub, font_otf_gpos): Delete externs.
9954 (font_drive_otf): Extern it.
9955
99562008-02-01 Kenichi Handa <handa@m17n.org>
9957
9958 * font.c (font_at): If the window W is not on a window system,
9959 return Qnil.
9960
9961 * coding.c (produce_chars, encode_coding): Don't call
9962 insert_from_gap if no characters to produce.
9963
99642008-02-01 Kenichi Handa <handa@m17n.org>
9965
9966 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
9967 Fclear_face_cache.
9968
9969 * xfaces.c (face_for_font): Check also face->font==font->font.font.
9970
99712008-02-01 Miles Bader <miles@gnu.org>
9972
9973 * emacs.c (main): Change default value of `enable_font_backend' to 1.
9974 Parse "--disable-font-backend" option.
9975 (standard_args): Add "--disable-font-backend" option.
9976
99772008-02-01 Kenichi Handa <handa@m17n.org>
9978
9979 * fontset.c (fontset_find_font): New function.
9980 (fontset_font): Use fontset_find_font.
9981 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
9982 Register the specified font for all Latin characters.
9983 (new_fontset_from_font): Register the specified font for all Latin
9984 characters.
9985 (dump_fontset): For a realized fontset, include the base fontset
9986 name in the returned vector.
9987
99882008-02-01 Kenichi Handa <handa@m17n.org>
9989
9990 * character.h (CHAR_STRING): Cast C to unsigned on calling
9991 char_string.
9992
9993 * character.c (char_string): Type of arg C changed to unsigned.
9994 Signal an error if C is an invalid character code.
9995
9996 * editfns.c (general_insert_function, Fchar_to_string):
9997 Use CHARACTERP, not INTEGERP.
9998
99992008-02-01 Kenichi Handa <handa@m17n.org>
10000
10001 * character.h (MIN_MULTIBYTE_LEADING_CODE)
10002 (MAX_MULTIBYTE_LEADING_CODE): New macros.
10003
10004 * regex.c (analyse_first): Fix for multibyte characters in "case
10005 charset:" and "case categoryspec:".
10006
100072008-02-01 Andreas Schwab <schwab@suse.de>
10008
10009 * Makefile.in (LIBES): Move standard libraries to the end.
10010
100112008-02-01 Kenichi Handa <handa@m17n.org>
10012
10013 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
10014 nonzero, don't shrink the buffer nextb.
10015
10016 * buffer.h (struct buffer_text): New member inhibit_shrinking.
10017
10018 * coding.c (coding_alloc_by_making_gap): New arg offset.
10019 (alloc_destination): Call coding_alloc_by_making_gap with the arg
10020 offset.
10021 (decode_coding_iso_2022): Update coding->safe_charsets.
10022 (decode_coding_gap): Temporarily set
10023 current_buffer->text->inhibit_shrinking to 1.
10024
100252008-02-01 Kenichi Handa <handa@m17n.org>
10026
10027 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
10028 indexing into elements of s->cmp and s->char2b.
10029
100302008-02-01 Juanma Barranquero <lekktu@gmail.com>
10031
10032 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
10033
100342008-02-01 Kenichi Handa <handa@m17n.org>
10035
10036 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
10037 target_multibyte instead of multibyte.
10038 (re_match_2_internal): Call bcmp_translate with target_multibyte.
10039 (bcmp_translate): Change the argument name from multibyte to
10040 target_multibyte.
10041
100422008-02-01 Kenichi Handa <handa@m17n.org>
10043
10044 These changes are to compile a regexp into a pattern that can be
10045 used both for multibyte and unibyte targets.
10046
10047 * Makefile.in (search.o): Depend on charset.h.
10048
10049 * character.c (multibyte_char_to_unibyte_safe): New function.
10050
10051 * search.c: Include "charset.h".
10052 (compile_pattern_1): Delete argument multibyte. Don't set
10053 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
10054 (compile_pattern): Don't compare cp->buf.target_multibyte.
10055 Compare cp->buf.charset_unibyte.
10056 (compile_pattern): Set cp->buf.target_multibyte.
10057
10058 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
10059
10060 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
10061
10062 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
10063 multibyte. Change callers.
10064 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
10065 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
10066 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
10067 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
10068 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
10069 (regex_compile): Make the compiled pattern usable both for
10070 multibyte and unibyte targets.
10071 (analyse_first): Make the fastmap usable both for multibyte and
10072 unibyte targets.
10073 (TRANSLATE_VIA_MULTIBYTE): Delete.
10074 (re_match_2_internal): Pay attention to the case that the
10075 multibyteness of bufp and target may be different.
10076
100772008-02-01 Kenichi Handa <handa@m17n.org>
10078
10079 * xdisp.c (x_produce_glyphs): When a font is not found, make the
10080 empty box occupy at least one column width.
10081
100822008-02-01 Miles Bader <miles@gnu.org>
10083
10084 * Makefile.in: Remove redundant HAVE_XFT clause.
10085
100862008-02-01 Kenichi Handa <handa@m17n.org>
10087
10088 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
10089
100902008-02-01 Kenichi Handa <handa@m17n.org>
10091
10092 * fontset.c (Finternal_char_font): Fix for the case of POSITION
10093 being nil.
10094
100952008-02-01 Kenichi Handa <handa@m17n.org>
10096
10097 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
10098
100992008-02-01 Kenichi Handa <handa@m17n.org>
10100
10101 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
10102
101032008-02-01 Kenichi Handa <handa@m17n.org>
10104
10105 * search.c (simple_search): Fix previous change.
10106
101072008-02-01 Kenichi Handa <handa@m17n.org>
10108
10109 * xftfont.c (ftfont_font_format): Extern declaration.
10110
10111 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
10112
10113 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
10114 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
10115
10116 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
10117 (ftfont_font_format): Fix previous change.
10118
10119 * font.h (Ffont_xlfd_name): EXFUN it.
10120
10121 * font.c (font_parse_xlfd): Fix the array size of `f'.
10122 (register_font_driver): Use EQ to compare driver->type.
10123
10124 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
10125 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
10126 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
10127
101282008-02-01 Kenichi Handa <handa@m17n.org>
10129
10130 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
10131 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
10132
101332008-02-01 Kenichi Handa <handa@m17n.org>
10134
10135 * xfont.c (xfont_open): Set font->format.
10136
10137 * xftfont.c (xftfont_open): Set font->format.
10138
10139 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
10140 (ftfont_list): Include FC_FONTFORMAT in FcObject.
10141 (ftfont_open): Set font->format.
10142 (ftfont_font_format): New function.
10143
10144 * font.h (struct font): New member format.
10145
10146 * font.c (Qopentype): New variable.
10147 (syms_of_font): Defsym it.
10148 (Fquery_font): Change the format of the last element of the return
10149 value.
10150
101512008-02-01 Kenichi Handa <handa@m17n.org>
10152
10153 * xfns.c (xic_create_xfontset): Try the default fontset name as a
10154 last resort.
10155
101562008-02-01 Kenichi Handa <handa@m17n.org>
10157
10158 * coding.c (detect_coding_charset): Fix detection of multi-byte
10159 charset.
10160
101612008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
10162
10163 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
10164
101652008-02-01 Kenichi Handa <handa@m17n.org>
10166
10167 * xdisp.c (get_next_display_element): Set it->face_id for the
10168 first component of a composition.
10169 (x_produce_glyphs): Check if the font is changed or not for composition.
10170
101712008-02-01 Kenichi Handa <handa@m17n.org>
10172
10173 * fontset.c (Qlatin): New variable.
10174 (syms_of_fontset): Define it as a lisp symbol.
10175 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
10176
101772008-02-01 Kenichi Handa <handa@m17n.org>
10178
10179 * font.c (font_unparse_fcname): Pay attention to the case that
10180 some of font property is a null string.
10181
101822008-02-01 Kenichi Handa <handa@m17n.org>
10183
10184 * term.c: Include "composite.h".
10185 (encode_terminal_code): Output all components of composition.
10186 Check the size of encode_terminal_src.
10187 (produce_glyphs): For composition, call produce_composite_glyph.
10188 (append_composite_glyph, produce_composite_glyph): New functions.
10189
10190 * xdisp.c (x_produce_glyphs): In handling composition, if a font
10191 is not found, get font_info from the current ascii face.
10192
101932008-02-01 Kenichi Handa <handa@m17n.org>
10194
10195 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
10196 buffer-file-name to Qnil before calling insert_from_buffer.
10197
10198 * font.c (font_unparse_fcname): Pay attention to the case that
10199 foundry is a null string.
10200
102012008-02-01 Kenichi Handa <handa@m17n.org>
10202
10203 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
10204
10205 * font.c (Qunicode_sip): New variable.
10206 (syms_of_font): Declare it as a Lisp symbol.
10207
10208 * font.h (Qunicode_sip): Extern it.
10209
102102008-02-01 Kenichi Handa <handa@m17n.org>
10211
10212 * composite.c (get_composition_id): Pay attention to TAB component.
10213
10214 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
10215 TAB. Adjust for the change of s->char2b which always points to
10216 the first element of allocated memory.
10217
10218 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
10219
10220 * xdisp.c (handle_composition_prop): Set it->c to the first
10221 non-TAB component.
10222 (fill_composite_glyph_string): Change argument.
10223 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
10224 (x_produce_glyphs): Fix handling of left/right padding.
10225
102262008-02-01 Kenichi Handa <handa@m17n.org>
10227
10228 * coding.c (detect_coding_system): Fix for handling off
10229 inhibit_iso_escape_detection. Fix for the case that no coding
10230 system is defined for a specific coding category.
10231
102322008-02-01 Kenichi Handa <handa@m17n.org>
10233
10234 * font.c (font_matching_entity): Delete unused local var.
10235
10236 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
10237 opening a font.
10238
10239 * fileio.c (Finsert_file_contents): On recovering a file, assume
10240 Unix-like eol.
10241 (choose_write_coding_system): On auto-saving a file, force
10242 Unix-like eol.
10243
10244 * coding.c (setup_coding_system): Fix setting of
10245 coding->common_flags based on eol_type.
10246 (coding_inherit_eol_type): If PARENT is not nil, be sure to
10247 inherit from it.
10248
102492008-02-01 Kenichi Handa <handa@m17n.org>
10250
10251 * alloc.c (NSTATICS): Increas to 0x600.
10252
102532008-02-01 Kenichi Handa <handa@m17n.org>
10254
10255 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
10256 (ftfont_list): Don't check :name property.
10257 (ftfont_match): New function.
10258 (ftfont_pattern_entity): If the pattern doesn't contain
10259 FC_SPACING, don't assume FC_MONO.
10260
10261 * font.h (struct font_driver): New member `match'.
10262 (font_update_drivers): Adjust prototype.
10263
10264 * font.c (font_parse_fcname, font_parse_name): Don't change :name
10265 property of FONT.
10266 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
10267 them unconditionally.
10268 (font_matching_entity): New function.
10269 (font_open_by_name): Try font_matching_entity if exact match is
10270 not found.
10271 (font_update_drivers): Delete the arg FONT. Return a list of
10272 actually used backends. Don't free faces, font caches here.
10273 Don't store data in frame parameters. Don't call x_set_font.
10274 (Ffont_spec): Store :name property as is.
10275 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
10276 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
10277 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
10278 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
10279 Call font->driver->otf_gsub instead of font_otf_gsub.
10280
10281 * frame.c (x_set_font_backend): Do more works that were done in
10282 font_update_drivers before.
10283
10284 * xfont.c (xfont_match): New function.
10285 (xfont_driver): Set xfont_driver.match to xfont_match.
10286 (xfont_draw): Set font in GC if necessary.
10287
10288 * ftxfont.c (ftxfont_match): New function.
10289 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
10290
10291 * xftfont.c (xftfont_match): New function.
10292 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
10293
102942008-02-01 Kenichi Handa <handa@m17n.org>
10295
10296 * font.h (struct font): New member scalable.
10297 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
10298 (font_otf_gsub): Adjust prototype.
10299
10300 * font.c (font_otf_capability): Fix handling of the default langsys.
10301 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
10302 Check the contents of SPEC.
10303 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
10304 (check_gstring): New function.
10305 (REPLACEMENT_CHARACTER): New macro.
10306 (font_otf_gsub): New arg alternate_subst. Be sure to set all
10307 glyph codes of GSTRING.
10308 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
10309 (font_prepare_composition): Set cmp->glyph_len.
10310 (font_open_entity): Set font->scalable.
10311 (Ffont_get): Handle :otf property.
10312 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
10313 functions.
10314 (Fquery_font): Use font->font.full_name.
10315 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
10316 Sfont_otf_alternates.
10317
10318 * ftfont.c (ftfont_open): Set font->font.full_name and
10319 font->font.name properly. Fix calculation of font->font.height
10320 and font->min_width.
10321
10322 * ftxfont.c (ftxfont_create_gcs): New function.
10323 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
10324 (ftxfont_draw_backgrond): Fix filling region.
10325 (ftxfont_default_fid): New function.
10326 (ftxfont_open): Set xfont->fid to the return value of
10327 ftxfont_default_fid.
10328 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
10329 (ftxfont_done_face): Free only GCs that are created by
10330 ftxfont_create_gcs.
10331 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
10332
10333 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
10334 Clip to src->width, etc (not src->clip_XXX).
10335
10336 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
10337 FontBackend frame parameter.
10338
103392008-02-01 Kenichi Handa <handa@m17n.org>
10340
10341 * font.h (struct font_driver_list): New member `on'.
10342 (Fclear_font_cache): EXFUN it.
10343 (font_update_drivers): Extern it.
10344
10345 * font.c (font_unparse_fcname): Fix typo (swidth->width).
10346 (font_list_entities): Check driver_list->on.
10347 (register_font_driver): Initalize `on' member to 0.
10348 (font_update_drivers): New function.
10349 (Fclear_font_cache): Check driver_list->on.
10350
10351 * frame.h (Qfont_backend): Extern it.
10352 (x_set_font_backend): Extern it.
10353
10354 * frame.c (Qfont_backend): New variable.
10355 (frame_parms): New element for font-backend.
10356 (x_set_font_backend): New function.
10357
10358 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
10359 FontBackend frame parameter.
10360 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
10361 x_set_font_backend.
10362
10363 * xfont.c (xfont_list): Don't try listing by :name property if the
10364 name is not for XLFD.
10365
103662008-02-01 Kenichi Handa <handa@m17n.org>
10367
10368 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
10369 (LGLYPH_SET_TO): New macros.
10370 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
10371 element of G is vector or not.
10372 (font_at): Extern it.
10373
10374 * font.c: Include window.h.
10375 (font_lispy_object): New function.
10376 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
10377 end of valid glyph.
10378 (font_close_object): Fix getting (struct font *).
10379 (font_at): New function.
10380 (Ffont_get): If FONT is a font-object, get entity from it.
10381 (Ffont_make_gstring): Initialize elements of glyphs with nil.
10382 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
10383 range check.
10384 (Ffont_at): New function.
10385 (syms_of_font): Defsubr Sfont_at.
10386
10387 * xdisp.c (it_props): Move the entry for Qauto_composed to just
10388 before the entry for Qcomposition.
10389 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
10390 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
10391 the font in gstring.
10392 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
10393 LGLYPH_FORM (g) to detect the end of valid glyph.
10394 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
10395 we are composing with gstring.
10396
10397 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
10398 Check if adjustment is vector or not.
10399
10400 * Makefile.in (font.o): Make it depends on window.h.
10401
104022008-02-01 Kenichi Handa <handa@m17n.org>
10403
10404 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
10405 adjustment is vector or not.
10406
104072008-02-01 Miles Bader <miles@gnu.org>
10408
10409 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
10410
104112008-02-01 Kenichi Handa <handa@m17n.org>
10412
10413 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
10414 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
10415 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
10416
10417 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
10418 (DEVICE_DELTA): Fix typo.
10419 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
10420 LGLYPH format.
10421
10422 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
10423 the change of LGLYPH format.
10424
104252008-02-01 Kenichi Handa <handa@m17n.org>
10426
10427 * ftfont.c (ftfont_list): Fix typo.
10428 (ftfont_build_basic_charsets): Don't include letters with diacritics.
10429
104302008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10431
10432 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
10433
10434 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
10435 xftface_info is non-NULL.
10436
104372008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10438
10439 * ftfont.c (ftfont_list): Move misplaced #endif.
10440
104412008-02-01 Kenichi Handa <handa@m17n.org>
10442
10443 * ftfont.c (ftfont_list): Pay attention to the case that
10444 FC_CAPABILITY is not defined.
10445
104462008-02-01 Kenichi Handa <handa@m17n.org>
10447
10448 * xftfont.c (xftfont_open): Set charset related members to -1.
10449
10450 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
10451 QCname.
10452 (ftfont_open): Set charset related members to -1.
10453
10454 * fontset.c (Votf_script_alist): New variable.
10455 (syms_of_fontset): Initialize it.
10456 (fontset_font): Delete unused variable.
10457
10458 * fontset.h (Votf_script_alist): Extern it.
10459
10460 * font.c (font_find_for_lface): Optimize code.
10461
10462 * font.h (font_close_object, font_merge_old_spec): Extern them.
10463
104642008-02-01 Kenichi Handa <handa@m17n.org>
10465
10466 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
10467 (syms_of_font): Initialize them.
10468 (font_pixel_size): Allow float value in dpi.
10469 (font_prop_validate_type): Delete.
10470 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
10471 Change caller.
10472 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
10473 (font_prop_validate_extra): Delete.
10474 (font_prop_validate_spacing): New function.
10475 (font_property_table): Add elements for all known properties.
10476 (get_font_prop_index): Rename from check_font_prop_name. New
10477 argument FROM. Change caller.
10478 (font_prop_validate): Validate all known properties.
10479 (font_put_extra): Delete argument force. Change caller.
10480 (font_expand_wildcards): Make it static. Fix the way of shrinking
10481 the possible range.
10482 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
10483 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
10484 Change caller.
10485 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
10486 (font_parse_fcname): Delete argument merge. Fix parsing of point
10487 size. Don't validate properties values here. Change caller.
10488 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
10489 (font_open_by_name): Delete unused variable.
10490 (Ffont_spec): Likewise. Validate property values.
10491 (Ffont_match_p): New function.
10492
10493 * font.h (QCscalable): Extern it.
10494 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
10495
10496 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
10497
10498 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
10499 (xfont_list_pattern): New function.
10500 (xfont_list): Use xfont_list_pattern.
10501
105022008-02-01 Kenichi Handa <handa@m17n.org>
10503
10504 * font.h (Flist_fonts): EXFUN it.
10505
105062008-02-01 Jason Rumney <jasonr@gnu.org>
10507
10508 * w32term.c (w32_initialize): Add back smoothing_type and
10509 smoothing_enabled definitions.
10510
105112008-02-01 Kenichi Handa <handa@m17n.org>
10512
10513 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
10514 s->face->font on determining underline position.
10515
105162008-02-01 Kenichi Handa <handa@m17n.org>
10517
10518 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
10519 (font_has_char): Accept font-object too.
10520 (font_find_for_lface): Try at first with a size specified in face.
10521
105222008-02-01 Kenichi Handa <handa@m17n.org>
10523
10524 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
10525 font_open_by_name.
10526
105272008-02-01 Kenichi Handa <handa@m17n.org>
10528
10529 * font.h (QCspacing, QCdpi): Extern them.
10530 (enum font_spacing): New enum.
10531 (FONT_PIXEL_SIZE_QUANTUM): New macro.
10532
10533 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
10534 (QCspacing, QCdpi): New variables.
10535 (syms_of_font): Initialize them.
10536 (font_pixel_size): New function.
10537 (font_put_extra): New function.
10538 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
10539 in FONT_EXTRA.
10540 (font_parse_fcname): Handle enumerated values (e.g. bold).
10541 Fix handling font size. Add QCname property that contains only
10542 unknown properties.
10543 (font_score): Change argument. Change caller. Pay attention to
10544 FONT_PIXEL_SIZE_QUANTUM.
10545 (font_sort_entites, font_list_entities, font_find_for_lface)
10546 (font_open_for_lface, font_open_by_name): Fix handling of font size.
10547 (Ffont_spec): Add QCname property that contains only unknown properties.
10548
10549 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
10550 include weight in listing pattern, instead check weight of each
10551 listed font. Don't include scalable in pattern. Pay attention to
10552 FONT_PIXEL_SIZE_QUANTUM.
10553
105542008-02-01 Kenichi Handa <handa@m17n.org>
10555
10556 * font.c (font_parse_fcname): Fix parsing of point-size.
10557 (font_unparse_fcname): Produce symbolic names for style properties.
10558 (font_list_entities): Handle float size correctly.
10559 (font_open_by_name): Prefer `normal' property values if the name
10560 doesn't specify them.
10561
10562 * fontset.c (Finternal_char_font): Use font_get_name, not
10563 Ffont_xlfd_name.
10564
10565 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
10566 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
10567 pattern. Don't force scalable.
10568
10569 * xftfont.c (xftfont_open): For generating a name, start from
10570 96-byte buffer.
10571
105722008-02-01 Jan Djärv <jan.h.d@swipnet.se>
10573
10574 * frame.h (x_new_fontset2): Fix prototype.
10575
105762008-02-01 Kenichi Handa <handa@m17n.org>
10577
10578 * font.h (struct font_driver): Delete member parse_name.
10579 (font_match_p, font_get_spec, font_parse_fcname)
10580 (font_unparse_fcname): Extern them.
10581 (font_get_name): Adjust prototype.
10582
10583 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
10584 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
10585 (font_expand_wildcards): Fix handling ENCODING field. Avoid
10586 unnecessary checks for weight, slant, and swidth.
10587 (font_parse_fcname): New function.
10588 (font_unparse_fcname): New function.
10589 (font_parse_name): New function.
10590 (font_match_p): New function.
10591 (font_get_name): Change return value to Lisp string.
10592 (font_get_spec): New function.
10593 (Qunspecified, Qignore_defface): Don't extern them.
10594 (font_find_for_lface): Assume that LFACE is fully specified.
10595 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
10596 object, use it for FACE.
10597 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
10598 driver->parse_name.
10599 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
10600
10601 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
10602 prototype.
10603
10604 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
10605 argument F. Don't call Fnew_fontset. Instead, directly call
10606 make_fontset.
10607
10608 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
10609
10610 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
10611 of x_new_fontset2.
10612
10613 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
10614 (Qsans__serif): New variables.
10615 (ftfont_generic_family_list): New variable.
10616 (syms_of_ftfont): Initialize the above variables.
10617 (ftfont_pattern_entity): Delete argument NAME.
10618 (ftfont_list_generic_family): New function.
10619 (ftfont_parse_name): Delete this function.
10620 (ftfont_list): Try generic family only when FcFontList found no font.
10621 (ftfont_list_family): Fix args to FcObjectSetBuild.
10622
10623 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
10624 object in attrs[LFACE_FONT_INDEX].
10625 (set_lface_from_font_name): Cancel all changes for font-backend.
10626 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
10627 function.
10628 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
10629 font object in QCfont attribute.
10630 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
10631 (realize_default_face) [USE_FONT_BACKEND]: Call
10632 set_lface_from_font_and_fontset.
10633
10634 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
10635 "fixed", and signal error here if no suitable font was found.
10636
10637 * xfont.c (xfont_parse_name): Delete this function.
10638
10639 * xftfont.c (xftfont_open): Change coding style of error
10640 handling. Generate fontconfig's fontname pattern.
10641
10642 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
10643 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
10644
10645 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
10646 Both args FONTSET and FONT_OBJECT must be existing ones.
10647
106482008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10649
10650 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
10651
106522008-02-01 Kenichi Handa <handa@m17n.org>
10653
10654 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
10655
10656 * font.h (struct font): Fix typo.
10657
10658 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
10659 XLFD_XXX_INDEX.
10660 (enum xlfd_field_mask): New enum.
10661 (intern_font_field): Changed argument. Change caller. If digits
10662 are followed by non-digits, return a symbol.
10663 (font_expand_wildcards): New function.
10664 (font_parse_xlfd): Fix wildcard handling.
10665 (Ffont_spec): If :name is specified, reflect the info in the other
10666 properties.
10667
10668 * ftfont.c (ftfont_pattern_entity): Fix typo.
10669 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
10670 locale.
10671
106722008-02-01 Kenichi Handa <handa@m17n.org>
10673
10674 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
10675
10676 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
10677 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
10678 registry doesn't specify encoding part.
10679 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
10680 (font_open_by_name): At first try parsing the name.
10681 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
10682 as Lisp symbols.
10683
10684 * fontset.c (reorder_font_vector): Pay attention to the case that
10685 the 3rd element of font_def is nil.
10686 (fontset_font): For the default fontset, append one more fontset
10687 elements for a script-based font specification. Don't add script
10688 attribute on finding a font.
10689 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
10690 font name.
10691 (fontset_ascii_font): If a font can't be opened, return nil.
10692
10693 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
10694 (ftfont_pattern_entity): New function.
10695 (ftfont_get_cache): Assume that freetype_font_cache is already
10696 initialized.
10697 (ftfont_list): Handle the case that a file is specified in font
10698 name. Use ftfont_pattern_entity to generate entities.
10699 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
10700 (syms_of_ftfont): Initialize freetype_font_cache.
10701
10702 * xftfont.c (xftfont_open): Make the font name fontconfig's
10703 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
10704 (xftfont_close): Free font->font.name if not NULL.
10705
10706 * xfont.c (xfont_list): If script is specified for a font, return
10707 null_vector.
10708 (xfont_list_family): Declare argument type.
10709
10710 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
10711 name, set LFACE_FONT (lface) to nil.
10712
10713 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
10714 return Qnil.
10715
107162008-02-01 Kenichi Handa <handa@m17n.org>
10717
10718 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
10719 (standard_args): Add "-enable-font-backend".
10720
107212008-02-01 Kenichi Handa <handa@m17n.org>
10722
10723 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
10724 (struct xftdraw_list, xftdraw_list): Delete them.
10725 (register_xftdraw, check_xftdraw): Delete them.
10726 (xftfont_prepare_face): Don't call register_xftdraw.
10727 (xftfont_done_face): Don't call check_xftdraw.
10728 (xftfont_draw): Get background color only when with_background is
10729 nonzero.
10730
10731 * xfont.c (xfont_encode_char): Fix calculation of char2b.
10732
107332008-02-01 Kenichi Handa <handa@m17n.org>
10734
10735 These changes are for the new font handling codes.
10736
10737 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
10738 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
10739 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
10740 (FONTSRC, FONTOBJ): New variables.
10741 (obj): Add $(FONTOBJ).
10742 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
10743 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
10744 @LIBOTF_LIBS@.
10745 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
10746 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
10747
10748 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
10749
10750 * character.h (Vscript_representative_chars): Extern it.
10751
10752 * character.c (Vscript_representative_chars): New variable.
10753 (syms_of_character): Declare it as a Lisp variable.
10754
10755 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
10756 enable_font_backend is nonzero, accept the composition method
10757 COMPOSITION_WITH_GLYPH_STRING.
10758
10759 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
10760 enumeration COMPOSITION_WITH_GLYPH_STRING.
10761
10762 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
10763 members clip_x, clip_y, clip_width, and clip_height.
10764 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
10765
10766 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
10767 --enable-font-backend. Call syms_of_font.
10768
10769 * fns.c (assoc_no_quit): New function.
10770
10771 * fontset.h (FONT_INFO_FROM_FACE): New macro.
10772 (face_for_font, new_fontset_from_font)
10773 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
10774
10775 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
10776 (fontset_font, fontset_ascii, face_for_char)
10777 (make_fontset_for_ascii_face, Ffont_info)
10778 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
10779 is nonzero, use font-backend mechanism.
10780 (find_font_encoding): Make it non-static.
10781 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
10782 New functions.
10783
10784 * frame.h (struct frame): New members resx and resy.
10785 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
10786 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
10787
10788 * frame.c [USE_FONT_BACKEND]: Include "font.h".
10789 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
10790
10791 * lisp.h (assoc_no_quit): Extern it.
10792
10793 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
10794 Through out the file, use FONT_INFO_FROM_FACE instead of
10795 FONT_INFO_FROM_ID, use get_per_char_metric instead of
10796 rif->per_char_metric.
10797 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
10798 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
10799 (get_glyph_face_and_encoding, fill_composite_glyph_string)
10800 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
10801 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
10802 nonzero, use font-backend mechanism.
10803 (get_per_char_metric): New function.
10804
10805 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
10806 (set_lface_from_font_name)
10807 (set_font_frame_param, free_realized_face)
10808 (prepare_face_for_display, clear_face_gcs)
10809 (Finternal_set_font_selection_order, realize_x_face)
10810 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
10811 font-backend mechanism.
10812 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
10813 (load_face_font) [USE_FONT_BACKEND]: Abort.
10814 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
10815 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
10816
10817 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
10818 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
10819 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
10820 nonzero, register all available font drivers. Call
10821 x_default_font_parameter for deciding a font.
10822 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
10823
10824 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
10825 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
10826 (x_set_glyph_string_clipping_exactly)
10827 (x_compute_glyph_string_overhangs)
10828 (x_draw_glyph_string_foreground)
10829 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
10830 (x_free_frame_resources) [USE_FONT_BACKEND]: If
10831 enable_font_backend is nonzero, use font-backend mechanism.
10832 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
10833
108342008-02-01 Kenichi Handa <handa@m17n.org>
10835
10836 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
10837 system_eol_type.
10838 (syms_of_coding): Initialize system_eol_type.
10839
10840 * process.c (Fset_process_coding_system): Inherit system's eol
10841 format if necessary.
10842
108432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10844
10845 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
10846
108472008-02-01 Kenichi Handa <handa@m17n.org>
10848
10849 * coding.c (decode_eol): Pay attention to buffer relocation in
10850 del_range_2.
10851 (decode_coding): Call decode_eol before restoring undo_list.
10852
108532008-02-01 Kenichi Handa <handa@m17n.org>
10854
10855 * charset.c (Fdefine_charset_internal): Fix setting of
10856 emacs_mule_bytes.
10857
108582008-02-01 Kenichi Handa <handa@m17n.org>
10859
10860 * keyboard.c (read_char): Check if C is a character or not before
10861 looking up Vkeyboard_translate_table.
10862
108632008-02-01 Kenichi Handa <handa@m17n.org>
10864
10865 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
10866 condition to terminate the loop.
10867
108682008-02-01 Kenichi Handa <handa@m17n.org>
10869
10870 * coding.c (produce_composition): Compare charbuf[i] instead of
10871 args[i] against 0.
10872 (Fterminal_coding_system): Use EQ to compare Lisp objects.
10873
108742008-02-01 Kenichi Handa <handa@m17n.org>
10875
10876 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
10877 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
10878 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
10879 detect_coding.
10880 (emacs_mule_char): Handle old style (Emacs 20) component character
10881 of a composition.
10882 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
10883 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
10884 composition rule.
10885 (decode_coding_emacs_mule): Handle invalid bytes correctly.
10886
108872008-02-01 Kenichi Handa <handa@m17n.org>
10888
10889 * coding.c (encode_coding_ccl): Allocate destination dynamically
10890 when necessary.
10891
108922008-02-01 Kenichi Handa <handa@m17n.org>
10893
10894 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
10895 the loop. When quitted, show a proper error message.
10896
108972008-02-01 Kenichi Handa <handa@m17n.org>
10898
10899 * xterm.c (x_set_glyph_string_clipping_exactly): Set
10900 src->clip_head and src->clip_tail temporarily instead of src->hl.
10901
10902 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
10903 character sequence.
10904 (Fccl_execute_on_string): Use ASET, not XSET.
10905
109062008-02-01 Kenichi Handa <handa@m17n.org>
10907
10908 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
10909
109102008-02-01 Kenichi Handa <handa@m17n.org>
10911
10912 * coding.c (decode_coding): Fix the condition of terminating the
10913 decoding loop.
10914
109152008-02-01 Kenichi Handa <handa@m17n.org>
10916
10917 * data.c (Faset): On setting a character bigger than 255 in a
10918 unibyte string, signal an error instead of make the string multibyte.
10919
109202008-02-01 Kenichi Handa <handa@m17n.org>
10921
10922 * charset.c (map_charset_chars): Fix for ascii-compatible charset
10923 made by a mapping table.
10924
109252008-02-01 Kenichi Handa <handa@m17n.org>
10926
10927 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
10928 not.
10929 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
10930 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
10931
10932 * xterm.c (x_draw_composite_glyph_string_foreground): Check
10933 s->face is NULL or not.
10934
109352008-02-01 Kenichi Handa <handa@m17n.org>
10936
10937 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
10938 (x_draw_glyph_string): Fix drawing of right_overhang and
10939 left_overhang around/on cursor.
10940
10941 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
10942
109432008-02-01 Kenichi Handa <handa@m17n.org>
10944
10945 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
10946
109472008-02-01 Kenichi Handa <handa@m17n.org>
10948
10949 * coding.c (Fdefine_coding_system_internal)
10950 (Fdefine_coding_system_alias): Avoid a duplicated element in
10951 Vcoding_system_alist.
10952
109532008-02-01 Kenichi Handa <handa@m17n.org>
10954
10955 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
10956
10957 * coding.c (Qcoding_system_define_form): New variable.
10958 (syms_of_coding): Intern and staticpro it.
10959 (Fcoding_system_p): Check Qcoding_system_define_form.
10960 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
10961
10962 * coding.h (CODING_SYSTEM_P): If ID is not available, call
10963 Fcoding_system_p.
10964 (CHECK_CODING_SYSTEM): If ID is not available, call
10965 Fcheck_coding_system.
10966 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
10967 Try also Fcheck_coding_system.
10968
109692008-02-01 Kenichi Handa <handa@m17n.org>
10970
10971 * coding.c (code_conversion_restore): GCPRO arg.
10972
109732008-02-01 Kenichi Handa <handa@m17n.org>
10974
10975 * character.c (lisp_string_width): Check multibyteness of STRING.
10976
109772008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10978
10979 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
10980 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
10981 (decode_mac_font_name): Use decode_coding_c_string instead of
10982 decode_coding.
10983 (x_load_font): Initialize fontp->fontset to -1. Set
10984 fontp->encoding_type.
10985
109862008-02-01 Kenichi Handa <handa@m17n.org>
10987
10988 * search.c (search_buffer): Give up BM search on case-fold-search
10989 if one of a target character has a case-equivalence of different
10990 byte length even if that target charcter is an ASCII.
10991 (simple_search): Fix calculation of byte length of matched text.
10992 (boyer_moore): Fix handling of case-equivalent multibyte characters.
10993
109942008-02-01 Kenichi Handa <handa@m17n.org>
10995
10996 * coding.c (decode_coding): Fix handling of invalid bytes.
10997
109982008-02-01 Kenichi Handa <handa@m17n.org>
10999
11000 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
11001 Unicode characters.
11002
110032008-02-01 Kenichi Handa <handa@m17n.org>
11004
11005 * coding.c (encode_coding_object): If a pre-write-conversion
11006 function makes a new buffer, kill it.
11007
110082008-02-01 Kenichi Handa <handa@m17n.org>
11009
11010 * coding.c (QCascii_compatible_p): New variable.
11011 (syms_of_coding): Initialize it.
11012 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
11013 calling string_char.
11014 (record_conversion_result): Add `default:' case.
11015 (coding_charset_list): Delete unused variable `coding_type'.
11016 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
11017 property in the plist of the coding system.
11018 (Fcoding_system_put): Check QCascii_compatible_p.
11019
110202008-02-01 Miles Bader <miles@gnu.org>
11021
11022 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
11023 removed calculation of frame `f', as it's now used.
11024
110252008-02-01 Kenichi Handa <handa@m17n.org>
11026
11027 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
11028 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
11029 (UNIDATA): New variable.
11030 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
11031 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
11032 $(RUN_TEMACS) unconditionally.
11033
110342008-02-01 Kenichi Handa <handa@m17n.org>
11035
11036 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
11037 (admindir): New variable.
11038 ($(lispsource)international/charprop.el): New target.
11039
110402008-02-01 Miles Bader <miles@gnu.org>
11041
11042 * character.c (chars-in-region): Remove obsolete function.
11043 (syms_of_character): Remove its initialization.
11044
110452008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
11046
11047 * w32select.c (validate_coding_system)
11048 (setup_windows_coding_system): New functions.
11049 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
11050 setup_windows_coding_system.
11051 (setup_config, Fw32_get_clipboard_data): Use
11052 validate_coding_system.
11053 (Fx_selection_exists): Move call to setup_config to a place
11054 where signals are allowed.
11055
11056 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
11057 (Fcheck_coding_system): Add declarations.
11058
110592008-02-01 Kenichi Handa <handa@m17n.org>
11060
11061 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
11062
110632008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11064
11065 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
11066 string as the second argument for x_new_fontset.
11067
110682008-02-01 Kenichi Handa <handa@m17n.org>
11069
11070 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
11071 (encode_coding_object): Use safe_call instead of call2.
11072
110732008-02-01 Kenichi Handa <handa@m17n.org>
11074
11075 * fontset.c (Fset_fontset_font): Check family element of a given vector.
11076
11077 * Makefile.in (lisp): Include charprop.el.
11078
110792008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
11080
11081 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
11082 Not sure if it's unnecessary.
11083
110842008-02-01 Steven Tamm <steventamm@mac.com>
11085
11086 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
11087 some possibly unnecessary fontset checking code that crashed
11088 when creating a new frame.
11089
110902008-02-01 Kenichi Handa <handa@m17n.org>
11091
11092 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
11093 lookup_face.
11094
11095 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
11096
11097 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
11098
110992008-02-01 Kenichi Handa <handa@m17n.org>
11100
11101 * coding.c: Cancel the change done in HEAD on 2008-02-01.
11102 (coding_charset_list): New function.
11103
11104 * coding.h (coding_charset_list): Extern it.
11105
111062008-02-01 Kenichi Handa <handa@m17n.org>
11107
11108 * fontset.c (Fset_fontset_font): Call find_font_encoding with
11109 concatenation of family and registry.
11110
111112008-02-01 Kenichi Handa <handa@m17n.org>
11112
11113 * character.h (BYTE8_STRING): Fix typo.
11114
11115 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
11116 string to multibyte (sync to HEAD).
11117
11118 * casefiddle.c (casify_region): Handle changes in byte-length
11119 using replace_range_2 (sync to HEAD).
11120
111212008-02-01 Andreas Schwab <schwab@suse.de>
11122
11123 * chartab.c (map_char_table): GCPRO table and arg.
11124
111252008-02-01 Kenichi Handa <handa@m17n.org>
11126
11127 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
11128 already at limit.
11129
111302008-02-01 Kenichi Handa <handa@m17n.org>
11131
11132 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
11133 instead of fast_c_string_match_ignore_case.
11134 (find_font_encoding): Change argument to Lisp_Object. Use
11135 fast_string_match_ignore_case instead of
11136 fast_c_string_match_ignore_case. Change caller.
11137
111382008-02-01 Kenichi Handa <handa@m17n.org>
11139
11140 * xdisp.c (get_next_display_element): In unibyte case, decide to
11141 display in octal form by checking a character by
11142 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
11143
11144 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
11145
11146 * character.c (unibyte_has_multibyte_table): New variable.
11147
11148 * character.h (unibyte_has_multibyte_table): Extern it.
11149 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
11150
111512008-02-01 Kenichi Handa <handa@m17n.org>
11152
11153 * coding.c (encode_coding_iso_2022): Fix handling of charset
11154 annotation.
11155
111562008-02-01 Kenichi Handa <handa@m17n.org>
11157
11158 * coding.c (setup_coding_system): If coding_system is nil, use
11159 Qundecided.
11160 (Fterminal_coding_system): Return nil if terminal coding system is
11161 `undecided'.
11162 (syms_of_coding): Define coding-system `undecided' here. Setup
11163 terminal_coding as `undecided'.
11164
111652008-02-01 Kenichi Handa <handa@m17n.org>
11166
11167 * xdisp.c (message_dolog, set_message_1): Call
11168 unibyte_char_to_multibyte with arg type int.
11169
11170 * lread.c (read1): Fix reading of a char-table.
11171
11172 * print.c (print_object): Include sub char-table in circularities
11173 detection.
11174
111752008-02-01 Kenichi Handa <handa@m17n.org>
11176
11177 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
11178 Append the found sequences in car of ARGS instead of prepending.
11179
111802008-02-01 Kenichi Handa <handa@m17n.org>
11181
11182 * fileio.c (report_file_error): Make a unibyte string from
11183 strerror (errorno).
11184 (Fsubstitute_in_file_name): Fix the arg to
11185 unibyte_char_to_multibyte. It is evaluated twice.
11186
111872008-02-01 Kenichi Handa <handa@m17n.org>
11188
11189 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
11190
111912008-02-01 Kenichi Handa <handa@m17n.org>
11192
11193 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
11194 BOM is not found.
11195 (detect_coding, detect_coding_system): Optimization for ISO-2022
11196 when no 8-bit data is found.
11197
111982008-02-01 Jason Rumney <jasonr@gnu.org>
11199
11200 * w32fns.c (x_to_w32_font): Update to use new coding struct.
11201
112022008-02-01 Kenichi Handa <handa@m17n.org>
11203
11204 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
11205 CHARS.
11206
112072008-02-01 Steven Tamm <steventamm@mac.com>
11208
11209 * macterm.c (mac_encode_char): Add charset argument and update
11210 to use encoding_type.
11211 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
11212 switch to pure fontset.
11213 (decode_mac_font_name): Temporarily remove decoding.
11214 (x_font_name_to_mac_font_name): Temporarily remove encoding.
11215 (x_load_font): Temporarily remove encoding.
11216
112172008-02-01 Kenichi Handa <handa@m17n.org>
11218
11219 * xfaces.c (Fface_font): If frame is not on a window system,
11220 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
11221 refer to face->font.
11222 (split_font_name_into_vector, build_font_name_from_vector)
11223 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
11224 when HAVE_WINDOW_SYSTEM is defined.
11225
112262008-02-01 Kenichi Handa <handa@m17n.org>
11227
11228 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
11229 (x_produce_glyphs): Fix setting of members of cmp in case
11230 cmp->glyph_len is zero.
11231
11232 * fontset.c (Fset_fontset_font): Fix docstring.
11233 (Ffontset_info): Make it backward compatible. New arg ALL.
11234
112352008-02-01 Kim F. Storm <storm@cua.dk>
11236
11237 * process.c (read_process_output): Grow decoding_buf when needed;
11238 this could cause a crash in allocate_string and compact_small_strings.
11239
112402008-02-01 Kenichi Handa <handa@m17n.org>
11241
11242 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
11243
112442008-02-01 Kenichi Handa <handa@m17n.org>
11245
11246 * coding.c (setup_coding_system): Set coding->common_flags
11247 correctly for raw-text.
11248 (consume_chars): On encoding unibyte text by raw-text, don't check
11249 multibyte form.
11250 (encode_coding): On encoding by raw-text, never use translation tables.
11251
11252 * fileio.c (e_write): Short cut for the case of no encoding.
11253
112542008-02-01 Kenichi Handa <handa@m17n.org>
11255
11256 * coding.c (detect_coding, detect_coding_system): Delete unused
11257 variables.
11258
112592008-02-01 Kenichi Handa <handa@m17n.org>
11260
11261 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
11262 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
11263
112642008-02-01 Kenichi Handa <handa@m17n.org>
11265
11266 * coding.c (Ffind_coding_systems_region_internal): Include
11267 raw-text and no-conversion in the result.
11268
112692008-02-01 Kenichi Handa <handa@m17n.org>
11270
11271 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
11272 (load_font_get_repertory): Delete unnecessary check of ENCODING of
11273 FONT_DEF.
11274 (font_def_arg, add_arg, from_arg, to_arg): New args.
11275 (set_fontset_font): Change argument.
11276 (Fset_fontset_font): Fix for the case that TARGET is a script
11277 name and charset name.
11278 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
11279
112802008-02-01 Kenichi Handa <handa@m17n.org>
11281
11282 * fontset.c (fontset_font): Rename from fontset_face. Change return
11283 value.
11284 (face_suitable_for_char_p, face_for_char): Adjust for the change
11285 of fontset_font.
11286 (make_fontset_for_ascii_face): Fix setting of the fontset element
11287 for ASCII.
11288 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
11289 to get a font name.
11290 (Ffontset_info): Adjust for the change of fontset_font.
11291
11292 * coding.c (emacs_mule_char): Check invalid code more rigidly.
11293
11294 * character.h (LEADING_CODE_LATIN_1_MIN)
11295 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
11296
112972008-02-01 Kenichi Handa <handa@m17n.org>
11298
11299 * editfns.c (check_translation): New function.
11300 (Ftranslate_region_internal): Handle M:N mapping.
11301
113022008-02-01 Kenichi Handa <handa@m17n.org>
11303
11304 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
11305
113062008-02-01 Kenichi Handa <handa@m17n.org>
11307
11308 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
11309 goto invalid_code.
11310 (decode_coding_iso_2022): Fix handling of invalid designation.
11311
11312 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
11313 after calling code_conversion_save.
11314
113152008-02-01 Kenichi Handa <handa@m17n.org>
11316
11317 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
11318
11319 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
11320
11321 * fontset.c: Include "intervals.h".
11322 (fontset_face): Fix comparing of Lisp_Objects.
11323 (free_face_fontset, new_fontset_from_font_name): Fix
11324 Lisp_Object/int mixup.
11325
11326 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
11327
11328 * coding.c: Add many prototypes for static functions.
11329 (get_translation_table): Allow max_lookup to be NULL.
11330 (decode_coding, Ffind_coding_systems_region_internal)
11331 (Funencodable_char_position, Fcheck_coding_systems_region): Call
11332 get_translation_table with max_lookup NULL.
11333
113342008-02-01 Kenichi Handa <handa@m17n.org>
11335
11336 * coding.c (get_translation_table): Declare it as Lisp_Object.
11337 (LOOKUP_TRANSLATION_TABLE): New macro.
11338 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
11339 instead of CHAR_TABLE_REF.
11340
113412008-02-01 Kenichi Handa <handa@m17n.org>
11342
11343 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
11344 annotation data format.
11345 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
11346 Change arguments FROM and TO to single argument NCHARS. Change caller.
11347 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
11348 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
11349 (decode_coding_ccl, decode_coding_charset): Pay attention to
11350 coding->charbuf_used.
11351 (get_translation): New function.
11352 (produce_chars): New arguments translation_table and last_block.
11353 Translate characters here. Return number of carryover chars.
11354 Change caller.
11355 (produce_composition): New argument pos. Change caller.
11356 Adjust for the change of annotation data format.
11357 (produce_charset, produce_annotation): Likewise.
11358 (decode_coding, encode_coding): Don't call translate_chars.
11359 (consume_chars): New arg translation_table. Change caller.
11360 (translate_chars): Delete.
11361 (syms_of_coding): Make translation-table's number of extra slots 2.
11362
113632008-02-01 Kenichi Handa <handa@m17n.org>
11364
11365 * search.c (simple_search): Fix setting this_pos_byte in backward
11366 search.
11367
11368 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
11369 byte sequence.
11370 (detect_coding_ccl): Fix setting of the variable valids.
11371
113722008-02-01 Kenichi Handa <handa@m17n.org>
11373
11374 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
11375
11376 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
11377
11378 * editfns.c (Ftranslate_region_internal): Rename from
11379 Ftranslate_region. Accept a char-table in TABLE.
11380 (syms_of_editfns): Defsubr Stranslate_region_internal.
11381
11382 * xfaces.c (set_lface_from_font_name): If a font is specified for
11383 a frame, generate a fontset from the font.
11384 (build_scalable_font_name): If the scalable font is requested for
11385 a specific size, don't change that size.
11386 (try_font_list): Try a scalable font also in the case that a
11387 pattern string is specified.
11388
113892008-02-01 Kenichi Handa <handa@m17n.org>
11390
11391 * xfaces.c (Fface_font): New optional arg CHARACTER.
11392
113932008-02-01 Kenichi Handa <handa@m17n.org>
11394
11395 * charset.h (CHARSET_OFFSET): New macro.
11396
113972008-02-01 Kenichi Handa <handa@m17n.org>
11398
11399 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
11400
11401 * fontset.c (fontset_face): Handle the case that repertory is a
11402 char-table.
11403 (find_font_encoding): Return nil for unknown encoding.
11404 (Fset_fontset_font): Ignore a font of unknown encoding.
11405
114062008-02-01 Kenichi Handa <handa@m17n.org>
11407
11408 * keymap.c (describe_vector): Handle default value of a char table.
11409
11410 * fontset.c (fontset_face): Handle fallback fonts correctly.
11411 (Ffontset_info): Return infomation about fallback fonts.
11412
114132008-02-01 Kenichi Handa <handa@m17n.org>
11414
11415 * fontset.c (FONTSET_DEFAULT): New macro.
11416 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
11417 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
11418 the case that it is nil.
11419 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
11420 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
11421
11422 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
11423 subset or superset.
11424
114252008-02-01 Kenichi Handa <handa@m17n.org>
11426
11427 * emacs.c (main): Call init_charset after syms_of_XXX.
11428
11429 * charset.c (Vcharset_map_directory): Delete.
11430 (Vcharset_map_path): New variable.
11431 (load_charset_map_from_file): Use Vcharset_map_path instead.
11432 (init_charset): Initialize Vcharset_map_path.
11433 (syms_of_charset): Delete declaration of "charset-map-directory",
11434 add declaration of "charset-map-path".
11435
114362008-02-01 Kenichi Handa <handa@m17n.org>
11437
11438 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
11439 ASCII only string.
11440
11441 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
11442
11443 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
11444 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
11445
114462008-02-01 Kenichi Handa <handa@m17n.org>
11447
11448 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
11449
11450 * coding.c (QCmnemonic, QCdefalut_char)
11451 (QCdecode_translation_table, QCencode_translation_table)
11452 (QCpost_read_conversion, QCpre_write_conversion): New variables.
11453 (get_translation_table): Return a list of translation tables if
11454 necessary.
11455 (decode_coding): Call get_translation_table with ENCODEP 0.
11456 (char_encodable_p): If translation_table is non-nil, always call
11457 translate_char.
11458 (Fdefine_coding_system_internal): Accept list of translation
11459 tables as :encode-translation-table and :decode-translation-table.
11460 (Fcoding_system_put): New function.
11461 (syms_of_coding): Declare new symbols. Defsubr
11462 Scoding_system_put.
11463 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
11464 typically JISX0212.
11465
11466 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
11467 when the charset is superset type.
11468
11469 * character.c (translate_char): Accept list of translation tables.
11470
114712008-02-01 Kenichi Handa <handa@m17n.org>
11472
11473 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
11474 (CODING_ATTR_TRANS_TBL): New macro.
11475
11476 * coding.c (get_translation_table): New function.
11477 (translate_chars): Fix the bug of skipping annotation data.
11478 (decode_coding, encode_coding): Utilize get_translation_table.
11479 (char_encodable_p, Funencodable_char_position): Translate char if
11480 necessary.
11481 (Ffind_coding_systems_region_internal)
11482 (Fcheck_coding_systems_region): Setup translation table for encode
11483 in a coding system attribute vector in advance.
11484 (Fdefine_coding_system_internal): Allow a symbol as translation
11485 table. For shift-jis type coding system, allow 4th charset.
11486
114872008-02-01 Kenichi Handa <handa@m17n.org>
11488
11489 * coding.c (decode_coding_sjis): Check the first byte rigidly.
11490
11491 * xdisp.c (get_next_display_element): Pass -1 as POS to
11492 FACE_FOR_CHAR if displaying a C-string.
11493
114942008-02-01 Kenichi Handa <handa@m17n.org>
11495
11496 * composite.c (get_composition_id): Handle xoff and yoff in a
11497 composition rule.
11498
11499 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
11500 (struct composition): New member lbearing and rbearing.
11501
11502 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
11503 (x_get_glyph_overhangs): Handle a composition glyph.
11504 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
11505
11506 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
11507 composition glyph.
11508
115092008-02-01 Kenichi Handa <handa@m17n.org>
11510
11511 * print.c: Include charset.h.
11512 (Vprint_charset_text_property): New variable.
11513 (Qdefault): Extern it.
11514 (PRINT_STRING_NON_CHARSET_FOUND)
11515 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
11516 (print_check_string_result): New variable.
11517 (print_check_string_charset_prop): New function.
11518 (print_prune_charset_plist): New variable.
11519 (print_prune_string_charset): New function.
11520 (print_object): Call print_prune_string_charset if
11521 Vprint_charset_text_property is not t.
11522 (print_interval): Print nothing if interval->plist is nil.
11523 (syms_of_print): Declare Vprint_charset_text_property as a lisp
11524 variable. Init and staticpro print_prune_charset_plist.
11525
115262008-02-01 Kenichi Handa <handa@m17n.org>
11527
11528 * fontset.c (new_fontset_from_font_name): Use the specified font
11529 for all characters in the new fontset.
11530
11531 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11532 OBJECT args.
11533
11534 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
11535 OBJECT args for composition too.
11536
11537 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
11538 OBJECT args.
11539
115402008-02-01 Kenichi Handa <handa@m17n.org>
11541
11542 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
11543
11544 * fontset.c (reorder_font_vector): Adjust for the change of
11545 FONT_DEF format.
11546 (fontset_face): New arg id. Change caller.
11547 (face_for_char): New args pos and object.
11548 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
11549 (fs_query_fontset): Check NAME by Fassoc too.
11550 (Fset_fontset_font): Allow non-XLFD font name.
11551 (Ffontset_info): Adjust for the change of FONT_DEF format.
11552
11553 * fontset.h (face_for_char): Adjust prototype.
11554
11555 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
11556 (append_space, extend_face_to_end_of_line)
11557 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
11558 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
11559
11560 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
11561 POS and OBJECT args.
11562
11563 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
11564 POS and OBJECT args.
11565
115662008-02-01 Jason Rumney <jasonr@gnu.org>
11567
11568 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
11569 of GlobalAlloc'ed memory.
11570
115712008-02-01 Kenichi Handa <handa@m17n.org>
11572
11573 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
11574
11575 * charset.h (charset_table_used): Delete extern.
11576
11577 * charset.c (charset_table_used): Make it static.
11578 (map_charset_chars): Fix args to c_function with.
11579
11580 * chartab.c (map_sub_char_table_for_charset): Fix args to
11581 c_function with.
11582
11583 * coding.h (enum coding_result_code): Delete
11584 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
11585
11586 * coding.c (Qinsufficient_source, Qinconsistent_eol)
11587 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
11588 (Vlast_code_conversion_error): New variables.
11589 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
11590 (ONE_MORE_BYTE): Record error if any instead of signaling an
11591 error. If non-ASCII multibyte char is found, return the negative
11592 value of the code. All callers changed to check it.
11593 (ONE_MORE_BYTE_NO_CHECK): Likewise.
11594 (record_conversion_result): New function. Change all codes setting
11595 coding->result to call this function.
11596 (detect_coding_utf_8, decode_coding_utf_8)
11597 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
11598 Don't use the local variable incomplete.
11599 (emacs_mule_char): Change the second arg to `const'.
11600 (decode_coding): Fix of flushing out unprocessed data.
11601 (make_conversion_work_buffer): Fix making of a work buffer.
11602 (decode_coding_object): Return coding->dst_object.
11603
11604 * fontset.c (set_fontset_font): Fix args.
11605
11606 * lisp.h (CHARACTERBITS): Define as 22.
11607
11608 * process.c (send_process): Be sure to set coding->src_multibyte.
11609
11610 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
11611
116122008-02-01 Kenichi Handa <handa@m17n.org>
11613
11614 * xdisp.c (handle_auto_composed_prop): Give limit to
11615 Fnext_single_char_property_change.
11616
116172008-02-01 Kenichi Handa <handa@m17n.org>
11618
11619 * composite.c (syms_of_composite): Don't make the composition hash
11620 table weak.
11621
11622 * fontset.c (Fset_fontset_font): Fix docstring.
11623
11624 * lisp.h (detect_coding_system): Adjust prototype.
11625
11626 * fileio.c (kill_workbuf_unwind): Delete this function.
11627 (Finsert_file_contents): Adjust the call of detect_coding_system.
11628 Get conversion_buffer by code_conversion_save. Use the macro
11629 CODING_MAY_REQUIRE_DECODING. After decoding, update
11630 coding_system.
11631
11632 * coding.h (make_conversion_work_buffer): Delete extern.
11633 (code_conversion_save): Extern it.
11634
11635 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
11636 (CODING_GET_INFO): Delete argument eol_type. Change callers.
11637 (decode_coding_utf_8): Don't do eol converion.
11638 (detect_coding_utf_16): Check coding->src_chars, not
11639 coding->src_bytes. Add heuristics for those that have no signature.
11640 (decode_coding_emacs_mule, decode_coding_iso_2022)
11641 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
11642 Don't do eol converion.
11643 (adjust_coding_eol_type): Return a new coding system.
11644 (detect_coding): Don't detect eol. Fix for utf-16 detection.
11645 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
11646 each change.
11647 (decode_coding): Pay attention to undo_list. Do eol conversion for
11648 all types of coding-systems (if necessary).
11649 (Vcode_conversion_work_buf_list): Delete it.
11650 (Vcode_conversion_reused_workbuf): Rename from
11651 Vcode_conversion_reused_work_buf.
11652 (Vcode_conversion_workbuf_name): New variable.
11653 (reused_workbuf_in_use): New variable.
11654 (make_conversion_work_buffer): Delete the arg DEPTH.
11655 (code_conversion_restore): Change argument to cons.
11656 (code_conversion_save): Delete the argument BUFFER. Change callers.
11657 (detect_coding_system): New argument src_chars. Change callers.
11658 Fix for utf-16 detection.
11659 (init_coding_once): Don't use ISO_carriage_return.
11660 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
11661 reused_workbuf_in_use.
11662
116632008-02-01 Kenichi Handa <handa@m17n.org>
11664
11665 * keymap.c (store_in_keymap): Pay attention to the case that idx
11666 is a cons specifying a character range.
11667
116682008-02-01 Kenichi Handa <handa@m17n.org>
11669
11670 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
11671 HANDLED_RECOMPUTE_PROPS.
11672
11673 * coding.c (Fdefine_coding_system_internal): Fix checking of
11674 ascii compatibility.
11675
116762008-02-01 Kenichi Handa <handa@m17n.org>
11677
11678 * charset.c (find_charsets_in_text): Delete unused locale variable.
11679 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
11680
11681 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
11682 Resync charset_list to Vemacs_mule_charset_list.
11683
11684 * keymap.c (store_in_keymap): Pay attention to the case that idx
11685 is a cons specifying a character range.
11686
116872008-02-01 Kenichi Handa <handa@m17n.org>
11688
11689 * composite.c (update_compositions): Bind inhibit-read-only, etc
11690 to t before calling remove-list-of-text-properties.
11691
11692 * print.c (print_object): Always print ASCII chars as is.
11693
116942008-02-01 Kenichi Handa <handa@m17n.org>
11695
11696 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
11697
11698 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
11699 is a char table.
11700
117012008-02-01 Kenichi Handa <handa@m17n.org>
11702
11703 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
11704
117052008-02-01 Kenichi Handa <handa@m17n.org>
11706
11707 * xfaces.c (set_lface_from_font_name): Fix for the case that
11708 FONTNAME is not fontset name.
11709
117102008-02-01 Kenichi Handa <handa@m17n.org>
11711
11712 * fns.c (base64_encode_1): Fix previous change.
11713
117142008-02-01 Kenichi Handa <handa@m17n.org>
11715
11716 * fontset.c (set_fontset_font): New function.
11717 (Fset_fontset_font): If a font is specified for a charset, use
11718 map_charset_chars to store the font spec in a fontset.
11719
117202008-02-01 Kenichi Handa <handa@m17n.org>
11721
11722 * fontset.c (fontset_face): Create a fallback fontset on demand.
11723 (make_fontset): Don't create a fallback fontset here.
11724 (free_face_fontset): Free a fallback fontset (if any) too.
11725 (n_auto_fontsets): Delete this variable.
11726 (auto_fontset_alist): New variable.
11727 (new_fontset_from_font_name): Check auto_fontset_alist.
11728 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
11729 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
11730 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
11731 Defsubr Sfontset_list_all.
11732
117332008-02-01 Kenichi Handa <handa@m17n.org>
11734
11735 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
11736
117372008-02-01 Kenichi Handa <handa@m17n.org>
11738
11739 * fontset.c (Fnew_fontset): Check NAME more rigidly.
11740
117412008-02-01 Kenichi Handa <handa@m17n.org>
11742
11743 * editfns.c (Fgoto_char): Fix docstring.
11744
117452008-02-01 Kenichi Handa <handa@m17n.org>
11746
11747 * insdel.c (insert_from_gap): Adjust intervals correctly.
11748
117492008-02-01 Jason Rumney <jasonr@gnu.org>
11750
11751 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
11752 (pfnGetFontUnicodeRanges): New dynamically loaded function.
11753 (w32_initialize): Try to load it.
11754 (x_get_font_repertory): Use it if available.
11755 (w32_encode_char): Add shortcut for unicode output.
11756
11757 * w32fns.c (w32_load_system_font): Default charset to -1.
11758 (x_to_w32_charset): Match all fonts for unicode.
11759 (w32_to_x_charset): New parameter matching. Don't return partial
11760 or wildcard charsets.
11761 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
11762 (w32_codepage_for_font): Return CP_UNICODE for unicode.
11763 (w32_to_x_font): Match charset to real charset.
11764 (enum_font_cb2): Always list unicode versions.
11765
11766 * makefile.w32-in (temacs): Increase EMHEAP.
11767
117682008-02-01 Jason Rumney <jasonr@gnu.org>
11769
11770 * w32term.c (w32_encode_char): New charset parameter.
11771 font_info.encoding becomes encoding_type.
11772 (x_get_font_repertory): New function. Warning: stub only!
11773 (x_new_font): Return quickly if font already set.
11774 (x_new_fontset): fontsetname parameter is Lisp_Object.
11775 Use new fs_query_fontset. Try new_fontset_from_font_name.
11776 Use fontset_name for return value.
11777
11778 * w32term.h: Declare x_get_font_repertory.
11779
11780 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
11781 place of find_charset_in_text. Use encode_coding_object in place
11782 of encode_coding.
11783 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
11784 decode_coding.
11785
11786 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
11787 of x_new_fontset.
11788 (w32_load_system_font): Initialize charset as unicode.
11789 font_info.encoding becomes encoding_type.
11790 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
11791 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
11792 (syms_of_w32fns): Set get_font_repertory_func.
11793
11794 * w32console.c: Include character.h. Use terminal_encode_buffer
11795 from term.c.
11796 (write_glyphs): Use new version of encode_terminal_code. Use
11797 encode_coding_object in place of encode_coding.
11798
11799 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
11800 encoding becomes encoding_type.
11801
11802 * term.c (terminal_encode_buffer): Make externally visible.
11803
11804 * makefile.w32-in: Add character.h dependancies.
11805 (character.o, chartab.o): New targets.
11806
118072008-02-01 Kenichi Handa <handa@m17n.org>
11808
11809 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
11810 CODING_ID_EOL_TYPE.
11811
118122008-02-01 Andreas Schwab <schwab@suse.de>
11813
11814 * coding.c (produce_chars): Revert last change.
11815
118162008-02-01 Kenichi Handa <handa@m17n.org>
11817
11818 * charset.h (charset_unicode): Extern it.
11819
11820 * charset.c (string_xstring_p): Check by (C >= 0x100).
11821 (find_charsets_in_text): Change format of the arc CHARSETS. New
11822 arg MULTIBYTE.
11823 (Ffind_charset_region, Ffind_charset_string): Adjust for the
11824 change of find_charsets_in_text.
11825 (Fsplit_char): Fix doc. Never return unknown.
11826
11827 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
11828
11829 * coding.c (Fdefine_coding_system_alias): Update
11830 Vcoding_system_list.
11831
11832 * fontset.c (load_font_get_repertory): Pay attention to the case
11833 that ENCODING of a font is specified by a char-table.
11834
11835 * xterm.c (x_get_font_repertory): Handle the case that the
11836 encoding of font is other than Unicode.
11837
118382008-02-01 Kenichi Handa <handa@m17n.org>
11839
11840 * term.c (encode_terminal_code): Don't handle glyph-table. Check
11841 if a character is encodable by the terminal coding system. If
11842 not, produces proper number of `?'s. Update
11843 terminal_encode_buffer and terminal_encode_buf_size if necessary.
11844 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
11845
118462008-02-01 Kenichi Handa <handa@m17n.org>
11847
11848 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
11849 variables.
11850 (encode_terminal_code): Change argument. Encode multiple
11851 characters at once. Store the result of encoding in
11852 terminal_encode_buffer.
11853 (write_glyphs, insert_glyphs): Adjust for the change of
11854 encode_terminal_code.
11855 (term_init): Initialize terminal_encode_buffer and
11856 terminal_encode_buf_size.
11857
11858 * coding.c (consume_chars): If coding->src_object is nil, don't
11859 check annotation.
11860
118612008-02-01 Kenichi Handa <handa@m17n.org>
11862
11863 * character.c (char_string): Use ASCII_CHAR_P instead of
11864 SINGLE_BYTE_CHAR_P.
11865
118662008-02-01 Kenichi Handa <handa@m17n.org>
11867
11868 * xdisp.c (handle_auto_composed_prop): Check if the last
11869 characters of auto-composed region is newly composed with the
11870 following characters.
11871 (handle_composition_prop): Fix checking of point being inside
11872 composition.
11873
118742008-02-01 Kenichi Handa <handa@m17n.org>
11875
11876 * fns.c (concat): Don't change multibyteness of the result by
11877 concatenating an 8-bit character.
11878
11879 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
11880 multibyteness of the result when newelt is an 8-bit character.
11881
118822008-02-01 Dave Love <fx@gnu.org>
11883
11884 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
11885 EMACS_INT.
11886
11887 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
11888
11889 * xfaces.c (face_numeric_value): Declare dim size_t.
11890 (Finternal_lisp_face_equal_p): Remove unused f.
11891
11892 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
11893 (MATRIX_ROW): Remove unused vars.
11894 (draw_glyphs, x_insert_glyphs, fast_find_position)
11895 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
11896 byte/char counts.
11897
11898 * regex.c (regex_compile): Remove unused var.
11899
11900 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
11901
11902 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
11903 (Faccessible_keymaps, where_is_internal): Remove unused vars.
11904
11905 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
11906
11907 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
11908
11909 * fileio.c (Fwrite_region): Remove unused var.
11910
11911 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
11912 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
11913
11914 * composite.c (Fremove_list_of_text_properties): Declare.
11915
11916 * coding.c (inhibit_pre_post_conversion): Remove (unused).
11917 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
11918 (coding_inherit_eol_type): Remove unused attrs.
11919 (detect_coding): Cast arg of detect_eol.
11920
11921 * charset.c (syms_of_charset): Remove unused var p.
11922 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
11923 byte/char counts.
11924
11925 * casetab.c (set_case_table): Remove unused var.
11926
11927 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
11928 unused vars.
11929
119302008-02-01 Dave Love <fx@gnu.org>
11931
11932 * xterm.c (x_bitmap_mask): Declare.
11933
119342008-02-01 Dave Love <fx@gnu.org>
11935
11936 * xterm.c (x_term_init): Fix type error.
11937
11938 * lisp.h: Add Funibyte_char_to_multibyte.
11939
11940 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
11941 (Fset_coding_system_priority): Doc fix.
11942
11943 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
11944
11945 * indent.c (check_composition): Make start and end EMACS_INT.
11946
11947 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
11948
11949 * xdisp.c (handle_composition_prop, check_point_in_composition):
11950 Make buffer positions EMACS_INT.
11951
11952 * composite.c (find_composition, run_composition_function)
11953 (update_compositions, Ffind_composition_internal): Make buffer
11954 positions EMACS_INT.
11955
11956 * composite.h (find_composition, update_compositions): Make
11957 position args EMACS_INT.
11958
11959 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
11960
11961 * intervals.c (get_property_and_range):
11962 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
11963
11964 * unexalpha.c: Don't include varargs.h.
11965
119662008-02-01 Dave Love <fx@gnu.org>
11967
11968 * coding.h (ENCODE_UTF_8): New.
11969
11970 * Makefile.in (gtkutil.o): Depend on coding.h.
11971
11972 * coding.c (Fset_coding_system_priority): Doc fix.
11973
119742008-02-01 Kenichi Handa <handa@m17n.org>
11975
11976 * fileio.c (Finsert_file_contents): Call setup_coding_system in
11977 the case of auto saving.
11978
119792008-02-01 Andreas Schwab <schwab@suse.de>
11980
11981 * chartab.c (map_char_table, map_char_table_for_charset): Protect
11982 `range' from GC.
11983
119842008-02-01 Kenichi Handa <handa@m17n.org>
11985
11986 * coding.c (decode_coding_sjis): Check bytes more rigidly.
11987
119882008-02-01 Kenichi Handa <handa@m17n.org>
11989
11990 * fileio.c (choose_write_coding_system): Return a decided coding system.
11991 (Fwrite_region): Set Vlast_coding_system_used to the return value
11992 of choose_write_coding_system.
11993
119942008-02-01 Kenichi Handa <handa@m17n.org>
11995
11996 * charset.c (Fset_charset_priority): Pay attention to duplicated
11997 arguments.
11998
11999 * coding.c (QCcategory): New variable.
12000 (syms_of_coding): Defsym it. Set all elements of
12001 Vcoding_category_table and their symbol values.
12002 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
12003 coding-category-XXX, and coding-category-list.
12004 (Fdefine_coding_system_internal): Add category in the plist.
12005
120062008-02-01 Kenichi Handa <handa@m17n.org>
12007
12008 * callproc.c (Fcall_process): Handle carryover correctly.
12009
12010 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
12011 (raw_text_coding_system): Check NILP (coding_system).
12012 (coding_inherit_eol_type): Check NILP (coding_system) and
12013 NILP (parent).
12014 (consume_chars): Fix for the case of raw-text.
12015
12016 * process.c (read_process_output): Handle carryover correctly.
12017
120182008-02-01 Dave Love <fx@gnu.org>
12019
12020 * regex.c (re_search_2): Fix last change.
12021
120222008-02-01 Kenichi Handa <handa@m17n.org>
12023
12024 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
12025 target_multibyte. Even in a unibyte case, return a converted
12026 multibyte char.
12027 (GET_CHAR_AFTER): New macro.
12028 (PATFETCH): Translate via multibyte char.
12029 (HANDLE_UNIBYTE_RANGE): Delete this macro.
12030 (SETUP_MULTIBYTE_RANGE): New macro.
12031 (regex_compile): Setup compiled code so that its multibyteness
12032 matches that of a target. Fix the handling of "[X-YZ]" using
12033 SETUP_MULTIBYTE_RANGE.
12034 (analyse_first) <charset>: For filling fastmap for all multibyte
12035 characters, don't check by BASE_LEADING_CODE_P.
12036 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
12037 the same as RE_MULTIBYTE_P (bufp) now.
12038 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
12039 (TARGET_CHAR_AND_LENGTH): Delete this macro.
12040 (TRANSLATE_VIA_MULTIBYTE): New macro.
12041 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
12042 It is the same as RE_MULTIBYTE_P (bufp) now.
12043 <exactn>: Translate via multibyte.
12044 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
12045 translate it.
12046 <charset, charset_not>: Fetch a character by
12047 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
12048 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
12049 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
12050 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
12051 by GET_CHAR_AFTER.
12052 (bcmp_translate): Likewise.
12053
12054 * search.c (compile_pattern): Check the member target_multibyte,
12055 not the member multibyte of buf.
12056
12057 * lread.c (read1): While reading a string, set force_singlebyte
12058 and force_multibyte correctly.
12059
12060 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
12061 up of unibyte_to_multibyte_table.
12062
120632008-02-01 Kenichi Handa <handa@m17n.org>
12064
12065 * coding.c (setup_coding_system): If coding has
12066 post-read-conversion or pre-write-conversion, set
12067 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
12068 respectively.
12069 (decode_coding_gap): Run post-read-conversion if any.
12070
12071 * fileio.c (Finsert_file_contents): Even if we read into a
12072 unibyte buffer, check if we must decode the result or not.
12073
120742008-02-01 Kenichi Handa <handa@m17n.org>
12075
12076 * coding.c (make_conversion_work_buffer): Change the work buffer
12077 name to the same one as that of Emacs 21.
12078
120792008-02-01 Kenichi Handa <handa@m17n.org>
12080
12081 * coding.h (make_conversion_work_buffer): Adjust prototype.
12082 (code_conversion_restore): Don't extern it.
12083
12084 * coding.c (detected_mask): Delete unused variable.
12085 (decode_coding_iso_2022): Pay attention to the byte sequence of
12086 CTEXT extended segment, and retain those bytes as is.
12087 (decode_coding_ccl): Delete unused variable `valids'.
12088 (setup_coding_system): Delete unused variable `category'.
12089 (consume_chars): Delete unused variable `category'. Make it work
12090 for non-multibyte case.
12091 (make_conversion_work_buffer): Change argument.
12092 (saved_coding): Delete unused variable.
12093 (code_conversion_restore): Don't check saved_coding->destination.
12094 (code_conversion_save): New function.
12095 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
12096 instead of record_unwind_protect.
12097 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
12098 (detect_coding_system): Delete unused variable `mask'.
12099 (Fdefine_coding_system_internal): Delete unused variable id.
12100
12101 * fileio.c (kill_workbuf_unwind): New function.
12102 (Finsert_file_contents): On replacing, call
12103 make_conversion_work_buffer with correct args, and call
12104 record_unwind_protect with the first arg kill_workbuf_unwind.
12105
12106 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
12107
121082008-02-01 Kenichi Handa <handa@m17n.org>
12109
12110 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
12111 (fontset_add): Fix for the case that TO is less than TO1.
12112 (Ffontset_info): Don't use fallback fontset on checking the
12113 default fontset.
12114 (dump_fontset): New function for debugging.
12115
12116 * coding.c (Fdefine_coding_system_internal): Fix for the case that
12117 coding_type is Qcharset.
12118
121192008-02-01 Kenichi Handa <handa@m17n.org>
12120
12121 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
12122 (map_char_table): Don't inherit the value from the parent on
12123 initializing VAL. Adjust for the above change.
12124
121252008-02-01 Kenichi Handa <handa@m17n.org>
12126
12127 * coding.c (Qsignature, Qendian): Delete these variables.
12128 (syms_of_coding): Don't initialize them.
12129 (CATEGORY_MASK_UTF_16_AUTO): New macro.
12130 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
12131 detect_info->found.
12132 (decode_coding_utf_16): Don't detect BOM here.
12133 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
12134 is NOT utf_16_without_bom.
12135 (setup_coding_system): For a coding system of type utf-16, check
12136 if the attribute :endian is Qbig or not (not nil or not), and set
12137 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
12138 (detect_coding): If coding type is utf-16 and BOM detection is
12139 required, detect it.
12140 (Fdefine_coding_system_internal): For a coding system of type
12141 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
12142
121432008-02-01 Kenichi Handa <handa@m17n.org>
12144
12145 * coding.c (coding_set_source): Fix for the case that the current
12146 buffer is different from coding->src_object.
12147 (decode_coding_object): Don't use the conversion work buffer if
12148 DST_OBJECT is a buffer.
12149
121502008-02-01 Dave Love <fx@gnu.org>
12151
12152 * lread.c (read_emacs_mule_char) [len==2]: Index
12153 emacs_mule_charset correctly.
12154
121552008-02-01 Dave Love <fx@gnu.org>
12156
12157 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
12158 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
12159 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
12160 treated specially.)
12161 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
12162 (detected_mask): Remove Big5 bits.
12163
121642008-02-01 Kenichi Handa <handa@m17n.org>
12165
12166 The following changes are to make the font rescaling facility
12167 compatible with Emacs 21.
12168
12169 * xfaces.c (Vface_font_rescale_alist): Rename from
12170 Vface_resizing_fonts.
12171 (struct font_name): Rename member resizing_ratio to rescale_ratio.
12172 (font_rescale_ratio): Rename from font_resizing_ratio.
12173 (split_font_name): Set font->rescale_ratio.
12174 (better_font_p): Pay attention to font->rescale_ratio.
12175 (build_scalable_font_name): Likewise. Change RESX, and RESY
12176 fields.
12177 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
12178
121792008-02-01 Kenichi Handa <handa@m17n.org>
12180
12181 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
12182 (Qutf_16_le): Remove these variables.
12183 (syms_of_coding): Don't DEFSYM them.
12184 (decode_coding_utf_16): Fix handling of BOM.
12185 (encode_coding_utf_16): Fix handling of BOM.
12186
121872008-02-01 Kenichi Handa <handa@m17n.org>
12188
12189 * fileio.c (Finsert_file_contents): On replacing, before decoding
12190 the file into the work buffer, set point of the work buffer to the end.
12191
121922008-02-01 Dave Love <fx@gnu.org>
12193
12194 * coding.c (Fcheck_coding_systems_region): Fix type errors.
12195
121962008-02-01 Dave Love <fx@gnu.org>
12197
12198 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12199 and fix C types.
12200
122012008-02-01 Kenichi Handa <handa@m17n.org>
12202
12203 * xdisp.c (SKIP_GLYPHS): New macro.
12204 (set_cursor_from_row): Pay attention to string display properties.
12205
12206 * category.c (copy_category_entry): Fix for the case that RANGE
12207 is an integer.
12208
12209 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
12210
12211 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
12212
122132008-02-01 Kenichi Handa <handa@m17n.org>
12214
12215 * charset.c (Fcharset_id_internal): New function.
12216 (syms_of_charset): Defsubr it.
12217
12218 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
12219 with the last arg charset_list acquired from coding.
12220 (Fdefine_coding_system_internal): For ccl-based coding system, fix
12221 the attribute coding_attr_ccl_valids.
12222
12223 * coding.h (enum define_coding_ccl_arg_index): Set the first
12224 member coding_arg_ccl_decoder to coding_arg_max.
12225
12226 * ccl.h (ccl_driver): Adjust prototype.
12227
12228 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
12229 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 12230 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
12231 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
12232 last arg Qnil.
12233
122342008-02-01 Kenichi Handa <handa@m17n.org>
12235
12236 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
12237 call encode_char.
12238
12239 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
12240
122412008-02-01 Dave Love <fx@gnu.org>
12242
12243 * composite.c (syms_of_composite): Make composition_hash_table weak.
12244
122452008-02-01 Kenichi Handa <handa@m17n.org>
12246
12247 * dispextern.h (check_face_attributes, generate_ascii_font_name)
12248 (font_name_registry): Don't extern them.
12249 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
12250
12251 * fontset.h (Qfontset): Don't extern it.
12252 (new_fontset_from_font_name): Extern it.
12253
12254 * fontset.c: Give 8 extra slots to fontset objects.
12255 (Qfontset_info): New variable.
12256 (syms_of_fontset): Defsym it.
12257 (FONTSET_FALLBACK): New macro.
12258 (fontset_face): Try also the default fontset.
12259 (make_fontset): Realize a fallback fontset from the default fontset.
12260 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
12261 using split_font_name_into_vector and build_font_name_from_vector.
12262 (Fset_fontset_font): Access the elements of font_spec by enum
12263 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
12264 name by using split_font_name_into_vector.
12265 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
12266 generate a proper font name from the fontset name. Update
12267 Vfontset_alias_alist.
12268 (n_auto_fontsets): New variable.
12269 (new_fontset_from_font_name): New function.
12270 (Ffont_info): Store the information about fonts generated from the
12271 default fontset in the first extra slot of the returned char-table.
12272
12273 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
12274 (font_name_registry): Delete function.
12275 (split_font_name_into_vector): New function.
12276 (build_font_name_from_vector): New function.
12277 (font_list): The argument REGISTRY is now a list of registry names.
12278 (choose_face_font): If we are choosing an ASCII font, and ATTRS
12279 specifies an explicit font name, return the name as is. Make a
12280 list of registy names.
12281
12282 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
12283 of x_new_fontset.
12284 (Fx_create_frame): Don't call x_new_fontset here. Just use
12285 x_list_fonts to check the existence of fonts.
12286
12287 * xterm.h (x_new_fontset): Adjust prototype.
12288
12289 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
12290 string. Use new_fontset_from_font_name to create a fontset from a
12291 font name.
12292
122932008-02-01 Kenichi Handa <handa@m17n.org>
12294
12295 * syntax.c (Vfind_word_boundary_function_table): New name for
12296 Vnext_word_boundary_function_table.
12297 (find-word-boundary-function-table): New name for
12298 next-word-boundary-function-table.
12299
123002008-02-01 Dave Love <fx@gnu.org>
12301
12302 * Makefile.in: Fix some dependencies.
12303
12304 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
12305 set it to nil before returning.
12306
12307 * composite.c (update_compositions): Fix type error.
12308
12309 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
12310
123112008-02-01 Kenichi Handa <handa@m17n.org>
12312
12313 * xterm.c (x_new_font): Optimize for the case that the font is
12314 already set for the frame.
12315
123162008-02-01 Kenichi Handa <handa@m17n.org>
12317
12318 * chartab.c (char_table_ascii): Check if the char table contents
12319 is sub-char-table or not.
12320 (char_table_set, char_table_set_range): Fix argument to
12321 char_table_ascii.
12322
12323 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
12324 (detect_coding_utf_8, detect_coding_utf_16)
12325 (detect_coding_emacs_mule, detect_coding_iso_2022)
12326 (detect_coding_sjis, detect_coding_big5)
12327 (detect_coding_ccl, detect_coding_charset): Change argument MASK
12328 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
12329 sequence is valid in this coding system. Change callers.
12330 (MAX_ANNOTATION_LENGTH): New macro.
12331 (ADD_ANNOTATION_DATA): New macro.
12332 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
12333 ADD_ANNOTATION_DATA. Change the format of annotation data.
12334 (ADD_CHARSET_DATA): New macro.
12335 (emacs_mule_char): New argument ID. Change callers.
12336 (decode_coding_emacs_mule, decode_coding_iso_2022)
12337 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
12338 Produce charset annotation data in coding->charbuf.
12339 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
12340 to charset annotation data in coding->charbuf.
12341 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
12342 coding->common_flags if the coding system is iso-2022 based and
12343 uses designation.
12344 (produce_composition): Adjust for the new annotation data format.
12345 (produce_charset): New function.
12346 (produce_annotation): Handle charset annotation.
12347 (handle_composition_annotation, handle_charset_annotation): New
12348 functions.
12349 (consume_chars): Handle charset annotation. Utilize the above two
12350 functions.
12351 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
12352 buffer, get the deleted text as a string and set
12353 coding->src_object to that string.
12354 (detect_coding, detect_coding_system): Use the new struct
12355 coding_detection_info.
12356
12357 * coding.h (struct coding_detection_info): New structure.
12358 (struct coding_system): Adjust prototype of the member `detector'.
12359 (CODING_ANNOTATE_CHARSET_MASK): New macro.
12360
123612008-02-01 Kenichi Handa <handa@m17n.org>
12362
12363 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
12364
123652008-02-01 Dave Love <fx@gnu.org>
12366
12367 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
12368 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
12369 to new local and nullify apropos_accumulate before returning.
12370 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
12371
123722008-02-01 Kenichi Handa <handa@m17n.org>
12373
12374 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
12375 correctly.
e3eea1fc 12376
aac0c6e3
MR
123772008-02-01 Dave Love <fx@gnu.org>
12378
12379 * fns.c (Flanginfo): Call synchronize_system_time_locale.
12380
123812008-02-01 Kenichi Handa <handa@m17n.org>
12382
12383 The following changes are to make character composition happen
12384 automatically on displaying.
12385
12386 * Makefile.in (lisp, shortlisp): Add composite.elc.
12387
12388 * composite.h (Qauto_composed, Vauto_composition_function)
12389 (Qauto_composition_function): Extern them.
12390
12391 * composite.c (Vcomposition_function_table)
12392 (Qcomposition_function_table): Delete variables.
12393 (Qauto_composed, Vauto_composition_function)
12394 (Qauto_composition_function): New variables.
12395 (run_composition_function): Don't call
12396 compose-chars-after-function.
12397 (update_compositions): Clear `auto-composed' text property.
12398 (compose_chars_in_text): Delete this function.
12399 (syms_of_composite): Staticpro Qauto_composed and
12400 Qauto_composition_function. Declare Vauto_composition_function as
12401 a Lisp variable.
12402
12403 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
12404
12405 * xdisp.c (it_props): Add an entry for Qauto_composed.
12406 (handle_auto_composed_prop): New function.
12407
12408 * xselect.c (selection_data_to_lisp_data): Don't call
12409 compose_chars_in_text.
12410
124112008-02-01 Dave Love <fx@gnu.org>
12412
12413 * keyboard.c (read_char): Modify checking around use of
12414 Vkeyboard_translate_table.
12415
12416 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
12417 and fix C types.
12418
124192008-02-01 Kenichi Handa <handa@m17n.org>
12420
12421 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
12422 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
12423 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
12424 the case that the last byte is '\r' correctly.
12425 (decode_coding): Flush out the unprocessed data correctly.
12426 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
12427
124282008-02-01 Dave Love <fx@gnu.org>
12429
12430 * xterm.c (XTread_socket): Fix changes for defined keysyms.
12431 Add XK_ISO... case.
12432 (xaw_scroll_callback): Revert last change.
12433
124342008-02-01 Kenichi Handa <handa@m17n.org>
12435
12436 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
12437
124382008-02-01 Kenichi Handa <handa@m17n.org>
12439
12440 * xfaces.c (Vface_resizing_fonts): New variable.
12441 (struct font_name): New member `resizing_ratio'.
12442 (font_resizing_ratio): New function.
12443 (split_font_name): Set font->resizing_ratio.
12444 (better_font_p): Pay attention to font->resizing_ratio.
12445 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
12446 RESX, and RESY fields.
12447 (try_alternative_families): Try scalable fonts if
12448 Vscalable_fonts_allowed is not Qt.
12449 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
12450
124512008-02-01 Dave Love <fx@gnu.org>
12452
12453 * xterm.c (xaw_scroll_callback): Cast correctly.
12454
124552008-02-01 Dave Love <fx@gnu.org>
12456
12457 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
12458 (lispy_kana_keys): Comment out.
12459 (make_lispy_event) [XK_kana_A]: Comment out.
12460
12461 * xterm.c (xaw_scroll_callback): Cast call_data.
12462 (XTread_socket): Deal with ASCII keysyms.
12463 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
12464
124652008-02-01 Dave Love <fx@gnu.org>
12466
12467 * xterm.c (Vx_keysym_table): New.
12468 (syms_of_xterm): Initialize it.
12469 (XTread_socket): Use it.
12470 From head: Eliminate incorrect optimization that tried to avoid
12471 decoding the output of X*LookupString.
12472 (x_get_font_repertory): Delete charset declaration.
12473
124742008-02-01 Kenichi Handa <handa@m17n.org>
12475
12476 * coding.c (detect_coding_charset): If only ASCII bytes are found,
12477 return 0.
12478 (Fdefine_coding_system_internal): Setup
12479 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
12480
124812008-02-01 Dave Love <fx@gnu.org>
12482
12483 * coding.c (Fcheck_coding_system): Doc fix.
12484
12485 * editfns.c (Finsert_byte): Return a proper value.
12486
124872008-02-01 Kenichi Handa <handa@m17n.org>
12488
12489 * coding.c (decode_coding): Fix args to translate_chars. Pay
12490 attention to Vstandard_translation_table_for_decode.
12491 (encode_coding): Fix args to translate_chars. Pay attention to
12492 Vstandard_translation_table_for_encode.
12493
12494 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
12495 SINGLE_BYTE_CHAR_P.
12496
12497 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
12498 not by SINGLE_BYTE_CHAR_P.
12499
12500 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
12501 SINGLE_BYTE_CHAR_P.
12502
12503 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
12504 SINGLE_BYTE_CHAR_P.
12505
12506 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
12507 by SINGLE_BYTE_CHAR_P.
12508
12509 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
12510 SINGLE_BYTE_CHAR_P.
12511
125122008-02-01 Dave Love <fx@gnu.org>
12513
12514 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
12515
125162008-02-01 Dave Love <fx@gnu.org>
12517
12518 * fns.c (Flanginfo): Fix typo.
12519
12520 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
12521
125222008-02-01 Kenichi Handa <handa@m17n.org>
12523
12524 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
12525 (detect_coding_emacs_mule, detect_coding_iso_2022)
12526 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
12527 incomplete byte sequence. Don't update *mask when correctly detected.
12528 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
12529 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
12530 (detect_coding, detect_coding_system): Adjust for the changes above.
12531
125322008-02-01 Kenichi Handa <handa@m17n.org>
12533
12534 * character.c (char_string): Rename from
12535 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
12536 (string_char): Rename from string_char.
12537
12538 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
12539 if C is greater than MAX_3_BYTE_CHAR.
12540 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
12541 string_char instead of string_char_with_unification.
12542
125432008-02-01 Dave Love <fx@gnu.org>
12544
12545 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
12546
125472008-02-01 Kenichi Handa <handa@m17n.org>
12548
12549 * keymap.c (push_key_description): Pay attention to force_multibyte.
12550
12551 * regex.c (re_search_2): Fix for the case of unibyte buffer.
12552
125532008-02-01 Dave Love <fx@gnu.org>
12554
12555 * charset.c (define_charset_internal): Rename `supprementary'.
12556
12557 * Makefile.in (lisp, shortlisp): Remove latin-N.
12558
125592008-02-01 Dave Love <fx@gnu.org>
12560
12561 * xfns.c (x_window, x_window): Use use_xim.
12562
12563 * xterm.c (use_xim): Initialize.
12564 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
12565 (x_term_init): Maybe set use_xim.
12566
12567 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
12568
125692008-02-01 Kenichi Handa <handa@m17n.org>
12570
12571 * search.c (search_buffer): Fix case-fold-search of multibyte
12572 characters.
12573 (boyer_moore): Rename the last argument to char_high_bits.
12574
125752008-02-01 Kenichi Handa <handa@m17n.org>
12576
12577 * xdisp.c (display_string): Fix for the case of zero width glyph.
12578
12579 * xfns.c (x_set_font): Change the error message of the case that
12580 x_new_fontset returns Qt.
12581
12582 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
12583 (Finternal_set_lisp_face_attribute): Use signal_error for the
12584 error of invalid fontset.
12585
12586 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
12587 fontset, return Qt.
12588
125892008-02-01 Dave Love <fx@gnu.org>
12590
12591 * unexelf.c (unexec): Make .got handling not SGI-specific.
12592
12593 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
12594
12595 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
12596
12597 * keyboard.c (read_key_sequence): Fix type error.
12598
12599 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
12600 type error.
12601
12602 * fontset.c (fontset_add): Return Lisp_Object.
12603
126042008-02-01 Dave Love <fx@gnu.org>
12605
12606 * charset.h (charset_ordered_list_tick): Declare extern.
12607
126082008-02-01 Kenichi Handa <handa@m17n.org>
12609
12610 The following changes (and some of 2008-02-01 changes of mine) are
12611 for handling syntax, category, and case conversion for unibyte
12612 characters by converting them to multibyte on the fly. With these
12613 changes, we don't have to setup syntax and case tables for unibyte
12614 characters in each language environment.
12615
12616 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
12617 multibyte if necessary.
12618
12619 * bytecode.c (Fbyte_code): Likewise.
12620
12621 * character.h (LEADING_CODE_LATIN_1_MIN)
12622 (LEADING_CODE_LATIN_1_MAX): New macros.
12623 (unibyte_to_multibyte_table): Extern it.
12624 (unibyte_char_to_multibyte): New macro.
12625 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
12626 (CHAR_LEADING_CODE): New macro.
12627 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
12628
12629 * character.c (unibyte_to_multibyte_table): New variable.
12630 (unibyte_char_to_multibyte): Move to character.h and define as macro.
12631 (multibyte_char_to_unibyte): If C is an eight-bit character,
12632 convert it to the corresponding byte value.
12633
12634 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
12635 not 1, signals an error. Update the elements of
12636 unibyte_to_multibyte_table.
12637 (init_charset_once): Initialize unibyte_to_multibyte_table.
12638 (syms_of_charset): Define the charset `iso-8859-1'.
12639
12640 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
12641 as is without converting it to unibyte. In a unibyte buffer,
12642 convert C to multibyte before checking the syntax.
12643
12644 * lisp.h (unibyte_char_to_multibyte): Delete extern.
12645
12646 * minibuf.c (Fminibuffer_complete_word): Use the macro
12647 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
12648
12649 * regex.h (struct re_pattern_buffer): New member target_multibyte.
12650
12651 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
12652 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
12653 that is zero, convert an eight-bit char to multibyte.
12654 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
12655 non-emacs case.
12656 (PATFETCH): Convert an eight-bit char to multibyte.
12657 (HANDLE_UNIBYTE_RANGE): New macro.
12658 (regex_compile): Setup the compiled pattern for multibyte chars
12659 even if the given regex string is unibyte. Use PATFETCH_RAW
12660 instead of PATFETCH in many places. To handle `charset'
12661 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
12662 only for ASCII chars.
12663 (analyse_first) <exactn>: Simplify because the compiled pattern
12664 is multibyte.
12665 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
12666 <charset>: Use CHAR_LEADING_CODE to get leading codes.
12667 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
12668 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
12669 multibyte always 1.
12670 (re_search_2): In emacs, set the locale variable multibyte to 1,
12671 otherwise to 0. New local variable target_multibyte. Check it
12672 to decide the multibyteness of STR1 and STR2. If
12673 target_multibyte is zero, convert unibyte chars to multibyte
12674 before translating and checking fastmap.
12675 (TARGET_CHAR_AND_LENGTH): New macro.
12676 (re_match_2_internal): In emacs, set the locale variable multibyte
12677 to 1, otherwise to 0. New local variable target_multibyte. Check
12678 it to decide the multibyteness of STR1 and STR2. Use
12679 TARGET_CHAR_AND_LENGTH to fetch a character from D.
12680 <charset, charset_not>: If multibyte is nonzero, check fastmap
12681 only for ASCII chars. Call bcmp_translate with
12682 target_multibyte, not with multibyte.
12683 <begline>: Declare the local variable C as `unsigned'.
12684 (bcmp_translate): Change the last arg name to target_multibyte.
12685
12686 * search.c (compile_pattern_1): Don't adjust the multibyteness of
12687 the regexp pattern and the matching target. Set cp->buf.multibyte
12688 to the multibyteness of the regexp pattern. Set
12689 cp->but.target_multibyte to the multibyteness of the matching target.
12690 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
12691 FETCH_STRING_CHAR_ADVANCE.
12692 (Freplace_match): Convert unibyte chars to multibyte.
12693
12694 * syntax.c (char_quoted, back_comment, scan_words)
12695 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
12696 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
12697 unibyte chars to multibyte.
12698 (skip_chars): Delete the arg syntaxp, and move the code for
12699 handling syntaxes to skip_syntaxes. Change callers.
12700 Fix the case that the multibyteness of STRING and the current
12701 buffer doesn't match.
12702 (skip_syntaxes): New function.
12703 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
12704 SINGLE_BYTE_CHAR_P.
12705
127062008-02-01 Kenichi Handa <handa@m17n.org>
12707
12708 * xfaces.c (QCfontset): New variable.
12709 (LFACE_FONTSET): New macro.
12710 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
12711 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
12712 (Finternal_set_lisp_face_attribute)
12713 (Finternal_get_lisp_face_attribute): Handle QCfontset.
12714 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
12715 check also LFACE_FONTSET_INDEX.
12716 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
12717 attrs[LFACE_FONT_INDEX].
12718 (syms_of_xfaces): Intern and staticpro QCfontset.
12719
12720 * dispextern.h (enum lface_attribute_index): New member
12721 LFACE_FONTSET_INDEX.
12722
12723 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
12724
127252008-02-01 Kenichi Handa <handa@m17n.org>
12726
12727 * coding.c (coding_set_destination): Fix coding->destination for
12728 the case converting a region.
12729 (encode_coding_utf_8): Encode eight-bit chars as single byte.
12730 (encode_coding_object): Fix coding->dst_pos and
12731 coding->dst_pos_byte for the case converting a region.
12732
12733 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
12734
12735 * character.h (BYTE8_STRING): New macro.
12736
12737 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
12738
127392008-02-01 Kenichi Handa <handa@m17n.org>
12740
12741 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
12742 characters by octal form.
12743
12744 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12745
12746 * buffer.h (_fetch_multibyte_char_len): Delete extern.
12747 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
12748 _fetch_multibyte_char_len.
12749 (FETCH_CHAR_AS_MULTIBYTE): New macro.
12750
12751 * casetab.c (set_canon, set_identity, shuffle): Simplify.
12752
12753 * casefiddle.c (casify_object): Simplify. Handle the case that
12754 the case conversion change the byte length.
12755 (casify_region): Likewise.
12756
12757 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
12758
12759 * character.c (_fetch_multibyte_char_len): Delete this variable.
12760 (syms_of_character): Setup Vprintable_chars.
12761
12762 * editfns.c (Fchar_equal): Fix for the unibyte case.
12763 (Finsert_byte): New function.
12764 (syms_of_editfns): Defsubr it.
12765
12766 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
12767 of direct code 0x3ffff.
12768
12769 * search.c (Freplace_match): Fix for the unibyte case.
12770
127712008-02-01 Kenichi Handa <handa@m17n.org>
12772
12773 * lread.c (safe_to_load_p): Fix the logic.
12774
12775 * syntax.c (scan_words): Don't treat characters belonging to
12776 different scripts as constituting a word.
12777
12778 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12779
12780 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
12781
12782 * emacs.c (main): In the case of --unibyte, instead of aborting on
12783 finding non-empty buffer, make it unibyte.
12784
127852008-02-01 Kenichi Handa <handa@m17n.org>
12786
12787 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
12788 to create a fontset.
12789
127902008-02-01 Dave Love <fx@gnu.org>
12791
12792 * character.c (Funibyte_char_to_multibyte): Doc fix.
12793
12794 * xfns.c [HAVE_STDLIB_H]: Fix last change.
12795
127962008-02-01 Kenichi Handa <handa@m17n.org>
12797
12798 * fontset.c (fontset_add): Make the type `int'.
12799 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
12800
12801 * character.c (unibyte_char_to_multibyte)
12802 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
12803 charset_unibyte, not charset_primary.
12804
12805 * charset.h (charset_unibyte): Extern it instead of charset_primary.
12806
12807 * charset.c (charset_unibyte): Rename from charset_primary.
12808 (Funibyte_charset): Rename from Fprimary_charset.
12809 (Fset_unibyte_charset): Rename from Fset_primary_charset.
12810 (syms_of_charset): Adjust for the above changes.
12811
12812 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
12813 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
12814 it->multibyte_p is zero.
12815
12816 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
12817 Delete extern.
12818
128192008-02-01 Kenichi Handa <handa@m17n.org>
12820
12821 * coding.c (Fdefine_coding_system_internal): Fix category setting
12822 for a coding system of type iso-2022.
12823
128242008-02-01 Kenichi Handa <handa@m17n.org>
12825
12826 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
12827
128282008-02-01 Kenichi Handa <handa@m17n.org>
12829
12830 * syntax.c (Vnext_word_boundary_function_table): New variable.
12831 (next-word-boundary-function-table): Declare it as a Lisp variable
12832 in syms_of_syntax.
12833 (scan_words): Call functions in Vnext_word_boundary_function_table
12834 if any.
12835
12836 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
12837
12838 * fontset.c (fs_load_font): If fontp->charset is not negative,
12839 return fontp without setting its members.
12840
128412008-02-01 Dave Love <fx@gnu.org>
12842
12843 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
12844
12845 * m/sparc.h (HAVE_ALLOCA): Delete.
12846
12847 * s/irix6-5.h: Don't include strings.h.
12848 (bcopy, bzero, bcmp): Don't undef.
12849
12850 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
12851
12852 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
12853 (TIOCSIGSEND): Don't test IRIX6.
12854 (bcopy, bzero, bcmp): Define conditionally.
12855
128562008-02-01 Kenichi Handa <handa@m17n.org>
12857
12858 * buffer.c (Qas, Qmake, Qto): New variables.
12859 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
12860 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
12861
12862 * callproc.c (Fcall_process): Don't call insert_1_both directly if
12863 we are inserting a process output into a multibyte buffer.
12864
12865 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
12866 multibyte_char_to_unibyte.
12867
12868 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
12869 by the primary charset, make it eight-bit char.
12870 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
12871
12872 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
12873 (charset_8_bit__control, charset_8_bit_graphic)
12874 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
12875 (define_charset_internal): New function.
12876 (syms_of_charset): Call define_charset_internal for pre-defined
12877 charsets.
12878
12879 * charset.h (charset_8_bit): Extern it.
12880
12881 * coding.c (make_conversion_work_buffer): Adjust for the change
12882 of Fset_buffer_multibyte.
12883 (encode_coding_raw_text): Increment p0 in the loop.
12884
12885 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
12886
12887 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
12888 for the change of Fset_buffer_multibyte.
12889
12890 * fns.c (Fstring_to_multibyte): New function.
12891 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
12892
128932008-02-01 Dave Love <fx@gnu.org>
12894
12895 * xfns.c (x_put_x_image): Declare args.
12896
12897 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
12898 (try_font_list): Declare an arg.
12899
12900 * xdisp.c (message2_nolog, set_message): Declare an arg.
12901
12902 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
12903
12904 * syntax.c (scan_sexps_forward): Declare an arg.
12905
12906 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
12907 Declare an arg.
12908
12909 * lisp.h (Fnew_fontset): Declare.
12910
12911 * keymap.c (push_key_description): Call CHARACTERP correctly.
12912
12913 * fontset.c (fontset_add): Declare args. Call make_number correctly.
12914 (face_for_char): Delete unused vars.
12915 (Fset_fontset_font): Doc fix. Delete unused vars.
12916
12917 * doc.c (Fsubstitute_command_keys): Delete unused vars.
12918
12919 * composite.c (update_compositions): Declare arg.
12920
12921 * cm.c (calccost, cmgoto): Declare args.
12922
12923 * charset.c: Remove `emacs' conditional. Doc fixes.
12924 (map_char_table_for_charset): Declare.
12925
12926 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
12927
12928 * ccl.c: Remove `emacs' conditional.
12929
129302008-02-01 Kenichi Handa <handa@m17n.org>
12931
12932 The following changes are to allow specifying multiple font
12933 patterns for a character range (specified by script or charset).
12934
12935 * Makefile.in (abbrev.o): Depend on syntax.h.
12936 (xfaces.o): Depend on charset.h.
12937
12938 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
12939 SINGLE_BYTE_CHAR_P.
12940
12941 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
12942
12943 * character.h (Vchar_script_table): Extern it.
12944
12945 * character.c (Vscript_alist): Delete.
12946 (Vchar_script_table, Qchar_script_table): New variable.
12947 (syms_of_character): Declare Vchar_script_table as a lisp variable
12948 and initialize it.
12949
12950 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
12951 have property char-table-extra-slots, make no extra slot.
12952
12953 * dispextern.h (struct face): Delete member `charset'.
12954 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
12955 SINGLE_BYTE_CHAR_P.
12956 (choose_face_font, lookup_non_ascii_face, font_name_registry):
12957 Add prototypes.
12958 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
12959 (generate_ascii_font_name): Rename from generate_ascii_font.
12960
12961 * fontset.h (get_font_repertory_func): New prototype.
12962 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
12963 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
12964
12965 * fontset.c (Qprepend, Qappend): New variables.
12966 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
12967 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
12968 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
12969 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
12970 (fontset_ref_and_range, fontset_add, reorder_font_vector)
12971 (load_font_get_repertory): New functions.
12972 (fontset_set): Delete.
12973 (fontset_face): New arg FACE. Return face ID, not face.
12974 Complete re-write to handle new fontset structure. Change caller.
12975 (free_face_fontset): Use ASET istead of AREF (X) = Y.
12976 (face_for_char): Don't call lookup_face.
12977 (make_fontset_for_ascii_face): New arg FACE.
12978 (fs_load_font): New arg CHARSET_ID. Don't check
12979 Vfont_encoding_alist here.
12980 (find_font_encoding): New function.
12981 (list_fontsets): Use STRINGP, not ! NILP.
12982 (accumulate_script_ranges): New function.
12983 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
12984 re-written to handle new fontset structure.
12985 (Ffontset_font): Return a copy of element.
12986 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
12987 docstring of font-encoding-alist.
12988
12989 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
12990 (Fset_fotset_font): Fix arguments to 5.
12991
12992 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
12993
12994 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
12995 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
12996 (highlight_trailing_whitespace): Adjust for the change of
12997 lookup_named_face.
12998
12999 * xfaces.c: Include charset.h.
13000 (load_face_font): Delete argument C. Change caller.
13001 (generate_ascii_font_name): Rename from generate_ascii_font.
13002 (font_name_registry): New function.
13003 (cache_face): Store ascii faces before non-ascii faces in buckets.
13004 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
13005 Lookup only ascii faces.
13006 (lookup_non_ascii_face): New function.
13007 (lookup_named_face): Delete argument C. Change caller.
13008 (lookup_derived_face): Delete argument C. Change caller.
13009 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
13010 a string, just call font_list with it.
13011 (choose_face_font): Delete arguments FACE and C. New arg
13012 FONT_SPEC. Change caller.
13013 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
13014 Change caller.
13015 (realize_non_ascii_face): New function.
13016 (realize_x_face): Call load_face_font here.
13017 (realize_tty_face): Delete argument C. Change caller.
13018 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
13019 get a face ID.
13020 (dump_realized_face): Don't print charset of FACE.
13021
13022 * xfns.c (x_set_font): Always call x_new_fontset and
13023 store_frame_parameter.
13024 (Fx_create_frame): Call x_new_fontset, not x_new_font.
13025 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
13026
13027 * xterm.h (x_get_font_repertory): Extern it.
13028
13029 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
13030 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
13031 it->multibyte_p is zero.
13032 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
13033 (x_new_fontset): If FONTSETNAME doesn't match any existing
13034 fontsets, create a new one.
13035 (x_get_font_repertory): New function.
13036
130372008-02-01 Kenichi Handa <handa@m17n.org>
13038
13039 * coding.c (Ffind_coding_systems_region_internal): Detect an
13040 ASCII only string correctly.
13041
13042 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
13043 version is 0.
13044
130452008-02-01 Kenichi Handa <handa@m17n.org>
13046
13047 * lread.c: Include "coding.h".
13048 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
13049 (load_each_byte, unread_char): New variables.
13050 (readchar_backlog): Delete.
13051 (readchar): Return a character unless load_each_byte is nonzero.
13052 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
13053 cons. If unread_char is not -1, simply return it.
13054 (unreadchar): Handle the case that readcharfun is
13055 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
13056 (read_multibyte): Delete.
13057 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
13058 (read_emacs_mule_char): New functions.
13059 (Fload): Even if the file doesn't have the extension ".elc", if
13060 safe_to_load_p returns a positive version number, assume that the
13061 file contains bytecompiled code. If the version is less than 22,
13062 load the file while decoding multibyte sequences by emacs-mule.
13063 (readevalloop): Don't use readchar_backlog.
13064 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
13065 (Fread_from_string): Pay attention to the case that STREAM is a cons.
13066 (read_escape): Delete the arg BYTEREP.
13067 (read1): Set load_each_byte to 1 temporarily while handling
13068 #@NUMBER. Don't call read_multibyte.
13069 (read_vector): Call Fread with a cons. If readcharfun is
13070 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
13071 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
13072 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
13073 and Qload_force_doc_strings.
13074
130752008-02-01 Kenichi Handa <handa@m17n.org>
13076
13077 * xdisp.c (face_before_or_after_it_pos): Call
13078 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
13079
130802008-02-01 Kenichi Handa <handa@m17n.org>
13081
13082 * character.h (TRAILING_CODE_P): New macro.
13083 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
13084 (string_char_with_unification): Fix prototype.
13085 (Vscript_alist): Extern it.
13086
13087 * character.c (Vscript_alist): New variable.
13088 (string_char_with_unification, str_as_unibyte)
13089 (string_escape_byte8): Add `const' to local variables.
13090 (syms_of_character): Declare script-alist as a Lisp variable.
13091
13092 * charset.h (Vcharset_ordered_list): Extern it.
13093 (charset_ordered_list_tick): Extern it.
13094 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
13095 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
13096 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
13097 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
13098 (Funify_charset): Adjust for the change of Funify_charset.
13099
13100 * charset.c (charset_ordered_list_tick): New variable.
13101 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
13102 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
13103 deunify intead of unify a charset.
13104 (string_xstring_p): Add `const' to local variables.
13105 (find_charsets_in_text): Add `const' to arguments and local variables.
13106 (encode_char): Adjust for the change of Funify_charset. Fix
13107 detecting of invalid code.
13108 (Fset_charset_priority): Increment charset_ordered_list_tick.
13109 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
13110 and TO_CODE.
13111
13112 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
13113 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
13114 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
13115 (decode_coding_ccl, consume_chars)
13116 (Ffind_coding_systems_region_internal)
13117 (Fcheck_coding_systems_region): Add `const' to local variables.
13118
13119 * print.c (print_object): Use octal form for printing the
13120 contents of a bool vector.
13121
131222008-02-01 Dave Love <fx@gnu.org>
13123
13124 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
13125 <version == 20>: Refuse to load.
13126
131272008-02-01 Dave Love <fx@gnu.org>
13128
13129 * fns.c: Move coding.h.
13130 (Qcodeset, Qdays, Qmonths): New.
13131 (concat): Use CHARACTERP instead of INTEGERP.
13132 (Flocale_codeset): Delete.
13133 (Flanginfo): New function.
13134 (syms_of_fns): Change accordingly.
13135
13136 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
13137
131382008-02-01 Dave Love <fx@gnu.org>
13139
13140 * casetab.c (init_casetab_once, init_casetab_once): Fix
13141 CHAR_TABLE_SET call.
13142
13143 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
13144
13145 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
13146
13147 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
13148 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
13149 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
13150
13151 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
13152
13153 * coding.c (ENCODE_DESIGNATION, decode_eol)
13154 (make_conversion_work_buffer, code_conversion_restore)
13155 (Fdefine_coding_system_internal): Convert Lisp types.
13156 (code_conversion_restore): Use EQ, not ==.
13157 (Fencode_coding_string): Fix code_convert_string call.
13158
13159 * coding.h (code_convert_region): Fix prototype.
13160
13161 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
13162
13163 * fontset.c (fontset_ref, fontset_set, fs_load_font)
13164 (Ffontset_info): Convert Lisp types.
13165
13166 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
13167
13168 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
13169
13170 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
13171
13172 * chartab.c: Include "...h", not <...h> in some cases.
13173
13174 * callproc.c (Fcall_process): Remove unused variables.
13175
131762008-02-01 Dave Love <fx@gnu.org>
13177
13178 * coding.c (Fset_coding_system_priority): Allow null arg list.
13179
131802008-02-01 Dave Love <fx@gnu.org>
13181
13182 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
13183 (Fself_insert_and_exit): Use CHARACTERP.
13184
13185 * callproc.c (Fcall_process): Remove unused vars.
13186
13187 * xterm.c (XTread_socket): Add extra dead keysyms.
13188
13189 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
13190
13191 * dispextern.h: Remove prototypes for redraw_frame,
13192 redraw_garbaged_frames.
13193
13194 * cmds.c (Fself_insert_command): Use CHARACTERP.
13195
13196 * chartab.c (make_sub_char_table): Remove unused var.
13197 (Fset_char_table_default, Fmap_char_table): Doc fix.
13198
13199 * keymap.c (access_keymap): Remove generic char code.
13200 (push_key_description): Use CHARACTERP.
13201
132022008-02-01 Dave Love <fx@gnu.org>
13203
13204 * charset.c: Doc fixes.
13205 (Funify_charset): Extra checking.
13206
132072008-02-01 Dave Love <fx@gnu.org>
13208
13209 * lread.c: Remove some unused variables.
13210 (safe_to_load_p): If safe, return the magic number version byte.
13211 (Fload): Maybe use load-with-code-conversion.
13212
132132008-02-01 Kenichi Handa <handa@m17n.org>
13214
13215 * category.c (Fmodify_category_entry): Don't modify the contents
13216 of category_set for characters out of the range. Avoid
13217 unnecessary modification.
13218
13219 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
13220 Vchar_unify_table. The default value of the table is now nil.
13221
13222 * character.c (syms_of_character): Setup Vchar_width_table for
13223 eight-bit-control and raw-byte chars.
13224
13225 * charset.h (enum define_charset_arg_index): Delete
13226 charset_arg_parents and add charset_arg_subset and
13227 charset_arg_superset.
13228 (enum charset_attr_index): Delete charset_parents and add
13229 charset_subset and charset_superset.
13230 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
13231 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
13232 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
13233 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
13234 (CHARSET_SUPERSET): New macros.
13235 (charset_work): Extern it.
13236 (ENCODE_CHAR): Use charset_work.
13237 (CHAR_CHARSET_P): Adjust for the change of encoder format.
13238 (map_charset_chars): Extern it.
13239
13240 * charset.c (load_charset_map): Set the default value of encoder
13241 and deunifier char-tables to nil.
13242 (map_charset_chars): Change argument. Change callers. Use
13243 map_char_table_for_charset instead of map_char_table.
13244 (Fmap_charset_chars): New optional args from_code and to_code.
13245 (Fdefine_charset_internal): Adjust for the change of
13246 `define-charset' (:parents -> :subset or :superset).
13247 (charset_work): New variable.
13248 (encode_char, syms_of_charset): Adjust for the change of
13249 Fdefine_charset_internal.
13250 (Ffind_charset_string): Setup the vector `charsets' correctly.
13251
13252 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
13253 the previous change.
13254 (char_table_ref_and_range): Adjust for the above change.
13255 (map_sub_char_table_for_charset): New function.
13256 (map_char_table_for_charset): New function.
13257
13258 * keymap.c (describe_vector): Handle a char-table directly here.
13259 (describe_char_table): Delete.
13260
13261 * lisp.h (map_charset_chars): Delete.
13262
132632008-02-01 Dave Love <fx@gnu.org>
13264
13265 * fns.c (count_combining): Comment out (unused).
13266 (Flocale_codeset): New.
13267 (syms_of_fns): Defsubr it.
13268
13269 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
13270 (size_t): Remove.
13271
132722008-02-01 Dave Love <fx@gnu.org>
13273
13274 * Makefile.in (chartab.o): Depend on charset.h.
13275
132762008-02-01 Kenichi Handa <handa@m17n.org>
13277
13278 * character.c (syms_of_character): Set the default value of
13279 Vprintable_chars to Qnil.
13280
132812008-02-01 Dave Love <fx@gnu.org>
13282
13283 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
13284
132852008-02-01 Kenichi Handa <handa@m17n.org>
13286
13287 * charset.c (load_charset_map): Handle the case that from < to
13288 correctly.
13289
13290 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
13291 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
13292 Pay attention to raw-8-bit chars.
13293
132942008-02-01 Kenichi Handa <handa@m17n.org>
13295
13296 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
13297 It is not bytecompiled now.
13298
13299 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
13300 (charset_jisx0208): New variables.
13301 (Fdefine_charset_internal): Setup them if appropriate.
13302 (init_charset_once): Initialize them to -1.
13303
13304 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
13305 (charset_jisx0208): Extern them.
13306
13307 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
13308 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
13309 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
13310 (setup_iso_safe_charsets): Fix arguments to Fassq.
13311 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
13312 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
13313 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
13314 (encode_coding_iso_2022): Change the 1st arg to
13315 ENCODE_ISO_CHARACTER to a variable.
13316
133172008-02-01 Kenichi Handa <handa@m17n.org>
13318
13319 * charset.h (enum define_charset_arg_index): New enums
13320 charset_arg_min_code and charset_arg_max_code.
13321 (struct charset): New member char_index_offset.
13322
13323 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
13324 Take charset->char_index_offset into account.
13325 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
13326 args[charset_arg_max_code]. Setup charset.char_index_offset.
13327 (syms_of_charset): Fix args to Fdefine_charset_internal.
13328
133292008-02-01 Dave Love <fx@gnu.org>
13330
13331 * coding.c (decode_coding_utf_8): Reject overlong sequences.
13332
133332008-02-01 Dave Love <fx@gnu.org>
13334
13335 * coding.c: Doc fixes.
13336 (Fcoding_system_aliases): Fix return value.
13337 (Qmac): Remove (duplicated) definition.
13338
133392008-02-01 Dave Love <fx@gnu.org>
13340
13341 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
13342 functions.
13343
13344 * character.c (Fstring): Doc fix.
13345
13346 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
13347
13348 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
13349 ids.
13350 (font-encoding-alist): Doc fix.
13351
133522008-02-01 Dave Love <fx@gnu.org>
13353
13354 * term.c (costs_set): Declare static, non-initialized for pcc.
13355 (encode_terminal_code): Remove unused var.
13356
13357 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13358 for K&R.
13359
13360 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
13361
13362 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
13363 (suffixes): Move out of make_subsidiaries for K&R.
13364
13365 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
13366
13367 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
13368
133692008-02-01 Dave Love <fx@gnu.org>
13370
13371 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
13372
13373 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
13374
133752008-02-01 Yong Lu <lyongu@asia-infonet.com>
13376
13377 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
13378
13379 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
13380
133812008-02-01 Kenichi Handa <handa@m17n.org>
13382
13383 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
13384 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
13385
133862008-02-01 Kenichi Handa <handa@m17n.org>
13387
13388 * coding.c (decode_coding_charset): Adjust for the change of
13389 Fdefine_coding_system_internal.
13390 (Fdefine_coding_system_internal): For a coding system of
13391 `charset' type, store a list of charset IDs in
13392 `charset_attr_charset_valids' element of coding attributes.
13393
133942008-02-01 Kenichi Handa <handa@m17n.org>
13395
13396 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
13397 (emacs_mule_char): New arg src. Delete arg `composition'. Change
13398 caller. Handle 2-byte and 3-byte charsets correctly.
13399 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
13400 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
13401 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
13402 (DECODE_EMACS_MULE_21_COMPOSITION): Call
13403 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
13404 sequence.
13405 (decode_coding_emacs_mule): Handle composition correctly. Rewind
13406 `src' and `consumed_chars' correctly before calling emacs_mule_char.
13407 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
13408 and alt&rule composition.
13409 (decode_coding_iso_2022): Handle composition correctly.
13410 (init_coding_once): Setup emacs_mule_bytes for private charsets.
13411
13412 * charset.c (Fdefine_charset_internal): Fix bug for the case of
13413 re-defining a charset. If the charset has :emacs-mule-id, setup
13414 emacs_mule_bytes.
13415 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
13416
134172008-02-01 Kenichi Handa <handa@m17n.org>
13418
13419 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
13420 (encode_coding_big5, encode_coding_charset): If coding requires safe
13421 encoding, produce a character specified by
13422 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
13423
134242008-02-01 Dave Love <fx@gnu.org>
13425
13426 * xterm.c (XSetIMValues): Declare.
13427
13428 * process.c: Conditionally include sys/wait.h, pty.h.
13429
13430 * print.c (print_object): Fix print format for 64-bit systems.
13431
13432 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
13433
13434 * buffer.c (emacs_strerror): Declare.
13435
13436 * fontset.c (Fclear_face_cache): Declare.
13437 (accumulate_font_info): Comment-out (unused).
13438 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
13439 variables.
13440
13441 * character.h (string_escape_byte8): Declare.
13442
13443 * charset.c (load_charset_map, load_charset_map_from_file): Remove
13444 unused vars.
13445 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
13446 (Fmap_charset_chars): Doc fix.
13447
13448 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
13449 (Fset_coding_system_priority, Fset_coding_system_priority)
13450 (Fdefine_coding_system_internal): Doc fix.
13451
134522008-02-01 Dave Love <fx@gnu.org>
13453
13454 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
13455
134562008-02-01 Kenichi Handa <handa@m17n.org>
13457
13458 * character.c (string_escape_byte8): Make multibyte string with
13459 correct size.
13460
13461 * charset.c (Fmake_char): Delete unnecessary code.
13462
134632008-02-01 Kenichi Handa <handa@m17n.org>
13464
13465 * xfns.c (x_encode_text): Allocate coding.destination here, and
13466 call encode_coding_object with dst_object Qnil.
13467
13468 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
13469 multibyte form correctly.
13470
13471 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
13472 against Vfont_encoding_alist.
13473
13474 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
13475 handling of charset list.
13476 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
13477 (decode_coding_object): Move point to coding->dst_pos before
13478 calling post-read-conversion function.
13479 (encode_coding_object): Give correct arguments to
13480 pre-write-conversion. Ignore the return value of
13481 pre-write-conversion function. Pay attention to the case that
13482 pre-write-conversion changes the current buffer. If dst_object is
13483 Qt, even if coding->src_bytes is zero, allocate at least one byte
13484 to coding->destination.
13485
13486 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
13487
13488 * charset.c (Fmake_char): Make it more backward compatible.
13489 (Fmap_charset_chars): Fix docstring.
13490
134912008-02-01 Dave Love <fx@gnu.org>
13492
13493 * coding.c: Doc fixes.
13494 (Fdefine_coding_system_alias): Use names, not symbols, in
13495 coding-system-alist.
13496
134972008-02-01 Kenichi Handa <handa@m17n.org>
13498
13499 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
13500 of calling free_realized_face.
13501
135022008-02-01 Yong Lu <lyongu@asia-infonet.com>
13503
13504 * charset.c (read_hex): Don't treat SPC as a comment starter.
13505 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
13506 (Fdecode_char): Fix typo.
13507
135082008-02-01 Kenichi Handa <handa@m17n.org>
13509
13510 * charset.h (struct charset): New member `code_space_mask'.
13511
13512 * coding.c (coding_set_source): Delete the local variable beg_byte.
13513 (encode_coding_charset, Fdefine_coding_system_internal):
13514 Delete the local variable charset.
13515 (Fdefine_coding_system_internal): Setup
13516 attrs[coding_attr_charset_valids] correctly.
13517
13518 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
13519 member to check if CODE is valid or not.
13520 (Fdefine_charset_internal): Initialize `code_space_mask' member.
13521 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
13522 is within the range of charset->min_code and carset->max_code.
13523
135242008-02-01 Dave Love <fx@gnu.org>
13525
13526 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
13527
13528 * dispextern.h (generate_ascii_font): Fix return type.
13529
13530 * xfaces.c (generate_ascii_font): Fix arg declaration.
13531
13532 * coding.c (coding_inherit_eol_type)
13533 (Fset_terminal_coding_system_internal)
13534 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
13535
135362008-02-01 Kenichi Handa <handa@m17n.org>
13537
13538 * coding.c (decode_coding_charset, encode_coding_charset): Handle
13539 multiple charsets correctly.
13540
135412008-02-01 Kenichi Handa <handa@m17n.org>
13542
13543 * search.c (boyer_moore): Fix handling of multibyte character
13544 translation.
13545
13546 * xdisp.c (display_mode_element): When the variable `elt' is
13547 changed, update `this' and `lisp_string'.
13548
135492008-02-01 Kenichi Handa <handa@m17n.org>
13550
13551 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
13552
13553 * callproc.c (Fcall_process): Be sure to give the current buffer
13554 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
13555
13556 * charset.c (struct charset_map_entries): New struct.
13557 (load_charset_map): Rename from parse_charset_map. New args
13558 entries and n_entries. Change caller.
13559 (load_charset_map_from_file): Rename from load_charset_map.
13560 Change caller. New arg control_flag. Call load_charset_map at
13561 the tail.
13562 (load_charset_map_from_vector): New function.
13563 (Fdefine_charset_internal): Setup charset.compact_codes_p.
13564 (encode_char): If the charset is compact, change a character index
13565 to a code point.
13566
13567 * coding.c (coding_alloc_by_making_gap): Check the case that the
13568 source and destination are the same correctly.
13569 (decode_coding_raw_text): Set coding->consumed_char and
13570 coding->consumed to 0.
13571 (produce_chars): If coding->chars_at_source is nonzero, update
13572 coding->consumed_char and coding->consumed before calling
13573 alloc_destination.
13574 (Fdefine_coding_system_alias): Register ALIAS in
13575 Vcoding_system_alist.
13576 (syms_of_coding): Define `no-conversion' coding system at the tail.
13577
13578 * fileio.c (Finsert_file_contents): Set coding_system instead of
13579 val. If the current buffer is multibyte, always call
13580 decode_coding_gap.
13581
13582 * xfaces.c (try_font_list): Give higher priority to fontset's
13583 family than face's family.
13584
135852008-02-01 Kenichi Handa <handa@m17n.org>
13586
13587 * callproc.c (Fcall_process): Be sure to give the current buffer
13588 to decode_coding_c_string.
13589
13590 * xfaces.c (try_font_list): Give a family specified in a fontset
13591 higher priority than a family specified in a face.
13592
135932008-02-01 Kenichi Handa <handa@m17n.org>
13594
13595 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
13596 Fix arguments to insert_from_buffer.
13597
13598 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
13599
136002008-02-01 Kenichi Handa <handa@m17n.org>
13601
13602 * coding.c (produce_chars): Set the variable `multibytep' correctly.
13603 (decode_coding_gap): Set coding->dst_multibyte correctly.
13604
136052008-02-01 Kenichi Handa <handa@m17n.org>
13606
13607 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
13608 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
13609 (encode_coding_utf_16): Substitute coding->default_char for
13610 non-Unicode characters.
13611 (decode_coding): Don't call record_insert here.
13612 (setup_coding_system): Initialize `surrogate' of
13613 coding->spec.utf_16 to 0.
13614 (EMIT_ONE_BYTE): Fix for multibyte case.
13615
13616 * insdel.c (insert_from_gap): Call record_insert.
13617
136182008-02-01 Kenichi Handa <handa@m17n.org>
13619
13620 * casefiddle.c (casify_region): Fix multibyte case.
13621
13622 * character.c (c_string_width): Add return type `int'.
13623 (char_string_with_unification): Delete arg ADVANCED.
13624
13625 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
13626 (CHAR_STRING): Adjust for the change of char_string_with_unification.
13627 (CHAR_STRING_ADVANCE): Make it do-while statement.
13628
13629 * chartab.c (sub_char_table_set_range): Optimize for the case
13630 DEPTH == 3. Add workaround code for a GCC optimization bug.
13631
13632 * charset.c (parse_charset_map): Remove an unused variable.
13633
13634 * coding.c: Delete unused variables.
13635
13636 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
13637 earlier. If inserted is zero and the coding system doesn't
13638 require flushing, don't call decode_coding_gap.
13639
13640 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
13641
136422008-02-01 Kenichi Handa <handa@m17n.org>
13643
13644 The following changes are for using Unicode as an internal
13645 character model, and use UTF-8 format for buffer/string
13646 representation.
13647
13648 * .gdbinit (xchartable): Adjust for the change of char table structure.
13649 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
13650
13651 * Makefile.in (obj): Add character.o and chartab.o.
13652 (lisp, shortlisp): Remove utf-8.elc.
13653 (*.o): For many files, change dependency on charset.h to
13654 character.h, and add dependency on character.h.
13655 (character.o, chartab.o): New targets.
13656
13657 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
13658 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
13659 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
13660 of "charset.h".
13661
13662 * dired.c, filelock.c: Include "character.h".
13663
13664 * alloc.c: Include "character.h" instead of "charset.h".
13665 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
13666 (syms_of_alloc): Remove defsubr for Smake_char_table.
13667
13668 * buffer.c: Include "character.h" instead of "charset.h", don't
13669 include "coding.h".
13670 (Fset_buffer_multibyte): Adjust for UTF-8.
13671
13672 * buffer.h: EXFUN Fbuffer_live_p.
13673
13674 * callproc.c: Include "character.h" instead of "charset.h".
13675 (Fcall_process): Big change for the new code-conversion APIs.
13676
13677 * casetab.c: Include "character.h" instead of "charset.h".
13678 (set_canon, set_identity, shuffle): Adjust for the new
13679 map_char_table spec.
13680 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
13681 accessing the char table structure.
13682
13683 * chartab.c: New file that implements char table.
13684
13685 * category.c: Include "character.h".
13686 (copy_category_entry): New function.
13687 (copy_category_table): Call map_char_table and copy_category_entry.
13688 (Fmake_category_table): Initialize all top-level slots.
13689 (char_category_set): New function.
13690 (modify_lower_category_set): Delete.
13691 (Fmodify_category_entry): Call char_table_ref_and_range.
13692
13693 * category.h (CATEGORY_SET): Just call char_category_set.
13694
13695 * ccl.c: Include "character.h".
13696 (Qccl, Qcclp): New variables.
13697 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
13698 it's less than 256.
13699 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
13700 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
13701 and DST type.
13702 (ccl_driver): Change types of argument, adjust code accordingly.
13703 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
13704 ccl_driver.
13705 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
13706
13707 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
13708 New members src_multibyte, dst_multibyte, consumed, and produced.
13709 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
13710 (CODING_SPEC_CCL_PROGRAM): New macro.
13711 (ccl_driver): Update prototype.
13712 (Qccl, Qcclp, Fccl_program_p): Extern them.
13713 (CHECK_CCL_PROGRAM): New macro.
13714
13715 * character.c, character.h, chartab.c: New files.
13716
13717 * charset.c: Mostly re-written. Move character and multibyte sequence
13718 handling codes to character.c.
13719
13720 * charset.h: Mostly re-written. Move character and multibyte sequence
13721 handling codes to character.h.
13722
13723 * coding.c, coding.h: Mostly re-written.
13724
13725 * composite.c: Include "character.h" instead of "charset.h".
13726 (CHAR_WIDTH): Move to character.h.
13727 (HASH_KEY, HASH_VALUE): Delete.
13728
13729 * composite.h (enum composition_method): Change order of enumeration
13730 symbols.
13731
13732 * data.c: Include "character.h" instead of "charset.h".
13733 (Faref): Call CHAR_TABLE_REF for a char table.
13734 (Faset): Call CHAR_TABLE_SET for a char table.
13735
13736 * dispextern.h (free_realized_face, check_face_attribytes)
13737 (generate_ascii_font): Extern them.
13738 (free_realized_multibyte_face): Delete extern.
13739
13740 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
13741 table structure.
13742
13743 * editfns.c: Include "character.h" instead of "charset.h".
13744 (Fchar_to_string): Always call CHAR_STRING.
13745
13746 * emacs.c (main): Call init_charset_once, init_charset,
13747 syms_of_chartab, and syms_of_character.
13748
13749 * fileio.c: Include "character.h" instead of "charset.h".
13750 (Finsert_file_contents): Big change for the new code-conversion API.
13751 (choose_write_coding_system, Fwrite_region): Likewise.
13752 (build_annotations_2): Delete.
13753 (e_write): Big change for the new code-conversion API.
13754
13755 * fns.c: Include "character.h" instead of "charset.h".
13756 (copy_sub_char_table): Move to chartab.c.
13757 (Fcopy_sequence): Call copy_char_table for a char table.
13758 (concat): Delete codes calling count_multibyte.
13759 (string_char_to_byte, string_byte_to_char): Adjust for the new
13760 multibyte form.
13761 (internal_equal): Adjust for the change of char table structure.
13762 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
13763 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
13764 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
13765 (char_table_translate, optimize_sub_char_table)
13766 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
13767 chartab.c.
13768 (char_table_ref_and_index): Delete.
13769 (HASH_KEY, HASH_VALUE): Move to lisp.h.
13770 (Fmd5): Call preferred_coding_system instead of accessing
13771 Vcoding_category_list. Adjust for the new code-conversion API.
13772 (syms_of_fns): Move defsubr for char table related functions to
13773 chartab.c.
13774
13775 * fontset.c: Mostly re-written.
13776
13777 * fontset.h (struct font_info): Change type of the member encoding_type.
13778 (enum FONT_SPEC_INDEX): New enum.
13779 (fontset_font_pattern, fs_load_font): Update prototype.
13780 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
13781
13782 * indent.c: Include "character.h" instead of "charset.h".
13783 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
13784
13785 * insdel.c: Include "character.h" instead of "charset.h".
13786 (copy_text): Don't refer to Vnonascii_translation_table.
13787 (insert_from_gap): New function.
13788
13789 * keyboard.c: Include "character.h" instead of "charset.h".
13790 (command_loop_1): Never call direct_output_forward_char before
13791 a non-ASCII character.
13792 (read_char): If Vkeyboard_translate_table is a char table, always
13793 translate a character.
13794
13795 * keymap.c: Include "character.h".
13796 (store_in_keymap): Handle the case that IDX is a cons.
13797 (Fdefine_key): Handle the case that KEY is a cons and the car part
13798 is also a cons (range).
13799 (push_key_description): Adjust for the new character code.
13800 (describe_vector): Call describe_char_table for a char table.
13801 (describe_char_table): New function.
13802
13803 * keymap.h (describe_char_table): Extern it.
13804
13805 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
13806 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
13807 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
13808 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
13809 Delete.
13810 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
13811 structure.
13812 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
13813 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
13814 (CHARTAB_SIZE_BITS_3): New macros.
13815 (chartab_size): Extern it.
13816 (struct Lisp_Char_Table): Re-design.
13817 (struct Lisp_Sub_Char_Table): New structure.
13818 (HASH_KEY, HASH_VALUE): Move from fns.c.
13819 (CHARACTERBITS): Define as 22.
13820 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
13821 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
13822 (GC_SUB_CHAR_TABLE_P): New macro.
13823 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
13824 (code_convert_string_norecord): Deleted extern.
13825 (init_character_once, syms_of_character, init_charset)
13826 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
13827
13828 * lread.c: Include "character.h".
13829 (read_multibyte): New arg NBYTES.
13830 (read_escape): Change the meaning of returned *BYTEREP.
13831 (to_multibyte): Delete.
13832 (read1): Adjust the handling of char table and string.
13833
13834 * print.c: Include "character.h" instead of "charset.h".
13835 (print_string): Convert 8-bit raw bytes to octal form by
13836 string_escape_byte8.
13837 (print_object): Adjust for the new multibyte form. Print 8-bit
13838 raw bytes always in octal form. Handle sub char table correctly.
13839
13840 * process.c: Include "character.h" instead of "charset.h".
13841 (read_process_output, send_process): Adjust for the new
13842 code-conversion API.
13843
13844 * puresize.h (BASE_PURESIZE): Increase.
13845
13846 * regex.c: Include "character.h" instead of "charset.h".
13847 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
13848 (regex_compile): Accept a range whose starting and ending
13849 character have different leading bytes.
13850 (analyse_first): Adjust for the above change.
13851
13852 * search.c: Include "character.h" instead of "charset.h".
13853 (search_buffer, boyer_moore): Adjust for the new multibyte form.
13854 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
13855
13856 * syntax.c: Include "character.h" instead of "charset.h".
13857 (syntax_parent_lookup): Delete.
13858 (Fmodify_syntax_entry): Accept a cons as CHAR.
13859 (skip_chars): Adjust for the new multibyte form.
13860 (init_syntax_once): Call char_table_set_range instead of directly
13861 accessing the structure of a char table.
13862
13863 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
13864 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
13865 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
13866 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
13867
13868 * term.c: Include "buffer.h" and "character.h".
13869 (encode_terminal_code, write_glyphs): Adjust for the new
13870 code-conversion API.
13871 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
13872
13873 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
13874
13875 * xdisp.c: Include "character.h".
13876 (get_next_display_element): Adjust for the new multibyte form.
13877 (disp_char_vector): Adjust for the new char table structure.
13878 (decode_mode_spec_coding): Adjust for the new structure of
13879 coding system.
13880 (decode_mode_spec): Adjust for the new code-conversion API.
13881
13882 * xfaces.c: Include "character.h" instead of "charset.h".
13883 (load_face_font): Adjust for the change of choose_face_font and
13884 FS_LOAD_FONT.
13885 (generate_ascii_font): New function.
13886 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
13887 (set_font_frame_param): Adjust for the change of choose_face_font.
13888 (free_realized_face): Make it public.
13889 (free_realized_faces_for_fontset): Rename from
13890 free_realized_multibyte_face. Free also faces realized for ASCII.
13891 (choose_face_font): Change arguments. Adjust for the change of
13892 fontset_font_pattern and FS_LOAD_FONT.
13893
13894 * xfns.c: Include "character.h".
13895 (x_encode_text): Adjust for the new code-conversion API.
13896
13897 * xselect.c: Don't include "charset.h".
13898 (selection_data_to_lisp_data): Adjust for the new code conversion API.
13899
13900 * xterm.c: Include "character.h".
13901 (x_encode_char): New argument CHARSET. Change caller.
13902 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
13903 Call ENCODE_CHAR instead of SPLIT_CHAR.
13904 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
13905 CHAR_WIDTH instead of CHARSET_WIDTH.
13906 (XTread_socket): Adjust for the new code-conversion API.
13907 (x_new_font): Adjust for the change of FS_LOAD_FONT.
13908 (x_load_font): Adjust for the change of struct font.
13909
139102008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
13911
13912 * xfaces.c (face_at_buffer_position): Remove unused vars.
13913
139142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13915
13916 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
13917 Fix overflow checking.
13918
139192008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
13920
13921 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
13922 Cancel previous change.
13923
139242008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13925
13926 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
13927 ccl->eight_bit_control. Fix check for buffer overflow.
13928 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
13929 (ccl_driver): Initialize extra_bytes to 0.
13930
139312008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
13932
13933 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
13934 return it ORed with ctrl_modifier.
13935
139362008-01-29 Miles Bader <miles@gnu.org>
13937
13938 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
13939
139402008-01-28 Jason Rumney <jasonr@gnu.org>
13941
13942 * w32.c (stat): Don't double check for networked drive.
13943
139442008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
13945
13946 * window.c (run_window_configuration_change_hook): New function.
13947 Code extracted from set_window_buffer. Set the selected frame.
13948 (set_window_buffer): Use it.
13949 * window.h (run_window_configuration_change_hook): Declare.
13950 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
13951
13952 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
13953
139542008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
13955
13956 * Makefile.in: Remove references to unused macros.
13957
139582008-01-26 Eli Zaretskii <eliz@gnu.org>
13959
13960 * w32.c (g_b_init_get_sid_sub_authority)
13961 (g_b_init_get_sid_sub_authority_count): New static variables.
13962 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
13963 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
13964 (init_user_info): Use them to retrieve uid and gid.
13965 Use 500/513, the Windows defaults, as Administrator's uid/gid.
13966 (fstat): Use pw_uid and pw_gid from the_passwd structure for
13967 st_uid and st_gid of the file.
13968
139692008-01-26 Jason Rumney <jasonr@gnu.org>
13970
13971 * w32.c (logon_network_drive): New function.
13972 (stat): Use it.
13973
139742008-01-26 Chong Yidong <cyd@stupidchicken.com>
13975
13976 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
13977 invisible text covered with an ellipsis.
13978
139792008-01-25 Richard Stallman <rms@gnu.org>
13980
13981 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
13982 jump back to beginning. Move some other initializations after that.
13983 (Qwindow_text_change_functions, Vwindow_text_change_functions):
13984 New variables.
13985 (syms_of_xdisp): Init them.
13986
13987 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
13988
13989 * buffer.c (reset_buffer_local_variables):
13990 Implement `permanent-local-hook'.
13991 (Qpermanent_local_hook): New variable.
13992 (syms_of_buffer): Init and staticpro it.
13993
139942008-01-25 Michael Albinus <michael.albinus@gmx.de>
13995
13996 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
13997
139982008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
13999
14000 * fns.c (Fclrhash): Return TABLE.
14001
140022008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14003
14004 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
14005 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
14006 is set even without positional changes.
14007 (x_scroll_bar_clear): Set bar->redraw_needed_p.
14008
14009 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
14010
140112008-01-23 Jason Rumney <jasonr@gnu.org>
14012
14013 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
14014
14015 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
14016 the unicode range available in MULE by locale-coding-system.
14017 Improve dbcs lead byte detection. Set event timestamp and modifiers
14018 earlier.
14019
140202008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14021
14022 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
14023 [MAC_OSX] (init_mac_osx_environment): Initialize it.
14024 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
14025 when used on child processes.
14026
140272008-01-21 Michael Albinus <michael.albinus@gmx.de>
14028
14029 * dbusbind.c (Fdbus_method_return_internal): Rename from
14030 Fdbus_method_return.
14031 (Fdbus_unregister_object): Move to dbus.el.
14032 (Fdbus_call_method, Fdbus_method_return_internal)
14033 (Fdbus_send_signal): Improve debug messages.
14034
140352008-01-20 Martin Rudalics <rudalics@gmx.at>
14036
14037 * undo.c (undo_inhibit_record_point): New variable.
14038 (syms_of_undo): Initialize it.
14039 (record_point): Don't record point when undo_inhibit_record_point
14040 is set.
14041
140422008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
14043
14044 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
14045
14046 * xdisp.c (Qauto_hscroll_mode): New var.
14047 (syms_of_xdisp): Initialize it.
14048 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
14049 window's buffer.
14050 (hscroll_windows): Don't check automatic_hscrolling_p here.
14051
14052 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
14053 vscroll if we're setting window-buffer to the value it already has.
14054
140552008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
14056
14057 * m/intel386.h: Remove references to XENIX.
14058
140592008-01-17 Andreas Schwab <schwab@suse.de>
14060
14061 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
14062 instead of HAVE_X86_64_LIB64_DIR.
14063 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
14064
140652008-01-17 Glenn Morris <rgm@gnu.org>
14066
14067 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
14068 to HAVE_X86_64_LIB64_DIR.
14069
140702008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
14071
14072 * s/irix3-3.h:
14073 * s/irix4-0.h:
14074 * s/386-ix.h:
14075 * s/domain.h:
14076 * s/hpux9-x11r4.h:
14077 * s/hpux9shxr4.h: Remove files for systems no longer supported.
14078
14079 * sysdep.c: Remove code containing references to symbols defined
14080 by unsupported systems.
14081
140822008-01-16 Glenn Morris <rgm@gnu.org>
14083
14084 * coding.c (select-safe-coding-system-function): Doc fix.
14085
140862008-01-15 Glenn Morris <rgm@gnu.org>
14087
14088 * config.in: Revert 2008-01-13 change: this is a generated file.
14089
140902008-01-13 Tom Tromey <tromey@redhat.com>
14091
14092 * lisp.h: Fix typo.
14093
140942008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14095
14096 * m/sequent-ptx.h:
14097 * m/sequent.h:
14098 * s/ptx.h:
14099 * s/ptx4-2.h:
14100 * s/ptx4.h: Remove files for systems no longer supported.
14101
14102 * callproc.c (Fcall_process): Fix previous change.
14103
141042008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
14105
14106 * unexsunos4.c: Remove file, system not supported anymore.
14107
14108 * m/mips.h:
14109 * m/intel386.h:
14110 * callproc.c:
14111 * config.in:
14112 * ecrt0.c:
14113 * emacs.c:
14114 * fileio.c:
14115 * frame.c:
14116 * getpagesize.h:
14117 * keyboard.c:
14118 * lread.c:
14119 * process.c:
14120 * puresize.h:
14121 * sysdep.c:
14122 * systty.h:
14123 * syswait.h:
14124 * unexec.c:
14125 * xdisp.c:
14126 * alloc.c: Remove code containing references to symbols defined by
14127 unsupported systems.
14128
141292008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
14130
14131 * coding.c (detect_coding_mask): Fix previous change.
14132
141332008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
14134
14135 * coding.c (detect_coding_iso2022): New arg
14136 latin_extra_code_state. Allow Latin extra codes only
14137 when *latin_extra_code_state is nonzero.
14138 (detect_coding_mask): If there is a NULL byte, detect the encoding
14139 as UTF-16 or binary. If Latin extra codes exist, detect the
14140 encoding as ISO-2022 only when there's no other proper encoding is
14141 found.
14142
141432008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14144
14145 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
14146 #ifdef MAC_OS.
14147
141482008-01-08 Richard Stallman <rms@gnu.org>
14149
14150 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
14151
141522008-01-06 Nick Roberts <nickrob@snap.net.nz>
14153
14154 * keyboard.c (parse_menu_item): Don't enclose key bindings on
14155 menu bar in parentheses.
14156
141572008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
14158
14159 * m/7300.h:
14160 * m/acorn.h:
14161 * m/alliant-2800.h:
14162 * m/alliant.h:
14163 * m/alliant1.h:
14164 * m/alliant4.h:
14165 * m/altos.h:
14166 * m/amdahl.h:
14167 * m/apollo.h:
14168 * m/att3b.h:
14169 * m/aviion-intel.h:
14170 * m/aviion.h:
14171 * m/celerity.h:
14172 * m/clipper.h:
14173 * m/cnvrgnt.h:
14174 * m/convex.h:
14175 * m/cydra5.h:
14176 * m/delta88k.h:
14177 * m/dpx2.h:
14178 * m/dual.h:
14179 * m/elxsi.h:
14180 * m/f301.h:
14181 * m/gould-np1.h:
14182 * m/gould.h:
14183 * m/i860.h:
14184 * m/ibmps2-aix.h:
14185 * m/ibmrt-aix.h:
14186 * m/ibmrt.h:
14187 * m/irist.h:
14188 * m/is386.h:
14189 * m/isi-ov.h:
14190 * m/mega68.h:
14191 * m/mg1.h:
14192 * m/news-r6.h:
14193 * m/news-risc.h:
14194 * m/news.h:
14195 * m/nh3000.h:
14196 * m/nh4000.h:
14197 * m/ns16000.h:
14198 * m/ns32000.h:
14199 * m/nu.h:
14200 * m/orion.h:
14201 * m/orion105.h:
14202 * m/paragon.h:
14203 * m/pfa50.h:
14204 * m/plexus.h:
14205 * m/pyramid.h:
14206 * m/pyrmips.h:
14207 * m/sh3el.h:
14208 * m/sps7.h:
14209 * m/sr2k.h:
14210 * m/stride.h:
14211 * m/sun1.h:
14212 * m/sun2.h:
14213 * m/sun3-68881.h:
14214 * m/sun3-fpa.h:
14215 * m/sun3-soft.h:
14216 * m/sun3.h:
14217 * m/sun386.h:
14218 * m/symmetry.h:
14219 * m/tad68k.h:
14220 * m/tahoe.h:
14221 * m/targon31.h:
14222 * m/tek4300.h:
14223 * m/tekxd88.h:
14224 * m/tower32.h:
14225 * m/tower32v3.h:
14226 * m/ustation.h:
14227 * m/wicat.h:
14228 * m/xps100.h:
14229 * s/cxux.h:
14230 * s/cxux7.h:
14231 * s/dgux.h:
14232 * s/dgux4.h:
14233 * s/dgux5-4-3.h:
14234 * s/dgux5-4r2.h:
14235 * s/esix.h:
14236 * s/esix5r4.h:
14237 * s/hiuxmpp.h:
14238 * s/hiuxwe2.h:
14239 * s/iris3-5.h:
14240 * s/iris3-6.h:
14241 * s/isc2-2.h:
14242 * s/isc3-0.h:
14243 * s/isc4-0.h:
14244 * s/isc4-1.h:
14245 * s/newsos5.h:
14246 * s/newsos6.h:
14247 * s/osf1.h:
14248 * s/osf5-0.h:
14249 * s/riscix1-1.h:
14250 * s/riscix12.h:
14251 * s/sco4.h:
14252 * s/sco5.h:
14253 * s/sunos4-0.h:
14254 * s/sunos4-1.h:
14255 * s/sunos413.h:
14256 * s/sunos4shr.h:
14257 * s/umax.h:
14258 * s/unipl5-2.h:
14259 * s/xenix.h:
14260 * cxux-crt0.s:
14261 * unexapollo.c:
14262 * unexconvex.c:
14263 * unexenix.c:
14264 * unexsni.c: Remove files for systems no longer supported.
14265
14266 * m/intel386.h: Remove references to unsupported systems.
14267
14268 * w32.c (get_emacs_configuration): Remove reference to i860.
14269
14270 * sysdep.c: Remove dead code.
14271
142722008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
14273
14274 * s/rtu.h:
14275 * m/masscomp.h: Remove files. Platform is obsolete.
14276
142772008-01-04 Michael Albinus <michael.albinus@gmx.de>
14278
14279 * dbusbind.c (Fdbus_method_return): New function.
14280 (xd_read_message): Add the serial number to the event.
14281 (Fdbus_register_method): Activate the function.
14282
142832008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
14284
14285 * keyboard.c (read_key_sequence): Fix typo.
14286
142872008-01-03 Michael Albinus <michael.albinus@gmx.de>
14288
14289 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
14290 (xd_signature, xd_append_arg): Handle element type detection for
14291 empty arrays.
14292 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
14293 SDATA () calls; this must be solved more general.
14294 (Fdbus_register_signal): Use SBYTES instead of strlen.
14295
142962008-01-03 Magnus Henoch <magnus@zemdatav>
14297
14298 * dbusbind.c (xd_append_arg): Use unsigned char instead of
14299 unsigned int for byte values (necessary for big-endian platform).
14300 (Fdbus_call_method): Handle the case of no returned arguments.
14301
143022007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
14303
14304 * dbusbind.c (xd_read_message): Use non-static input_event struct.
14305
143062007-12-31 Magnus Henoch <mange@freemail.hu>
14307
14308 * dbusbind.c (xd_signature): Signature of variant is just "v".
14309
143102007-12-30 Michael Albinus <michael.albinus@gmx.de>
14311
14312 * dbusbind.c: Fix several errors and compiler warnings.
14313 Reported by Tom Tromey <tromey@redhat.com>.
14314 (XD_ERROR, XD_DEBUG_MESSAGE)
14315 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
14316 (xd_append_arg): Part for basic D-Bus types rewritten.
14317 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
14318 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
14319 appropriate.
14320 (xd_read_message): Return Qnil. Don't signal an error; it is not
14321 useful during event reading.
14322 (Fdbus_register_signal): Signal an error if the check for
14323 FUNCTIONP fails.
14324 (Fdbus_register_method): New function. The implementation is not
14325 complete, the call of the function signals an error therefore.
14326 (Fdbus_unregister_object): New function, renamed from
14327 Fdbus_unregister_signal. The initial check signals an error, if
14328 the object is not well formed.
14329
143302007-12-30 Richard Stallman <rms@gnu.org>
14331
14332 * textprop.c (get_char_property_and_overlay):
14333 Signal error if POSITION is out of range in a buffer.
14334
143352007-12-29 Martin Rudalics <rudalics@gmx.at>
14336
14337 * w32fns.c (Fx_create_frame): Make copy of frame parameters
14338 because the original parameters are in pure storage now.
14339
143402007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14341
14342 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
14343
143442007-12-22 Eli Zaretskii <eliz@gnu.org>
14345
14346 * callint.c (syms_of_callint) <command-history>: Add reference to
14347 history-length in the doc string.
14348
143492007-12-17 Jason Rumney <jasonr@gnu.org>
14350
14351 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
14352 before passing as wParam.
14353
143542007-12-22 Michael Albinus <michael.albinus@gmx.de>
14355
14356 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
14357 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
14358 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
14359 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
14360 as number.
14361 (Fdbus_call_method): Fix docstring.
14362
143632007-12-21 Michael Albinus <michael.albinus@gmx.de>
14364
14365 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
14366 New macros.
14367 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
14368 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
14369 Simplify.
14370 (xd_signature): New function.
14371 (xd_append_arg): Compute also signatures. Major rewrite.
14372 (xd_retrieve_arg): Make debug messages friendly.
14373 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
14374 Check for signatures of arguments.
14375
143762007-12-19 Michael Albinus <michael.albinus@gmx.de>
14377
14378 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
14379 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
14380 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
14381 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
14382 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
14383 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
14384 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
14385 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
14386 (xd_retrieve_value): Remove. Functionality included in ...
14387 (xd_append_arg): New function.
14388 (Fdbus_call_method, Fdbus_send_signal): Apply it.
14389
143902007-12-16 Michael Albinus <michael.albinus@gmx.de>
14391
14392 * dbusbind.c (top): Include <stdio.h>.
14393 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
14394 dbus_message_new_method_call and dbus_message_new_signal.
14395 (Fdbus_register_signal): Rename unique_name to uname.
14396 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
14397 non-existing unique name. Fix typos in matching rule. Return an
14398 object which is useful in Fdbus_unregister_signal.
14399 (Fdbus_unregister_signal): Reimplementation, in order to remove
14400 only the corresponding entry.
14401 (Vdbus_registered_functions_table): Change the order of entries.
14402 Apply these changes in xd_read_message and Fdbus_register_signal.
14403
144042007-12-16 Andreas Schwab <schwab@suse.de>
14405
14406 * fileio.c (Finsert_file_contents): Fix overflow check to not
14407 depend on undefined integer overflow.
14408
144092007-12-14 Jason Rumney <jasonr@gnu.org>
14410
14411 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
14412 for characters above 127.
14413
144142007-12-13 Jason Rumney <jasonr@gnu.org>
14415
14416 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
14417 before dereferencing array.
14418 (lookup_vk_code): Remove zero comparison.
14419
144202007-12-14 Michael Albinus <michael.albinus@gmx.de>
14421
14422 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
14423 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
14424 Use `unsigned int' instead of `uint'.
14425 (xd_read_message, Fdbus_register_signal): Split expressions into
14426 multiple lines before operators "&&" and "||", according to the
14427 GNU Coding Standards.
14428
144292007-12-14 Eli Zaretskii <eliz@gnu.org>
14430
14431 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
14432
144332007-12-12 Juri Linkov <juri@jurta.org>
14434
14435 * buffer.c (Frename_buffer): In interactive spec replace
14436 `read-buffer' with `read-string' that uses `buffer-name-history'
14437 as history, and the current buffer's name as default.
14438
144392007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
14440
14441 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
14442 manipulating the backtrace manually.
14443 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
14444 (struct backtrace, backtrace_list): Remove.
14445 (command_loop_1): Remove dead var `no_direct'.
14446
14447 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
14448 preserve non-built-in buffer-local variables.
14449 (Fkill_all_local_variables): Don't re-create&re-set permanent
14450 buffer-local variables.
14451
144522007-12-09 Juri Linkov <juri@jurta.org>
14453
14454 * buffer.c (Frename_buffer): Change interactive spec from "s" to
14455 Lisp code that uses `read-buffer' with current buffer as default.
14456
144572007-12-08 Michael Albinus <michael.albinus@gmx.de>
14458
14459 * dbusbind.c (xd_read_message): Generate an event for every
14460 registered handler. There might be several handlers registered
14461 for the same signal.
14462 (Fdbus_register_signal): Don't overwrite a registration for the
14463 same signal. Add a new registration if handlers are different.
14464 (Vdbus_registered_functions_table): Rework doc string.
14465
144662007-12-07 Michael Albinus <michael.albinus@gmx.de>
14467
14468 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
14469 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
14470 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
14471 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
14472 Unify argument lists.
14473 (xd_read_message, Fdbus_register_signal): Reorder and extend event
14474 arguments and hash table keys. Use unique name for service.
14475 (Fdbus_unregister_signal): Remove checks.
14476 (Vdbus_registered_functions_table): Fix doc string.
14477
144782007-12-05 Magnus Henoch <mange@freemail.hu>
14479
14480 * process.c (make_process): Initialize pty_flag to 0.
14481
144822007-12-05 Jason Rumney <jasonr@gnu.org>
14483
14484 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
14485 specified XBMs.
14486
144872007-12-05 Richard Stallman <rms@gnu.org>
14488
14489 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
14490
144912007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14492
14493 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
14494 New variable.
14495 (mac_try_close_socket) [MAC_OSX]: New function.
14496 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
14497 Update cfsockets_for_select. Replace invalid CFRunLoop source.
14498
14499 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
14500 Use mac_try_close_socket.
14501
145022007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14503
14504 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
14505 reloc_base.
14506 (copy_dysymtab): Compute relocation base here.
14507 (rebase_reloc_address) [__ppc64__]: New function.
14508 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
14509 changed.
14510
145112007-12-05 Jason Rumney <jasonr@gnu.org>
14512
14513 * w32proc.c (sys_spawnve): Quote args with wildcards.
14514
145152007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14516
14517 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
14518 __objc_* sections.
14519 (unrelocate) [_LP64]: Set relocation base to address of data segment.
14520
145212007-12-05 Michael Albinus <michael.albinus@gmx.de>
14522
14523 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
14524 Move check for Vdbus_registered_functions_table to
14525 xd_read_queued_messages.
14526 (xd_read_queued_messages): Protect xd_read_message calls by
14527 internal_condition_case_1.
14528
145292007-12-04 Michael Albinus <michael.albinus@gmx.de>
14530
14531 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
14532 Qdbus_system_bus and Qdbus_session_bus, respectively.
14533 (Vdbus_intern_symbols): Remove.
14534 (Vdbus_registered_functions_table): New hash table.
14535 (XD_SYMBOL_INTERN_SYMBOL): Remove.
14536 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
14537 Rewrite in order to manage registered functions by hash table
14538 Vdbus_registered_functions_table.
14539
145402007-12-03 Jan Djärv <jan.h.d@swipnet.se>
14541
14542 * xterm.c: Update URL to Window Manager Specification in comment.
14543
145442007-12-02 Michael Albinus <michael.albinus@gmx.de>
14545
14546 * config.in (HAVE_DBUS): Add.
14547
14548 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
14549 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
14550 (obj): Add $(DBUS_OBJ).
14551 (LIBES): Add $(DBUS_LIBS).
14552 (dbusbind.o): New target.
14553
14554 * dbusbind.c: New file.
14555
14556 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
14557
14558 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
14559 (Qdbus_event): New Lisp symbol.
14560 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
14561 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 14562 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
14563
14564 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
14565
145662007-12-01 Richard Stallman <rms@gnu.org>
14567
14568 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
14569
145702007-11-30 Jason Rumney <jasonr@gnu.org>
14571
14572 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
14573 (w32con_reset_terminal_modes): Clear screen buffer.
14574 (w32_face_attributes): Don't use color indexes that are out of range.
14575 Only reverse the default colors.
14576
14577 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
14578 WINDOWSNT.
14579
14580 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
14581
145822007-11-29 Jason Rumney <jasonr@gnu.org>
14583
14584 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
14585 (w32_face_attributes): Use Vtty_defined_color_alist to determine
14586 if the terminal colors are initialized.
14587 (unspecified_fg, unspecified_bg): Remove unused declarations.
14588
145892007-11-29 Andreas Schwab <schwab@suse.de>
14590
14591 * keyboard.c (apply_modifiers): Fix typo.
14592
145932007-11-29 Richard Stallman <rms@gnu.org>
14594
14595 * keymap.c (Fcurrent_local_map): Doc fix.
14596
145972007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
14598
14599 * s/gnu-kfreebsd.h: New file.
14600
146012007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
14602
14603 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
14604 Don't cast redundantly.
14605
14606 * keyboard.c (KEY_TO_CHAR): New macro.
14607 (parse_modifiers, apply_modifiers): Accept integer arguments.
14608 (read_key_sequence): Use them to unify the "shift->unshift" mapping
14609 for chars and symbol keys.
14610 After doing such remapping, apply function-key-map again.
14611
146122007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
14613
14614 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
14615 compiled anymore.
14616
146172007-11-26 Andreas Schwab <schwab@suse.de>
14618
14619 * process.c (list_processes_1): Fix indentation level of the
14620 command column.
14621
146222007-11-23 Andreas Schwab <schwab@suse.de>
14623
14624 * editfns.c (Fformat): Handle %c specially since it requires the
14625 argument to be of type int.
14626
146272007-11-23 Markus Triska <markus.triska@gmx.at>
14628
14629 * emacs.c (main): Call init_editfns before init_process, since
14630 init_process sets Vprocess_connection_type depending on OS release.
14631
146322007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
14633
14634 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
14635 (find_symbol_value): Use do_symval_forwarding.
14636
14637 * data.c (set_internal): Set the value in the `cons-cell' (for
14638 Buffer_Local_values) not only for frame-local variables.
14639
146402007-11-22 Andreas Schwab <schwab@suse.de>
14641
14642 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
14643 values to sprintf.
14644 * keymap.c (Fsingle_key_description): Likewise.
14645 * print.c (print_object): Likewise.
14646
146472007-11-22 Jan Djärv <jan.h.d@swipnet.se>
14648
14649 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
14650 file for image is nil.
14651
146522007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
14653
14654 * term.c: Include stdarg.h.
14655 (fatal): Implement using varargs.
14656 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
14657
146582007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14659
14660 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
14661 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
14662 Update call to buffer_slot_type_mismatch.
14663 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
14664 (buffer_slot_type_mismatch): Update.
14665 * buffer.c (buffer_local_types): Remove.
14666 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
14667 (defvar_per_buffer): Set the type in the buffer_objfwd.
14668
146692007-11-21 Jason Rumney <jasonr@gnu.org>
14670
14671 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
14672 CreateFileMapping returns NULL on failure.
14673
146742007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
14675
14676 * search.c (Fset_match_data): Remove the `evaporate' feature.
14677 (unwind_set_match_data): Don't use the `evaporate' feature.
14678
146792007-11-21 Jason Rumney <jasonr@gnu.org>
14680
14681 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
14682
14683 * w32console.c (w32con_write_glyphs): Remove unused variables.
14684
146852007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
14686
14687 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
14688
14689 * s/darwin.h (MULTI_KBOARD): Remove.
14690
14691 * macfns.c (x_create_tip_frame, Fx_create_frame)
14692 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
14693
146942007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
14695
14696 * buffer.c (Fbuffer_local_value): Remove redundant test.
14697 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
14698 than in `current-buffer' to match the comment.
14699 Do the swap using swap_in_global_binding.
14700
14701 * data.c (store_symval_forwarding, set_internal):
14702 * eval.c (specbind): Remove dead code.
14703
14704 * coding.c (detect_coding, Fupdate_coding_systems_internal):
14705 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
14706 Since we do not want to see internal Lisp_*fwd objects here.
14707
147082007-11-18 Jan Djärv <jan.h.d@swipnet.se>
14709
14710 * sysdep.c (init_system_name): Use getaddrinfo if available.
14711
14712 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
14713 (x_scroll_bar_note_movement): start, end, with, height in struct
14714 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
14715
147162007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
14717
14718 * puresize.h (BASE_PURESIZE): Increase to 1190000.
14719
147202007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
14721
14722 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
14723 This undoes Richard's change of 14-Oct-2002.
14724
14725 * alloc.c (allocate_other_vector):
14726 * lisp.h (allocate_other_vector): Remove.
14727
14728 * window.c (struct save_window_data): Move non-lisp data to the end
14729 and make it `int' rather than Lisp_Object.
14730 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
14731 Done wrap/unwrap integer values.
14732 (Fset_window_configuration, compare_window_configurations):
14733 Update use of fields to their new types.
14734
14735 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
14736 Turn integer fields into `int'. Merge x_window_low and x_window_high.
14737 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
14738 (SET_SCROLL_BAR_X_WINDOW): Remove.
14739 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
14740 Access the new x_window field directly.
14741 * xterm.c (x_scroll_bar_create): Use a pseudovector.
14742 Don't wrap/unwrap integers into Lisp_Objects.
14743 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
14744 (x_scroll_bar_report_motion):
14745 Don't wrap/unwrap integers into Lisp_Objects.
14746 (x_term_init): Use SDATA.
14747 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
14748 (x_scroll_bar_set_handle, x_scroll_bar_remove)
14749 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
14750 (x_scroll_bar_report_motion, x_scroll_bar_clear):
14751 * xfns.c (x_set_background_color):
14752 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
14753 Access the new x_window field directly.
14754
14755 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
14756 (allocate_pseudovector): Make non-static.
14757
14758 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
14759 (allocate_pseudovector): Declare.
14760 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
14761
147622007-11-15 Andreas Schwab <schwab@suse.de>
14763
14764 * editfns.c (Fformat): Correctly format EMACS_INT values.
14765 Also take precision into account when formatting an integer.
14766
14767 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
14768
147692007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
14770
14771 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
14772 (syms_of_keyboard): Defsubr it.
14773
14774 * data.c (swap_in_global_binding): Fix longstanding bug where
14775 store_symval_forwarding was not called with the right second argument,
14776 thus causing objfwd-ing from being dropped.
14777
147782007-11-14 Juanma Barranquero <lekktu@gmail.com>
14779
14780 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
14781 (Fx_display_pixel_height, Fx_display_planes)
14782 (Fx_display_color_cells, Fx_server_max_request_size)
14783 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14784 (Fx_display_visual_class, Fx_display_save_under):
14785 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
14786 (Fx_display_pixel_height, Fx_display_planes)
14787 (Fx_display_color_cells, Fx_server_max_request_size)
14788 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
14789 (Fx_display_mm_height, Fx_display_mm_width)
14790 (Fx_display_backing_store, Fx_display_visual_class)
14791 (Fw32_select_font, Fx_display_save_under):
14792 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
14793 (Fx_display_pixel_height, Fx_display_planes)
14794 (Fx_display_color_cells, Fx_server_max_request_size)
14795 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
14796 (Fx_display_save_under): Fix typos in docstrings.
14797
147982007-11-14 Juanma Barranquero <lekktu@gmail.com>
14799
14800 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
14801 corresponding to deleted entries; they are an implementation detail.
14802 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
14803 Remove variables.
14804 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
14805 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
14806 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
14807 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
14808 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
14809 (Fw32_define_rgb_color, Fw32_load_color_file)
14810 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
14811 Fix typos in docstrings.
14812 (Fx_server_version): Reflow docstring.
14813 (Fw32_shell_execute): Doc fixes.
14814
148152007-11-13 Juanma Barranquero <lekktu@gmail.com>
14816
14817 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
14818 if w32_parse_hot_key returned nil.
14819
148202007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
14821
14822 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
14823
148242007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 14825
aac0c6e3
MR
14826 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
14827
14828 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
14829
14830 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
14831 Remove W32_SCROLL_BAR_CLICK_EVENT.
14832
14833 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
14834 Add MULTIMEDIA_KEY_EVENT.
14835
14836 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
14837 (lispy_multimedia_keys) [WINDOWSNT]: New array.
14838 (make_lispy_event) [WINDOWSNT]: Use it to translate
14839 MULTIMEDIA_KEY_EVENT.
14840
14841 * w32term.h (WM_APPCOMMAND): Define if not already.
14842 (GET_APPCOMMAND_LPARAM): Likewise.
14843
14844 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
14845 WM_APPCOMMAND.
14846
14847 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
14848 (syms_of_w32fns): Export and initialize it.
14849 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
14850
148512007-11-09 Chong Yidong <cyd@stupidchicken.com>
14852
14853 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
14854 twice.
14855
14856 * xdisp.c (handle_face_prop): Fix last change.
14857
148582007-11-09 Richard Stallman <rms@gnu.org>
14859
14860 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
14861 not just for after-strings and before-strings.
14862 Call face_for_overlay_string and pass the overlay to it.
14863 (handle_display_prop): Determine whether property came from an overlay.
14864 Pass OVERLAY arg to handle_single_display_spec.
14865 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
14866 (load_overlay_strings): Fill in it->string_overlays.
14867 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
14868
14869 * xfaces.c (face_for_overlay_string): Function renamed from
14870 face_at_buffer_position_no_overlays, and add arg OVERLAY.
14871
14872 * dispextern.h (struct it): New elt string_overlays.
14873 New elt from_overlay, also in stack.
14874 Rearrange a few elements.
14875 (face_for_overlay_string): Decl renamed from
14876 face_at_buffer_position_no_overlays, and add argument.
14877
148782007-11-09 Richard Stallman <rms@gnu.org>
14879
14880 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
14881 to get the base face for an overlay string.
14882
14883 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
14884
14885 * xfaces.c (face_at_buffer_position_no_overlays): New function.
14886
14887 * xdisp.c (handle_stop): Move some code out of loop.
14888
148892007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14890
14891 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
14892 Fix conversion from Lisp object to ATSUFontID.
14893
148942007-11-09 Jason Rumney <jasonr@gnu.org>
14895
14896 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
14897
148982007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
14899
14900 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
14901 Don't assume regions are aligned to page boundary.
14902 (print_load_command_name): Add LC_UUID if defined.
14903
149042007-11-09 Richard Stallman <rms@gnu.org>
14905
14906 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
14907
149082007-11-07 Jason Rumney <jasonr@gnu.org>
14909
14910 * s/windows95.h: Remove.
14911
149122007-11-06 Jan Djärv <jan.h.d@swipnet.se>
14913
14914 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
14915 abort with a message on unhandled store_type values.
14916
149172007-11-01 Jan Djärv <jan.h.d@swipnet.se>
14918
14919 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
14920 Remove HAVE_X11R5 and HAVE_X11R4.
14921
149222007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14923
14924 * Makefile.in: Remove references to sunfns.c and sunfns.o.
14925
149262007-11-01 Johan Bockgård <bojohan@gnu.org>
14927
14928 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
14929 Don't set s->stippled_p here, since it has already been set by
14930 x_set_glyph_string_gc from x_draw_glyph_string.
14931
149322007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
14933
14934 * sunfns.c: Remove file.
14935
14936 * m/sun386.h:
14937 * m/sun2.h:
14938 * m/sparc.h: Remove Sun windows code.
14939
149402007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
14941
14942 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
14943 (init_keyboard): Set current_kboard's window-system to nil.
14944 (tty_read_avail_input): Typo.
14945 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
14946
149472007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
14948
14949 * s/usg5-4.h:
14950 * s/usg5-3.h:
14951 * s/ptx.h:
14952 * m/is386.h:
14953 * m/ibmps2-aix.h:
14954 * Makefile.in: Remove all mentions of X10.
14955
14956 * dispnew.c (syms_of_display): Don't mention version 10.
14957
149582007-10-28 Juanma Barranquero <lekktu@gmail.com>
14959
14960 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
14961 ($(BLD)/abbrev.$(O)): Remove.
14962
149632007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
14964
14965 Rewrite abbrev.c in Elisp.
14966 * image.c (Qcount): Don't declare as extern.
14967 (syms_of_image): Initialize and staticpro `Qcount'.
14968 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
14969 * emacs.c (main): Don't call syms_of_abbrev.
14970 * Makefile.in (obj): Remove abbrev.o.
14971 (abbrev.o): Remove.
14972 * abbrev.c: Remove.
14973
149742007-10-26 Martin Rudalics <rudalics@gmx.at>
14975
14976 * window.c (window_min_size_2): Don't count header-line.
14977
149782007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
14979
14980 * frame.h (struct frame): Move all bit fields after the first bit
14981 field to take advantage of the available space. Group all the
14982 chars together to reduce wasted space due to padding.
14983
149842007-10-26 Juanma Barranquero <lekktu@gmail.com>
14985
14986 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
14987
14988 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
14989 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
14990 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
14991 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
14992 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
14993 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
14994 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
14995 (last_marked, mark_object_loop_halt): Make static.
14996
14997 * frame.c (syms_of_frame) <delete-frame-functions>:
14998 Fix typo in docstring.
14999
150002007-10-25 Juanma Barranquero <lekktu@gmail.com>
15001
15002 * w32.c (init_environment): Fix tiny memory leak.
15003 (w32_get_resource): Remove unused variable `ok'.
15004
150052007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
15006
15007 Make `window-system' into a keyboard-local variable (rather than
15008 frame-local as done originally by multi-tty).
15009
15010 * keyboard.h (struct kboard): Add Vwindow_system.
15011 * keyboard.c (init_kboard): Set a default for Vwindow_system.
15012 (mark_kboards): Mark Vwindow_system.
15013
15014 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
15015 (init_display): Don't set the obsolete `window-system' frame-param.
15016
15017 * xterm.c (x_term_init):
15018 * w32term.c (w32_create_terminal):
15019 * term.c (init_tty): Set Vwindow_system.
15020 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
15021 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
15022
15023 * xfns.c (Fx_create_frame, x_create_tip_frame):
15024 * w32fns.c (Fx_create_frame, x_create_tip_frame):
15025 * macfns.c (Fx_create_frame):
15026 Don't set the obsolete `window-system' frame-param.
15027
15028 * frame.h (Qwindow_system): Remove.
15029 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
15030 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
15031
150322007-10-24 Richard Stallman <rms@gnu.org>
15033
15034 * frame.c (x_figure_window_size): For fullscreen case,
15035 set USPosition | PPosition without clobbering rest of window_prompting.
15036
15037 * keyboard.c (Fcurrent_idle_time): Doc fix.
15038
15039 * print.c (Fwith_output_to_temp_buffer): Doc fix.
15040
150412007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
15042
15043 * process.c (unwind_request_sigio): Only define if __ultrix__.
15044
15045 * callproc.c (child_setup): Remove spurious *.
15046
15047 * lisp.h (Fget_text_property): Declare.
15048 (have_menus_p): Declare it here rather than in sys-dep header files.
15049 * macterm.h (have_menus_p):
15050 * msdos.h (have_menus_p):
15051 * xterm.h (have_menus_p): Remove.
15052
15053 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
15054 (Fmake_variable_frame_local): Just check the variable's const-ness
15055 rather than checking nil or t.
15056
150572007-10-22 Jason Rumney <jasonr@gnu.org>
15058
15059 * w32fns.c: Include math.h.
15060 (w32_abort): Declaration moved to nt/config.nt.
15061
15062 * s/ms-w32.h (HAVE_STDLIB_H): Define.
15063 (abort): Redefinition moved to nt/config.nt.
15064
15065 * m/windowsnt.h: Remove.
15066
150672007-10-22 Juanma Barranquero <lekktu@gmail.com>
15068
15069 * emacs.c (Fdump_emacs): Fix typo in message.
15070 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
15071 <installation-directory>: Reflow docstring.
15072
150732007-10-22 Juri Linkov <juri@jurta.org>
15074
15075 * minibuf.c: Allow minibuffer default to be a list of default values.
15076 With empty input use the first element of this list as returned default.
15077 (string_to_object)
15078 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
15079 (read_minibuf): If defalt is cons, set histstring to its car.
15080 (Fread_string): If default_value is cons, set val to its car.
15081 (Fread_buffer): If def is cons, use its car.
15082 (Fcompleting_read): If defalt is cons, set val to its car.
15083
150842007-10-21 Michael Albinus <michael.albinus@gmx.de>
15085
15086 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
15087
150882007-10-20 Juanma Barranquero <lekktu@gmail.com>
15089
15090 * doc.c (Fdocumentation): Check for advice in all cases.
15091
150922007-10-19 Chong Yidong <cyd@stupidchicken.com>
15093
15094 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
15095
150962007-10-19 Richard Stallman <rms@gnu.org>
15097
15098 * doc.c (Fdocumentation): Check for and handle an advised function.
15099
151002007-10-19 Juanma Barranquero <lekktu@gmail.com>
15101
15102 * process.c (Fset_process_filter): Doc fix.
15103
151042007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
15105
15106 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
15107 which caused key-translation-map to applied repeatedly (thus breaking
15108 double-mode).
15109
151102007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15111
15112 * xselect.c (x_own_selection, x_handle_selection_clear)
15113 (x_clear_frame_selections):
15114 * w32menu.c (list_of_panes, list_of_items):
15115 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
15116 * textprop.c (validate_plist, interval_has_all_properties)
15117 (interval_has_some_properties, interval_has_some_properties_list)
15118 (add_properties, text_property_list):
15119 * process.c (Fget_buffer_process, list_processes_1, status_notify):
15120 * minibuf.c (Fassoc_string):
15121 * macselect.c (x_own_selection, x_clear_frame_selections)
15122 (Fx_disown_selection_internal):
15123 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
15124 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
15125
151262007-10-17 Chong Yidong <cyd@stupidchicken.com>
15127
15128 * process.c: Link to libs for calling res_init() if available.
15129 (Fmake_network_process): Call res_init() before getaddrinfo or
15130 gethostbyname, if possible.
15131
151322007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
15133
15134 * lread.c (read1): Set pvectype for char_tables.
15135
15136 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
15137 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
15138 Add type checks.
15139 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
15140
15141 * alloc.c (free_misc): Use XMISCTYPE.
15142 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
15143
151442007-10-17 Glenn Morris <rgm@gnu.org>
15145
15146 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
15147 (syms_of_minibuf): Add Qcompletion_ignore_case.
15148 * dired.c (Qcompletion_ignore_case): Change to external.
15149 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
15150 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
15151 (Fread_file_name): Use it rather than intern'ing.
15152
15153 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
15154 (Fread_coding_system): Ignore case of user input.
15155
151562007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15157
15158 * xdisp.c (handle_display_prop): Ignore display specs after
15159 replacing one when string text is being replaced.
15160 (handle_single_display_spec): Pretend as if characters with display
15161 property haven't been consumed only when buffer text is being replaced.
15162
151632007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
15164
15165 * xfns.c (Fx_create_frame, Fx_display_list):
15166 * window.c (window_fixed_size_p, enlarge_window)
15167 (shrink_window_lowest_first):
15168 * macterm.c (init_font_name_table):
15169 * macfns.c (Fx_create_frame, Fx_display_list):
15170 * lread.c (close_load_descs):
15171 * keyboard.c (read_char_x_menu_prompt):
15172 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
15173 * coding.c (code_convert_region_unwind): Test the type of an object
15174 rather than just !NILP before extracting data from it.
15175
15176 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
15177
15178 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
15179 (XMISCANY): New macro.
15180 (XMISCTYPE): Use it.
15181 (struct Lisp_Misc_Any): New type.
15182 (union Lisp_Misc): Use it.
15183 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
15184 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
15185 (find_symbol_value, set_internal, default_value, Fset_default)
15186 (Fmake_variable_buffer_local, Fmake_local_variable)
15187 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
15188 (Flocal_variable_if_set_p, Fvariable_binding_locus):
15189 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
15190 * alloc.c (allocate_buffer): Set the size and tag.
15191 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
15192 Use XMISCANY.
15193 (die): Follow the GNU convention for error messages.
15194 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
15195 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
15196 tag any more.
15197 (set_buffer_internal_1):
15198 * frame.c (store_frame_param):
15199 * eval.c (specbind):
15200 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
15201
15202 * doc.c (Fsnarf_documentation): Simplify.
15203
152042007-10-14 Juanma Barranquero <lekktu@gmail.com>
15205
15206 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
15207 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
15208
152092007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
15210
15211 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
15212
152132007-10-14 Juanma Barranquero <lekktu@gmail.com>
15214
15215 * eval.c (do_autoload): Don't save autoloads.
15216
15217 * data.c (Ffset): Save autoload of the function being set.
15218
152192007-10-07 John Paul Wallington <jpw@pobox.com>
15220
15221 * xfns.c (x_create_tip_frame): Set the `display-type' frame
15222 parameter before setting up faces.
15223
152242007-10-13 Eli Zaretskii <eliz@gnu.org>
15225
15226 * ccl.c (Fregister_code_conversion_map):
15227 * keyboard.c (append_tool_bar_item): Reformat last change.
15228
15229 * lisp.h (eabs): Rename from `abs'. All callers changed.
15230
152312007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
15232
15233 * buffer.c (add_overlay_mod_hooklist):
15234 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
15235 * fontset.c (make_fontset):
15236 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
15237 (append_tool_bar_item):
15238 * macmenu.c (grow_menu_items):
15239 * w32menu.c (grow_menu_items):
15240 * xmenu.c (grow_menu_items): Use larger_vector.
15241
152422007-10-13 Eli Zaretskii <eliz@gnu.org>
15243
15244 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
15245 selected frame'' on MSDOS).
15246
152472007-10-12 Martin Rudalics <rudalics@gmx.at>
15248
15249 * frame.c (Qexplicit_name): New variable.
15250 (x_report_frame_params): Report it in parameter alist.
15251 (syms_of_frame): Intern and staticpro it.
15252
152532007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
15254
15255 * macfns.c (x_create_tip_frame): Set terminal for frame.
15256
152572007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
15258
15259 * frame.c (Qenvironment): Remove.
15260 (syms_of_frame) <Qenvironment>: Don't initialize.
15261 (Fdelete_frame): Don't treat the `environment' param specially.
15262 * frame.h (Qenvironment): Don't declare.
15263 * callproc.c (set_initial_environment): Don't set unused frame param.
15264
15265 * frame.c (Fframe_with_environment): Remove.
15266 (syms_of_frame) <Sframe_with_environment>: Don't declare.
15267
15268 * lisp.h (Fframe_with_environment): Don't declare.
15269
152702007-10-10 Juanma Barranquero <lekktu@gmail.com>
15271
15272 * indent.c (indent_tabs_mode, last_known_column)
15273 (last_known_column_modified): Make static.
15274 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
15275
152762007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
15277
15278 * puresize.h (BASE_PURESIZE): Increase to 1170000.
15279
152802007-10-09 Jason Rumney <jasonr@gnu.org>
15281
15282 * w32term.c (x_set_window_size): Disable code that attempts to tell
15283 Lisp code about a size change before it actually happens.
15284
152852007-10-09 Richard Stallman <rms@gnu.org>
15286
15287 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
15288 return HANDLED_RETURN.
15289
152902007-10-08 Martin Rudalics <rudalics@gmx.at>
15291
15292 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
15293 when there's an unread command event.
15294
15295 * frame.c (focus_follows_mouse): Move here from frame.el to allow
15296 window autoselection act appropriately when leaving selected frame.
15297 (syms_of_frame): Initialize focus_follows_mouse.
15298 * frame.h (focus_follows_mouse): Extern it.
15299 * macterm.c (XTread_socket): When focus_follows_mouse is nil
15300 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
15301 * msdos.c (dos_rawgetc): Likewise.
15302 * w32term.c (w32_read_socket): Likewise.
15303 * xterm.c (handle_one_xevent): Likewise.
15304 * xdisp.c (syms_of_xdisp): In doc-string of
15305 mouse-autoselect-window mention focus-follows-mouse.
15306
153072007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15308
15309 * macterm.c (mac_load_query_font): Fix missing return value.
15310 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
15311 Add BLOCK_INPUT.
15312
153132007-10-08 Richard Stallman <rms@gnu.org>
15314
15315 * xdisp.c (get_window_cursor_type): Implement documented behavior
15316 for cursor-in-non-selected-windows = t.
15317
153182007-10-08 Jason Rumney <jasonr@gnu.org>
15319
15320 * w32.c (w32_get_resource): Always close registry keys.
15321
153222007-10-08 Jason Rumney <jasonr@gnu.org>
15323
15324 * makefile.w32-in (LIBS): Add COMCTL32.
15325
15326 * w32fns.c (globals_of_w32fns): Init common controls.
15327
153282007-10-08 Richard Stallman <rms@gnu.org>
15329
15330 * image.c (our_memory_buffer): Rename from omfib_buffer.
15331
153322007-10-08 Richard Stallman <rms@gnu.org>
15333
15334 * buffer.c (Foverlays_at): Doc fix.
15335
153362007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
15337
15338 * fns.c (Fplist_put): Preserve uneven tail data.
15339
153402007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
15341
15342 * termhooks.h (enum event_kind): Remove trailing comma.
15343
15344 * frame.h (enum): Remove trailing comma.
15345
153462007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
15347
15348 * w32proc.c (delete_child): Don't terminate threads of zombies.
15349
153502007-10-08 Martin Rudalics <rudalics@gmx.at>
15351
15352 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
15353
15354 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
15355 last-repeatable-command.
15356 (init_kboard): Initialize Vlast_repeatable_command.
15357 (command_loop_1): Set it to real_this_command unless that was
15358 bound to an input event.
15359 (mark_kboards): Mark it.
15360
153612007-10-08 Richard Stallman <rms@gnu.org>
15362
15363 * eval.c (condition-case): Doc fix.
15364
153652007-10-08 Masatake YAMATO <jet@gyve.org>
15366
15367 * xfaces.c (tty_supports_face_attributes_p): Fix code
15368 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
15369 was copied and not edited.
15370
153712007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
15372
15373 Add new `input-decode-map' keymap and use it for terminal
15374 escape sequences.
15375 * keyboard.h (struct kboard): Add Vinput_decode_map.
15376 Remove Vlocal_key_translation_map.
15377 * keyboard.c (read_key_sequence): Add support for input-decode-map.
15378 (init_kboard): Init input-decode-map.
15379 Replace local-key-translation-map back with key-translation-map.
15380 (syms_of_keyboard): Declare input-decode-map.
15381 Remove local-key-translation-map. Update docstrings.
15382 (mark_kboards): Mark Vinput_decode_map.
15383 Don't mark Vlocal_key_translation_map.
15384 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
15385 Replace local-key-translation-map back with key-translation-map.
15386 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
15387 Bind in input-decode-map rather than function-key-map.
15388
15389 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
15390 This was made redundant by the previous introduction of XSETPVECTYPE.
15391
153922007-10-09 Richard Stallman <rms@gnu.org>
15393
15394 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
15395
153962007-09-29 Richard Stallman <rms@gnu.org>
15397
15398 * eval.c (internal_condition_case_2, internal_condition_case_1)
15399 (internal_condition_case): Reenable abort if x_catching_errors ()
15400 to see if that really happens and why.
15401
154022007-10-06 Andreas Schwab <schwab@suse.de>
15403
15404 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
15405
154062007-10-04 Juanma Barranquero <lekktu@gmail.com>
15407
15408 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
15409
154102007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
15411
15412 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
15413
154142007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
15415
15416 * window.h (struct window):
15417 * window.c (struct save_window_data, struct saved_window):
15418 * termhooks.h (struct terminal):
15419 * process.h (struct Lisp_Process):
15420 * frame.h (struct frame):
15421 * buffer.h (struct buffer):
15422 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
15423 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
15424 The size field of (pseudo)vectors is now unsigned.
15425 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
15426
15427 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
15428 Turn `count' into an integer.
15429
15430 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
15431 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
15432 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
15433 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
15434 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
15435
15436 * alloc.c (allocate_pseudovector): New fun.
15437 (ALLOCATE_PSEUDOVECTOR): New macro.
15438 (allocate_window, allocate_terminal, allocate_frame)
15439 (allocate_process): Use it.
15440 (mark_vectorlike): New function.
15441 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
15442 (mark_terminals): Use it.
15443 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
15444 (Fmake_byte_code): Use XSETPVECTYPE.
15445
15446 * frame.c (Fframe_parameters): Minor simplification.
15447
15448 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
15449
15450 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
15451
15452 * buffer.c (Fget_buffer_create, init_buffer_once):
15453 * lread.c (defsubr):
15454 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
15455
15456 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
15457 defined differently in the m/*.h files.
15458 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
15459 (XSETPVECTYPE): New macro.
15460 (XSETPSEUDOVECTOR): Use it.
15461
15462 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
15463 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
15464
15465 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
15466 * lread.c (defvar_per_buffer):
15467 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
15468
15469 * window.c (candidate_window_p): Only consider as visible frames that
15470 are on the same terminal.
15471
15472 * m/ibms390x.h (MARKBIT): Remove unused macro.
15473
154742007-10-01 Juanma Barranquero <lekktu@gmail.com>
15475
15476 * lread.c (Fload): Fix typo in docstring.
15477
154782007-10-01 Michaël Cadilhac <michael@cadilhac.name>
15479
15480 * floatfns.c (Fexpt): Manually check for overflows, so that a power
15481 of a non-zero value can't yield zero.
15482
154832007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
15484
15485 * term.c (term_clear_mouse_face, term_mouse_highlight)
15486 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
15487
15488 * print.c (safe_debug_print): Use XHASH.
15489
15490 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
15491 Lisp elements such as tags.
15492 (XHASH): New macro.
15493 (EQ): Use it.
15494 (SREF, SSET, STRING_COPYIN): Use SDATA.
15495 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
15496
15497 * alloc.c (mark_terminal): Remove left-over declaration.
15498 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
15499 (allocate_vectorlike): Remove type argument. Adjust callers.
15500 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
15501 Only handle the one remaining MEM_TYPE_VECTORLIKE.
15502
15503 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
15504 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
15505 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
15506 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
15507 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
15508 Use them.
15509
15510 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
15511 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
15512 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
15513
155142007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
15515
15516 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
15517 loaded by default.
15518
155192007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
15520
15521 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
15522 on this tty.
15523 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
15524
15525 * term.c (mouse_face_window): Rename from Qmouse_face_window.
15526 Update all users.
15527 (handle_one_term_event): Use Gpm_DrawPointer.
15528 (Fgpm_mouse_start): Rename from Fterm_open_connection.
15529 Signal errors instead of returning nil. Always return nil.
15530 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
15531 Make it a noop if gpm-mouse was not activated.
15532 (syms_of_term): Update names.
15533
155342007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
15535
15536 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
15537 (init_sys_modes): Check that gpm_tty is the current tty.
15538
15539 * alloc.c (allocate_terminal): Set the vector size to only count the
15540 lisp fields. Initialize those to nil.
15541 (mark_object): Don't treat terminals specially.
15542 (mark_terminal): Remove.
15543 (mark_terminals): Use mark_object instead.
15544
15545 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
15546 the GC to the beginning.
15547
15548 * indent.h:
15549 * indent.c: Use EMACS_INT for ints coming from Elisp data.
15550
15551 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
15552
155532007-09-25 Jason Rumney <jasonr@gnu.org>
15554
15555 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
15556
15557 * w32console.c (create_w32cons_output): Remove.
15558
15559 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
15560
15561 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
15562 (reset_sys_modes): Use reset_terminal_modes_hook.
15563
155642007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
15565
15566 * eval.c (do_autoload): Don't output any message.
15567
155682007-09-24 Juri Linkov <juri@jurta.org>
15569
15570 * emacs.c (standard_args): Change priority of "--no-splash"
15571 from 40 to 3. Add "--no-desktop" with the same priority.
15572
155732007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
15574
15575 * alloc.c (gc_sweep): Check cons cell mark bits word by word
15576 and optimize the case where they are all 1.
15577
155782007-09-23 Johannes Weiner <hannes@saeurebad.de>
15579
15580 * lisp.h (abs): Define if not defined.
15581 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
15582 Don't define `abs', since it's defined in lisp.h.
15583
155842007-09-22 Eli Zaretskii <eliz@gnu.org>
15585
15586 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
15587 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
15588 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
15589 (init_tty): Use DEV_TTY instead of "/dev/tty".
15590 [WINDOWSNT]: No need to protect from NAME arg being null.
15591
155922007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
15593
15594 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
15595 up the tty state.
15596
155972007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15598
15599 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
15600 (gpm_tty): Change its type.
15601 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
15602 (gpm_tty): Change its type and initialize it.
15603 (Fterm_open_connection): Check the frame is indeed a tty.
15604 Use the new gpm_tty.
15605 (Fterm_close_connection): Use the new gpm_tty.
15606 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
15607 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
15608
156092007-09-21 Juanma Barranquero <lekktu@gmail.com>
15610
15611 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
15612 underline_color, to draw strike-through.
15613
156142007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
15615
15616 * lisp.h (allocate_terminal): Declare.
15617
15618 * window.c (candidate_window_p): Consider frames that are being placed
15619 by the user as somewhere between visible and iconified.
15620 (window_loop): Prefer windows on the current frame.
15621 (Fselect_window): Move the use of select-frame to the beginning so we
15622 can just delegate all the work (it'll call us back anyway).
15623
15624 * frame.c (Qdisplay_environment_variable):
15625 * frame.h (Qdisplay_environment_variable): Delete.
15626
15627 * .gdbinit (xbacktrace): Print the arg's address rather than the value
15628 of the first arg, since that value may be a union.
15629
15630 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
15631 parameter rather than Qdisplay_environment_variable. If all else
15632 fails, look for DISPLAY in initial-environment.
15633
156342007-09-21 Glenn Morris <rgm@gnu.org>
15635
15636 * Makefile.in (emacstool): Remove target.
15637 (lisp, shortlisp): Remove termdev.elc.
15638
156392007-09-21 Markus Triska <markus.triska@gmx.at>
15640
15641 * xterm.c (x_delete_display): Compile session management conditionally.
15642
156432007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
15644
15645 * callproc.c (getenv_internal_1): New function.
15646 (getenv_internal): Use it.
15647 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
15648
15649 * terminal.c (get_terminal): Don't accept ints to represent terminals.
15650 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
15651 (Fset_terminal_parameter): Work with dead terminals as well.
15652 (Fmodify_terminal_parameters): Remove.
15653
15654 * terminal.c (get_terminal): Handle terminals.
15655 Make sure the terminal returned is live.
15656 (create_terminal): Use allocate_terminal.
15657 (mark_terminals): Move to alloc.c.
15658 (delete_terminal): Use terminal->name as liveness status.
15659 NULL out fields after freeing their contents.
15660 Don't deallocate the object.
15661 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
15662 rather than an int.
15663 (Fterminal_live_p): Accept non-integer arguments.
15664 (Fterminal_list): Return terminal objects rather than an ints.
15665
15666 * alloc.c (enum mem_type): New member for `terminal' objects.
15667 (allocate_terminal): New function.
15668 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
15669 Handle terminals.
15670 (mark_terminal): New fun.
15671 (mark_terminals): Move from terminal.c.
15672
15673 * term.c (get_tty_terminal): Don't treat output_initial specially.
15674 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
15675 (delete_tty): Use terminal->name as liveness status.
15676
15677 * termhooks.h (struct terminal): Make it into a pseudovector.
15678 Remove `deleted' replaced by checking `name's nullness.
15679
15680 * print.c (print_object): Handle terminals.
15681
15682 * lisp.h (enum pvec_type): New `terminal' pseudovector.
15683 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
15684
15685 * frame.c (make_terminal_frame):
15686 * keyboard.c (tty_read_avail_input):
15687 * w32term.c (x_delete_terminal):
15688 * xfns.c (Fx_create_frame, x_create_tip_frame):
15689 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
15690
156912007-09-20 Glenn Morris <rgm@gnu.org>
15692
15693 * process.c (Fmake_network_process): Doc fix.
15694
156952007-09-19 Jason Rumney <jasonr@gnu.org>
15696
15697 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
15698
156992007-09-19 Michaël Cadilhac <michael@cadilhac.name>
15700
15701 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
15702 Fix a C warning regarding variable constness.
15703
15704 * xterm.c (handle_one_xevent): Fix a C warning.
15705
157062007-09-18 Jason Rumney <jasonr@gnu.org>
15707
15708 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
15709
157102007-09-17 Jan Djärv <jan.h.d@swipnet.se>
15711
15712 * gtkutil.c (gdpy_def): New variable.
15713 (xg_initialize): Initialize gdpy_def.
15714 (xg_display_close): If no other display exists, set gdpy_def to a
15715 new connection.
15716
157172007-09-16 Jan Djärv <jan.h.d@swipnet.se>
15718
15719 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
15720 when we have no file name for the icon.
15721 (xg_tool_bar_expose_callback): Remove.
15722 (xg_create_tool_bar): Don't connect expose signal to
15723 xg_tool_bar_expose_callback.
15724 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
15725
157262007-09-16 Andreas Schwab <schwab@suse.de>
15727
15728 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
15729 values instead of zapping them.
15730
157312007-09-14 Glenn Morris <rgm@gnu.org>
15732
15733 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
15734 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
15735 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
15736 scope and rename to omfib_buffer for clarity.
15737 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
15738
157392007-09-14 Kenichi Handa <handa@m17n.org>
15740
15741 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
15742
157432007-09-13 Jason Rumney <jasonr@gnu.org>
15744
15745 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
15746
15747 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
15748
15749 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
15750 (mac_term_init): Call here instead, passing rif.
15751
157522007-09-13 Glenn Morris <rgm@gnu.org>
15753
15754 * s/hpux.h: No longer define `static' as nothing.
15755
157562007-09-13 Johan Bockgård <bojohan@gnu.org>
15757
15758 * callint.c (Fcall_interactively): Remove unused var `fun'.
15759
157602007-09-12 Romain Francoise <romain@orebokech.com>
15761
15762 * window.c (prefer_window_split_horizontally, display_buffer):
15763 Revert 2007-09-08 change.
15764
157652007-09-12 Glenn Morris <rgm@gnu.org>
15766
15767 * alloca.c: Remove file.
15768 * Makefile.in (alloca): Do not undef.
15769 (allocaobj, alloca.o): Remove.
15770 (otherobj): Remove allocaobj.
15771 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
15772 * regex.c (C_ALLOCA): Remove all references and code that was only
15773 used when this was defined.
15774 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
15775 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
15776 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
15777
15778 * Makefile.in (SOURCES, unlock, relock): Delete.
15779
15780 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
15781 (menu_grab_callback): All uses changed.
15782
15783 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
15784 (x_reply_selection_request): All uses changed.
15785
157862007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
15787
15788 * lread.c (load_warn_old_style_backquotes): Change message to look
15789 better when it appears in the middle of byte-compiler messages.
15790
157912007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
15792
15793 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
15794
15795 * xterm.c (x_create_terminal): Add comment.
15796
15797 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
15798
157992007-09-10 Richard Stallman <rms@gnu.org>
15800
15801 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
15802
158032007-09-10 Michaël Cadilhac <michael@cadilhac.name>
15804
15805 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
15806 (DEFUN): Document `intspec', use it instead of `prompt'.
15807
15808 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
15809
15810 * data.c (Finteractive_form): If the interactive specification starts
15811 with a `(', use it as a Lisp form.
15812
15813 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
15814 name and file modes.
15815
15816 * callint.c (Fcall_interactively): Comment fixes.
15817
158182007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
15819
15820 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
15821 and compiled functions.
15822
158232007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
15824
15825 * window.c (prefer_window_split_horizontally): New variable.
15826 (display_buffer): Consider splitting window horizontally depending
15827 on prefer_window_split_horizontally.
15828
158292007-09-08 Eli Zaretskii <eliz@gnu.org>
15830
15831 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
15832
158332007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15834
15835 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
15836
15837 * frame.c (x_set_frame_parameters): Check number is positive before
15838 using XFASTINT.
15839
15840 * window.c (freeze_window_start): Don't presume selected_window holds
15841 a window object.
15842 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
15843
158442007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
15845
15846 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
15847
158482007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
15849
15850 * window.c (Vsplit_window_preferred_function): New var.
15851 (Fdisplay_buffer): Use it.
15852 (syms_of_window): Export, and initialize it.
15853
158542007-09-06 Pixel <pixel@mandriva.com> (tiny change)
15855
15856 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
15857
158582007-09-06 Glenn Morris <rgm@gnu.org>
15859
15860 * gtkutil.c (menu_grab_callback) <cnt>:
15861 * xselect.c (x_reply_selection_request) <cnt>: Move static
15862 variable to file scope.
15863
158642007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
15865
15866 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
15867 consistent values of selected_frame and selected_window.
15868
158692007-09-04 Jason Rumney <jasonr@gnu.org>
15870
15871 * w32console.c (initialize_w32_display): Zero unused hooks.
15872
158732007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15874
15875 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
15876 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
15877
158782007-09-04 Jason Rumney <jasonr@gnu.org>
15879
15880 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
15881 in w32console.c. Set up input. Remove XXX comments that have been
15882 confirmed as correct.
15883
15884 * s/ms-w32.h (MULTI_KBOARD): Define.
15885
15886 * w32console.c (one_and_only_w32cons): Remove.
15887 (initialize_w32_display): Take terminal argument.
15888
15889 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
15890 initialize_w32_display.
15891 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
15892
15893 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
15894
15895 * keyboard.c (discard_mouse_events): Discard it.
15896 (make_lispy_event): Translate it to a lisp event.
15897 (lispy_wheel_names): Add wheel-left and right events.
15898 (syms_of_keyboard): Enlarge wheel_syms.
15899
15900 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
15901 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
15902
15903 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
15904
15905 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
15906 from WM_MOUSEHWHEEL.
15907 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
15908
15909 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
15910 terminal.
15911
15912 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
15913 keyboard for the terminal.
15914
159152007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
15916
15917 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
15918 (Vresume_tty_hook): Rename from Vresume_tty_functions.
15919 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
15920 and resume-tty-function to resume-tty-hook.
15921 (Fsuspend_tty, Fresume_tty): Use new names.
15922
159232007-09-02 Jan Djärv <jan.h.d@swipnet.se>
15924
15925 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
15926 if it starts with "n:".
15927
159282007-08-31 Jan Djärv <jan.h.d@swipnet.se>
15929
15930 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
15931
159322007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
15933
15934 * frame.h:
15935 * frame.c (Qterm_environment_variable): Remove.
15936 (syms_of_frame): Don't init and staticpro it.
15937
15938 * callproc.c (getenv_internal): Remove special case for $TERM.
15939
15940 * callproc.c (Vinitial_environment): New variable.
15941 (set_initial_environment): Initialize it.
15942 (syms_of_callproc): Declare it.
15943 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
15944 TERM under which a process runs is never related to the TERM in which
15945 Emacs is running.
15946
159472007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15948
15949 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
15950 * s/darwin.h: ... do it here.
15951
159522007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
15953
15954 * lisp.h (set_initial_environment): Rename from set_global_environment.
15955
15956 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
15957 removed by mistake on the multi-tty branch.
15958
15959 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
15960 (Fmodify_frame_parameters): Return a value.
15961
15962 * image.c (png_load): Comment-out var only used in commented-out code.
15963
15964 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
15965 before passing it to mark_object.
15966
15967 * xfaces.c (internal_resolve_face_name): Return a value.
15968 (internal_resolve_face_name, resolve_face_name_error): Comment out.
15969
15970 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
15971 (x_icon): Comment-out var only used in commented-out code.
15972
159732007-08-29 Romain Francoise <romain@orebokech.com>
15974
15975 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
15976 QUIT hasn't been provided.
15977
159782007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
15979
15980 * callproc.c (child_setup, getenv_internal): Use the
15981 display-environment-variable and term-environment-variable frame params.
15982 (set_initial_environment): Initialise Vprocess_environment.
15983
15984 * config.in: Disable multi-keyboard support on a mac.
15985
15986 * frame.c (Qterm_environment_variable)
15987 (Qdisplay_environment_variable): New variables.
15988 (syms_of_frame): Intern and staticpro them.
15989 (Fmake_terminal_frame): Disable output method test.
15990
15991 * frame.h: Declare them here.
15992
15993 * macfns.c (x_set_mouse_color): Get rif from the frame.
15994 (x_set_tool_bar_lines): Don't use updating_frame.
15995 (mac_window): Add 2 new parameters for consistency with other systems.
15996 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
15997 frame parameters following what is done in X11 and w32. Don't use
15998 FRAME_MAC_DISPLAY_INFO.
15999 (Fx_open_connection, start_hourglass): Remove window-system check.
16000 (x_create_tip_frame): Get the keyboard from the terminal.
16001
16002 * macmenu.c: Reorder includes.
16003 (Fx_popup_menu): Use terminal specific mouse_position_hook.
16004
16005 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
16006 terminal parameter.
16007 (x_clear_frame): Add a frame parameter.
16008 (note_mouse_movement): Get rif from the frame.
16009 (mac_term_init): Initialize the terminal.
16010 (mac_initialize): Make static and move terminal initialization ...
16011 (mac_create_terminal): ... to this new function.
16012
16013 * macterm.h (struct mac_display_info): Add terminal.
16014 (mac_initialize): Delete declaration.
16015
16016 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
16017
16018 * sysdep.c: Comment out text after #endif.
16019
16020 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
16021 is defined. Better initialize ttys in windows. Use terminal
16022 specific mouse_position_hook.
16023
16024 * termhooks.h (union display_info): Add mac_display_info.
16025
16026 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
16027 Set the default minibuffer frame, window_system and the rest of the
16028 frame parameters following what is done in X11.
16029
16030 * w32term.c (w32_initialize): Make static.
16031
16032 * xselect.c (x_handle_selection_clear): Only access
16033 terminal->kboard when MULTI_KBOARD is defined.
16034
16035 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
16036 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
16037
160382007-08-29 Jason Rumney <jasonr@gnu.org>
16039
16040 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
16041 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
16042
16043 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
16044 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
16045
16046 * keyboard.c (restore_kboard_configuration): Only define when
16047 MULTI_KBOARD defined.
16048
16049 * makefile.w32-in: Update dependancies from Makefile.in.
16050 (OBJ1): Add terminal.$(O)
16051
16052 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
16053 Don't define function body.
16054 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
16055
16056 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
16057
16058 * w32.c (request_sigio, unrequest_sigio): Remove.
16059
16060 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
16061 (w32con_clear_frame, w32con_clear_end_of_line)
16062 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
16063 (w32con_delete_glyphs, w32con_set_terminal_window)
16064 (scroll_line, w32_sys_ring_bell): Add frame arg.
16065 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
16066 Add terminal arg.
16067 (PICK_FRAME): Remove.
16068 (w32con_write_glyphs): Use frame specific terminal coding.
16069 (one_and_only_w32cons): New global variable.
16070 (initialize_w32_display): Use it for storing hooks.
16071 (create_w32cons_output): New function.
16072
16073 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
16074 arg a frame.
16075
16076 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
16077 Set window_system.
16078 (x_set_tool_bar_lines): Don't use updating_frame.
16079 (Fx_create_frame): Set terminal and ref count.
16080 (Fx_open_connection): Remove window-system check.
16081
16082 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
16083
16084 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
16085 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
16086 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
16087 Add frame arg.
16088 (x_delete_terminal, w32_create_terminal): New functions.
16089 (w32_term_init): Create a terminal.
16090 (w32_initialize): Move terminal specific initialization to
16091 w32_create_terminal.
16092
16093 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
16094 (w32_clear_rect, w32_clear_area): Use background from frame.
16095 (w32_display_info): Add terminal.
16096 (w32_sys_ring_bell, x_delete_display): Declare here.
16097
16098 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
16099
16100 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
16101
161022007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
16103
16104 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
16105 Fix get_named_tty calls for the controlling tty.
16106
161072007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
16108
16109 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
16110
161112007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
16112
16113 * term.c (tty_insert_glyphs): Add missing first parameter.
16114
161152007-08-29 Károly Lőrentey <karoly@lorentey.hu>
16116
16117 * buffer.c (Fbuffer_list, Fbury_buffer):
16118 Take frame->buried_buffer_list into account.
16119
16120 * cm.c (current_tty): New variable, for cmputc().
16121 (cmputc): Use it.
16122 (cmcheckmagic): Add tty parameter, look up terminal streams there.
16123 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
16124 (cmgoto): Add tty parameter. Pass it on to calccost().
16125 Use emacs_tputs() instead of tputs().
16126
16127 * cm.h (emacs_tputs): New macro to set current_tty, and then call
16128 tputs().
16129 (current_tty): New variable, for cmputc().
16130 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
16131
16132 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
16133 (internal_condition_case, internal_condition_case_1)
16134 (internal_condition_case_2): Don't abort when x_catching_errors.
16135
16136 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
16137 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
16138 prevent crashes caused by bogus longjmps in read_char.
16139
16140 * keymap.h (Fset_keymap_parent): Add EXFUN.
16141
16142 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
16143 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16144 Remove redundant definition.
16145
16146 * macfns.c (x_set_mouse_color, x_make_gc):
16147 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16148
16149 * w32term.c (x_free_frame_resources):
16150 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16151 (w32_initialize): Use the accessor macros for terminal characteristics.
16152
16153 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
16154 Use the accessor macros for terminal characteristics.
16155 * msdos.c (internal_terminal_init): Use the accessor macros for
16156 terminal characteristics.
16157 (ScreenVisualBell, internal_terminal_init):
16158 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16159
16160 * termopts.h (no_redraw_on_reenter): Declare.
16161
16162 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
16163 (mark_terminals, mark_ttys): Declare.
16164 (Fgarbage_collect): Call them.
16165 (mark_object): Mark buried_buffer_list.
16166
16167 * prefix-args.c: Include stdlib.h for exit.
16168
16169 * syssignal.h: Add comment.
16170
16171 * indent.c: Include stdio.h.
16172
16173 * window.h (Vinitial_window_system): Declare.
16174 (Vwindow_system): Delete declaration.
16175
16176 * fontset.c (Finternal_char_font): Use FRAME_RIF.
16177
16178 * image.c (lookup_image): Don't initialize `c' until the xasserts
16179 have been run.
16180
16181 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
16182 FRAME_FOREGROUND_PIXEL.
16183
16184 * print.c (print_preprocess): Don't lose print_depth levels while
16185 iterating.
16186
16187 * widget.c (update_from_various_frame_slots):
16188 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16189
16190 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
16191 frames.
16192 (window_internal_height): Remove bogus make_number call.
16193 (init_window_once): Call make_terminal_frame with two zero parameters.
16194
16195 * fileio.c (Fread_file_name): Update comment.
16196
16197 * callint.c (Fcall_interactively):
16198 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
16199 Make sure it is correctly unwound.
16200
16201 * xsmfns.c (x_session_close): New function.
16202
16203 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
16204 Delete declarations.
16205
16206 * xterm.h: Remove declaration for x_fully_uncatch_errors.
16207 (x_output): Remove background_pixel and foreground_pixel fields.
16208 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
16209 (x_delete_device, x_session_close): Declare.
16210
16211 * lread.c: Include setjmp.h. Update declaration of `read_char'.
16212 (read_filtered_event): Call `read_char' with a local
16213 `wrong_kboard_jmpbuf'.
16214
16215 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
16216 Don't call single_kboard_state. Use FRAME_RIF.
16217
16218 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
16219 systems.
16220
16221 * lisp.h (set_process_environment): Rename to `set_global_environment'.
16222 (Fframe_with_environment, Fset_input_meta_mode)
16223 (Fset_quit_char): EXFUN.
16224 (x_create_device, tty_output, terminal, tty_display_info): Declare.
16225 (init_sys_modes, reset_sys_modes): Update prototypes.
16226 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
16227
16228 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
16229 Vlocal_key_translation_map, and Vkeyboard_translate_table.
16230 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
16231 Delete declarations.
16232 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
16233 (temporarily_switch_to_single_kboard, tty_read_avail_input):
16234 New declarations.
16235
16236 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
16237 already does that during init_display(). Call syms_of_keymap
16238 before syms_of_keyboard. Call `syms_of_terminal'.
16239 Call set_initial_environment, not set_process_environment.
16240 (shut_down_emacs): Call reset_all_sys_modes() instead of
16241 reset_sys_modes().
16242
16243 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
16244 (internal_resolve_face_name, resolve_face_name_error): New functions.
16245 (resolve_face_name): Protect against loops and errors thrown by Fget.
16246 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
16247 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
16248
16249 * scroll.c: Replace CURTTY() with local variables throughout the
16250 file (where applicable).
16251 (calculate_scrolling, calculate_direct_scrolling)
16252 (scrolling_1, scroll_cost): Use the accessor macros for terminal
16253 characteristics.
16254
16255 * keymap.c (Vfunction_key_map): Remove.
16256 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
16257 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
16258 (Vkey_translation_map): Remove.
16259 (syms_of_keymap): Remove DEFVAR for key-translation-map.
16260 (Fdescribe_buffer_bindings)
16261 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
16262 Update for terminal-local key-translation-map.
16263
16264 * Makefile.in (callproc.o): Update dependencies.
16265 (lisp, shortlisp): Add termdev.elc.
16266 (obj): Add terminal.o.
16267 (terminal.o): Add dependencies.
16268 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
16269 (data.o, fns.o): Add termhooks.h dependency.
16270 (SOME_MACHINE_LISP): Add dnd.elc.
16271 (minibuf.o): Fix typo.
16272 Update dependencies.
16273
16274 * data.c (do_symval_forwarding, store_symval_forwarding)
16275 (find_symbol_value): Use the selected frame's keyboard, not
16276 current_kboard.
16277
16278 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
16279 Vwindow_system.
16280
16281 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
16282 Fmenu_bar_open.
16283 (syms_of_xmenu): Update defsubr.
16284 (mouse_position_for_popup, Fx_popup_menu)
16285 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
16286 (set_frame_menubar, free_frame_menubar)
b97439ce 16287 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
16288 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
16289 an X frame.
16290
16291 * xselect.c (x_own_selection): Abort if not an X frame.
16292 (some_frame_on_display): Check if it is an X frame.
16293 (x_handle_selection_clear): Deal with MULTI_KBOARD.
16294
16295 * coding.c: Include frame.h and termhooks.h.
16296 (terminal_coding, keyboard_coding): Delete.
16297 (Fset_terminal_coding_system_internal)
16298 (Fset_keyboard_coding_system_internal)
16299 (Fkeyboard_coding_system)
16300 (Fterminal_coding_system): Add a terminal parameter.
16301 Get terminal_coding from the terminal.
16302 (init_coding_once): Don't call setup_coding_system here.
16303
16304 * dispextern.h (set_scroll_region, turn_off_insert)
16305 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
16306 (tty_clear_end_of_line, tty_setup_colors)
16307 (delete_tty, updating_frame)
16308 (produce_special_glyphs, produce_glyphs, write_glyphs)
16309 (insert_glyphs): Remove.
16310 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
16311 (tty_turn_off_highlight, get_tty_size): Add declaration.
16312 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
16313
16314 * frame.h (enum output_method): Add output_initial.
16315 (struct x_output): Delete.
16316 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
16317 Access foreground_pixel and background_pixel directly from the frame.
16318 (tty_display): Delete.
16319 (struct frame): Add buried_buffer_list, foreground_pixel,
16320 background_pixel and terminal. Delete kboard.
16321 (union output_data): Add tty.
16322 (FRAME_KBOARD): Get the kboard from the terminal.
16323 (FRAME_INITIAL_P): New macro.
16324 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
16325 (Qterm_environment_variable, Qdisplay_environment_variable)
16326 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
16327 New declarations.
16328
16329 * termchar.h (tty_output, tty_display_info): New structures.
16330 (tty_list): Declare.
16331 (FRAME_TTY, CURTTY): New macros.
16332 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
16333 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
16334 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
16335 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
16336
16337 * callproc.c: Include frame.h and termhooks.h, for terminal
16338 parameters.
16339 (add_env): New function.
16340 (child_setup): Use it.
16341 (child_setup, getenv_internal): Handle the new Vprocess_environment.
16342 (getenv_internal): Fix get_terminal_param call.
16343 (Fgetenv_internal, egetenv): Update doc.
16344 (syms_of_callproc): Initialize Vprocess_environment to nil.
16345 Register and initialize them. Remove obsolete defvars. Update doc
16346 strings.
16347 (child_setup): Handle Vlocal_environment_variables.
16348 (getenv_internal): Add terminal parameter.
16349 Handle Vlocal_environment_variables.
16350 (Fgetenv_internal): Add terminal parameter.
16351 (child_setup, getenv_internal, Fgetenv_internal): Store the local
16352 environment in a frame (not terminal) parameter. Update doc strings.
16353 (set_initial_environment): Rename from set_global_environment.
16354 Store Emacs environment in initial frame parameter.
16355
16356 * xdisp.c (redisplay_internal): Update references to
16357 `previous_terminal_frame'.
16358 (display_mode_line, Fformat_mode_line): Replace calls to
16359 `push_frame_kboard' with `push_kboard'.
16360 (get_glyph_string_clip_rects): Add extra parentheses and
16361 braces to prevent compiler warnings.
16362 (calc_pixel_width_or_height): Add xassert to check that the
16363 frame is alive. Don't call `lookup_image' on a termcap frame.
16364 (message2_nolog, message3_nolog, redisplay_internal)
16365 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
16366 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
16367 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
16368 (Fx_display_pixel_width, Fx_display_pixel_height)
16369 (Fx_display_planes, Fx_display_color_cells)
16370 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
16371 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
16372 (Fx_display_backing_store, Fx_display_visual_class)
16373 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
16374 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
16375
16376 * xfns.c (x_set_foreground_color x_set_background_color)
16377 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
16378 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16379 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
16380 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
16381 terminal that is being deleted.
16382 (Fx_create_frame): Use `store_frame_param' to set `window-system'
16383 frame parameter, and make sure it overrides any user-supplied setting.
16384 (Fx_close_connection, Fx_synchronize): Unify argument names with
16385 the rest of the DEFUNs.
16386
16387 * dispnew.c (Fsend_string_to_terminal): Update call to
16388 `get_tty_terminal'.
16389 (Fredraw_frame, Fsend_string_to_terminal)
16390 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
16391 FRAME_TERMCAP_P and FRAME_TTY.
16392 (window_change_signal): Don't believe width/height values that are
16393 impossibly small.
16394 (Vinitial_window_system): Rename from Vwindow_system.
16395 (termscript, Wcm, rif): Delete.
16396
16397 * termhooks.h (struct terminal): New struct containing the
16398 previously global text display hooks and new members NAME,
16399 DELETED and PARAM_ALIST.
16400 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
16401 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
16402 (FRAME_RIF): New macros.
16403 (get_terminal_param, get_device): New declarations.
16404 (termscript): Delete declaration.
16405
16406 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
16407 (XTflash, x_free_frame_resources, x_scroll_bar_create)
16408 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
16409 FRAME_FOREGROUND_PIXEL.
16410 (x_fully_uncatch_errors): Disable definition.
16411 (x_scroll_bar_expose): Fix reference to foreground pixel.
16412 (XTread_socket): Disable loop on all X displays.
16413 (x_delete_terminal): Don't set terminal->deleted and let
16414 delete_terminal delete the frames on the terminal.
16415 (x_delete_display): Doc update to reflect changes in
16416 delete_terminal.
16417 (x_display_info) <terminal>: Move member earlier in the struct.
16418 (deleting_tty): Remove old variable.
16419 (Fsuspend_tty): Call clear_tty_hooks.
16420 (Fresume_tty, init_tty): Call set_tty_hooks.
16421 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
16422 errors on X frames.
16423 (x_catch_errors_unwind): Abort if x_error_message is NULL.
16424 (handle_one_xevent): Initialize `f' to NULL.
16425 (x_delete_terminal, x_create_terminal): New functions.
16426 (XTset_terminal_modes, XTreset_terminal_modes)
16427 (XTread_socket, x_connection_closed, x_term_init)
16428 (x_term_init, x_delete_display): Add terminal parameter.
16429 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
16430 X connections.
16431
16432 * frame.c: Include termchar.h.
16433 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
16434 (Qwindow_system, Qenvironment, Qterm_environment_variable)
16435 (Qdisplay_environment_variable): New vars.
16436 (Fframep): Deal with output_initial.
16437 (Fframe-live-p): Doc fix.
16438 (Fwindow-system): New function.
16439 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
16440 (make_terminal_frame): Don't create frames on a terminal that is
16441 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
16442 (store_frame_param): Check for found_for_frame before calling XFRAME.
16443 (Fmake_terminal_frame): Handle NULL tty names correctly.
16444 (syms_of_frame): Enhance doc string of `default-frame-alist'.
16445 (Fdelete_frame): Remove unused variable `count'. Don't allow other
16446 frames to refer to a deleted frame in their 'environment parameter.
16447 (Fframe_with_environment): New function.
16448 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
16449 (get_future_frame_param): New function.
16450 (Fmake_terminal_frame): Use it.
16451 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
16452
16453 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
16454 * sysdep.c (reset_sys_modes): Update for renames.
16455
16456 * keyboard.c (tty_read_avail_input): New function.
16457 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
16458 (syms_of_keyboard): Defsubr them.
16459 (Fset_input_meta_mode, Fset_quit_char): New functions.
16460 (Fset_input_mode): Split to above functions.
16461 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
16462 parameter. Use it in call to `read_char'.
16463 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
16464 Set wrong_kboard_jmpbuf correctly in recursive calls.
16465 Use current_kboard to access Vkeyboard_translate_table.
16466 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
16467 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
16468 Update longjmp invocations. Remember the original current_kboard,
16469 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
16470 changes it. Comment out unnecessary calls to
16471 `record_single_kboard_state' and `any_kboard_state'.
16472 Update recursive calls.
16473 (wrong_kboard_jmpbuf): Remove global variable.
16474 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
16475 Handle deleted interrupted_kboards correctly; that is a legal
16476 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
16477 and read_char calls. Abort if interrupted_kboard died in read_char.
16478 (any_kboard_state, single_kboard_state)
16479 (push_frame_kboard): Remove function.
16480 (pop_kboard): Switch out of single_kboard mode if the kboard has
16481 been deleted. Remove unused variable. Help debugging by not
16482 changing current_kboard unnecessarily. Set current_kboard to the
16483 kboard of the selected frame when the stored kboard object has
16484 been deleted before pop_kboard.
16485 (temporarily_switch_to_single_kboard): Change first parameter to a
16486 frame pointer. Throw an error when caller wants to change kboards
16487 while in single_kboard mode. Don't push_kboard if we weren't in
16488 single kboard state. Don't pop_kboard if we popped into any
16489 kboard state.
16490 (restore_kboard_configuration): Abort if pop_kboard changed the
16491 kboard in single_kboard mode. Call pop_kboard only after setting
16492 up single_kboard mode.
16493 (Frecursive_edit): Switch to single_kboard mode only in nested
16494 command loops.
16495 (cmd_error, command_loop, command_loop_1, timer_check):
16496 Comment out unnecessary call to `any_kboard_state' and
16497 `record_single_kboard_state'.
16498 (delete_kboard): Exit single_kboard mode if we have just deleted
16499 that kboard. Use FRAME_KBOARD.
16500 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
16501 `fatal_error_signal'.
16502 (record_single_kboard_state): Don't push_kboard if we weren't in
16503 single kboard state. Don't pop_kboard if we popped into any
16504 kboard state.
16505 (push_frame_kboard): Rename to push_kboard.
16506 (kbd_buffer_get_event): Use FRAME_TERMINAL.
16507 (read_avail_input): Read input from all terminals.
16508 (mark_kboards): Also mark Vkeyboard_translate_table.
16509 (kbd_buffer_store_event_hold): Simplify condition.
16510 (read_key_sequence): Reinitialize fkey and keytran at each replay.
16511 (Vkeyboard_translate_table): Move to struct kboard.
16512 (init_kboard): Initialize Vkeyboard_translate_table.
16513 (syms_of_keyboard): Use DEFVAR_KBOARD to define
16514 Vkeyboard_translate_table. Update doc strings. Update docs of
16515 local-function-key-map and function-key-map.
16516
16517 * terminal.c: New file.
16518
16519 * term.c: Include errno.h.
16520 (Vring_bell_function, device_list, initial_device)
16521 (next_device_id, ring_bell, update_begin, update_end)
16522 (set_terminal_window, cursor_to, raw_cursor_to)
16523 (clear_to_end, clear_frame, clear_end_of_line)
16524 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
16525 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
16526 (syms_of_term): Move their initialization to terminal.c.
16527 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
16528 (Ftty_display_color_cells)
16529 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
16530 (clear_tty_hooks, set_tty_hooks)
16531 (init_tty, maybe_fatal): New functions.
16532 (Ftty_type): Return nil if terminal is not on a tty instead of
16533 throwing an error. Doc update.
16534 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
16535 Doc update. Initialize new subrs and variables.
16536 (delete_tty): Use terminal->deleted.
16537 (tty_set_terminal_modes): Rename from set_terminal_modes.
16538 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
16539 (set_scroll_region): Rename to `tty_set_scroll_region'.
16540 (turn_on_insert): Rename to `tty_turn_on_insert'.
16541 (turn_off_insert): Rename to `tty_turn_off_insert'.
16542 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
16543 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
16544 (toggle_highligh): Rename to `tty_toggle_highlight'.
16545 (background_highlight): Rename to `tty_background_highlight'.
16546 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
16547 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
16548 (tty_set_scroll_region, tty_background_highlight)
16549 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
16550 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
16551 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
16552 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
16553 Add static modifier.
16554 (tty_reset_terminal_modes, tty_set_terminal_window)
16555 (tty_set_scroll_region, tty_background_highlight)
16556 (tty_highlight_if_desired, tty_cursor_to)
16557 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
16558 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
16559 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
16560 renames.
16561
165622007-08-28 Jan Djärv <jan.h.d@swipnet.se>
16563
16564 * keyboard.c: Qrtl is new.
16565 (parse_tool_bar_item): Handle :rtl keyword.
16566 (syms_of_keyboard): Intern :rtl keyword.
16567
16568 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
16569
16570 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
16571 so no Lisp code is executed.
16572 (file_for_image, find_rtl_image): New functions.
16573 (xg_get_image_for_pixmap): Use file_for_image.
16574 (update_frame_tool_bar): If direction is RTL, use RTL image if
16575 defined. Use Gtk stock images if defined.
16576
165772007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16578
16579 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
16580 for nonexistent or zero-width glyph in composition glyph.
16581
165822007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
16583
16584 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
16585
16586 * xdisp.c (Finvisible_p): New function.
16587 (syms_of_xdisp): defsubr it.
16588
165892007-08-24 Juanma Barranquero <lekktu@gmail.com>
16590
16591 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
16592 Doc fixes.
16593
165942007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16595
16596 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
16597
165982007-08-24 Martin Rudalics <rudalics@gmx.at>
16599
16600 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
16601 whether decoding has modified buffer contents.
16602
166032007-08-24 Jason Rumney <jasonr@gnu.org>
16604
16605 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
16606 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
16607 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
16608 (init_svg_functions) [HAVE_NTGUI]: New function.
16609 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
16610 (svg_load_image): Use them.
16611 (svg_load_image) [HAVE_NTGUI]: Implement background.
16612
166132007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16614
16615 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
16616 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
16617 (LIBX): Remove @RSVG_LIBS@.
16618 (LIBES): Add $(RSVG_LIBS).
16619
16620 * image.c (svg_load_image): Blend with specified background if exists.
16621 Use IMAGE_BACKGROUND. Add Mac OS Support.
16622
16623 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
16624 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
16625 Remove macros.
16626 [MAC_OSX] (socket_callback): Do nothing.
16627 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
16628 ReceiveNextEvent.
16629 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
16630 socket_callback.
16631 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
16632
166332007-08-22 Glenn Morris <rgm@gnu.org>
16634
16635 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
16636
166372007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
16638
16639 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
16640
16641 * image.c: Add support for SVG images. Some additional comments
16642 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
16643 (svg_image_p): New function to test for SVG image.
16644 (svg_load): New function to load SVG image.
16645 (svg_load_image): New function, helper for svg_load.
16646 (Qsvg): New Lisp_object.
16647 (svg_keyword_index): New enum.
16648 (svg_format): New static `image_keyword' struct.
16649 (svg_type): New static `image_type' struct.
16650 (librsvg/rsvg.h): Include it.
16651
166522007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
16653
16654 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
16655
166562007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
16657
16658 * lread.c (Qold_style_backquotes): New var.
16659 (syms_of_lread): Init and staticpro it.
16660 (load_warn_old_style_backquotes): New fun.
16661 (Fload): Use them to warn about old style backquotes.
16662 (end_of_file_error, Fload): Remove unused vars.
16663
16664 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
16665
16666 * lread.c (Vold_style_backquotes): New var.
16667 (syms_of_lread): Init and export it to Elisp.
16668 (read1): Set it when we find an old-style (back)quote.
16669
166702007-08-22 Jason Rumney <jasonr@gnu.org>
16671
16672 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
16673
166742007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
16675
16676 * puresize.h (BASE_PURESIZE): Increase to 1140000.
16677
166782007-08-19 Richard Stallman <rms@gnu.org>
16679
16680 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
16681
166822007-08-19 Andreas Schwab <schwab@suse.de>
16683
16684 * alloc.c (pure): Round PURESIZE up.
16685
166862007-08-17 Jan Djärv <jan.h.d@swipnet.se>
16687
16688 * xterm.c (handle_one_xevent): Remove check that mouse click is in
16689 active frame.
16690
166912007-08-16 Richard Stallman <rms@gnu.org>
16692
16693 * eval.c (Fcommandp): Add parens to clarify.
16694
16695 * minibuf.c (Fall_completions): Use enum for type of table.
16696
16697 * emacs.c (USAGE2): Improve text.
16698
166992007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
16700
16701 * term.c (tty_default_color_capabilities): Declare static
16702 variables in file scope, to avoid HPUX compiler problem.
16703
167042007-08-13 Jan Djärv <jan.h.d@swipnet.se>
16705
16706 * gtkutil.c (update_frame_tool_bar): Use -1 as index
16707 to gtk_toolbar_insert.
16708
167092007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
16710
16711 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
16712
16713 * insdel.c (reset_var_on_error): New fun.
16714 (signal_before_change, signal_after_change):
16715 Use it to reset (after|before)-change-functions to nil in case of error.
16716 Bind inhibit-modification-hooks to t.
16717 Don't bind (after|before)-change-functions to nil while they run.
16718
167192007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16720
16721 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
16722 filling pixmap with stippled background.
16723
167242007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16725
16726 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
16727 Don't use invisible frame as parent window for repositioning.
16728
167292007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
16730
16731 * print.c (new_backquote_output): Rename from old_backquote_output.
16732 (print): Inverse its logic (according to its name) so as to match the
16733 behavior of new_backquote_flag in lread.c.
16734
167352007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16736
16737 * gmalloc.c (posix_memalign): New function.
16738
16739 * macterm.c (frame_highlight, frame_unhighlight): Don't call
16740 ActivateControl/DeactivateControl here.
16741 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
16742 frame-notice-user-settings is non-nil.
16743 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
16744 for kEventParamFMFontStyle.
16745 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
16746 mac_pass_command_to_system and mac_pass_control_to_system here.
16747 (XTread_socket): Call ActivateControl/DeactivateControl here.
16748 (XTread_socket) [TARGET_API_MAC_CARBON]:
16749 Check mac_pass_command_to_system and mac_pass_control_to_system here.
16750 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
16751 for window repositioning.
16752
167532007-08-08 Glenn Morris <rgm@gnu.org>
16754
16755 * Replace `iff' in doc-strings and comments.
16756
167572007-08-07 Chong Yidong <cyd@stupidchicken.com>
16758
16759 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
16760
167612007-08-07 Martin Rudalics <rudalics@gmx.at>
16762
16763 * fileio.c (Finsert_file_contents): Run format-decode and
16764 after_insert_file_functions on entire buffer when REPLACE is
16765 non-nil and inhibit modification_hooks and point_motion_hooks.
16766 For consistency, run after_insert_file_functions iff something
16767 got inserted. Move signal_after_change and update_compositions
16768 after code running after_insert_file_functions. Make sure that
16769 undo_list doesn't record intermediate steps of the decoding process.
16770
167712007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16772
16773 * emacs.c (main)
16774 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
16775 Call malloc_enable_thread on interactive startup.
16776
16777 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
16778 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
16779 [USE_PTHREAD]: Conditionalize with it.
16780 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
16781 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
16782 New functions.
16783
167842007-08-06 Chong Yidong <cyd@stupidchicken.com>
16785
16786 * xdisp.c (redisplay_window): When restoring original buffer
16787 position, make sure it is still valid.
16788
16789 * image.c (png_load): Ignore png-supplied background color.
16790
167912007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16792
16793 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
16794 Use kCFAbsoluteTimeIntervalSince1970.
16795
16796 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
16797 New variable.
16798 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
16799 event loop should be quit.
16800 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
16801 Quit dialog event loop if quit_dialog_event_loop is set.
16802
16803 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
16804 (Selection): New typedef. Use instead of ScrapRef.
16805 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
16806 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
16807 (mac_clear_selection): Rename from clear_scrap.
16808 (get_flavor_type_from_symbol): New argument SEL and subsume function of
16809 scrap_has_target_type. All uses changed.
16810 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
16811 (mac_selection_has_target_p): New functions.
16812 (mac_put_selection_value): Rename from put_scrap_string.
16813 (mac_get_selection_value): Rename from get_scrap_string.
16814 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
16815 (put_scrap_private_timestamp, scrap_has_target_type)
16816 (get_scrap_private_timestamp): Remove functions.
16817 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
16818 (x_own_selection, x_get_local_selection):
16819 Use mac_valid_selection_value_p.
16820 (x_own_selection): Don't use put_scrap_private_timestamp.
16821 Record OWNERSHIP-INFO into Vselection_alist instead.
16822 (x_get_local_selection): Don't check type if request is local.
16823 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
16824 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
16825
168262007-08-04 Jan Djärv <jan.h.d@swipnet.se>
16827
16828 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
16829 add comment explaining why.
16830
168312007-08-03 Richard Stallman <rms@gnu.org>
16832
16833 * fileio.c (Fvisited_file_modtime): Use make_time.
16834
168352007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
16836
16837 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
16838 build.
16839
168402007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
16841
16842 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
16843
168442007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
16845
16846 * puresize.h (BASE_PURESIZE): Increase to 1130000.
16847
168482007-07-30 Richard Stallman <rms@gnu.org>
16849
16850 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
16851
168522007-07-29 Jan Djärv <jan.h.d@swipnet.se>
16853
16854 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
16855
168562007-07-28 Nick Roberts <nickrob@snap.net.nz>
16857
16858 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
16859 remote default-directory.
16860
16861 * buffer.c (mode-line-format): Update doc string.
16862
168632007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16864
16865 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
16866 scroll bar gap.
16867 (x_scroll_bar_create): Set bar->fringe_extended_p.
16868 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
16869 on frame edge. Check fringe background extension. Don't clear
16870 extended fringe background area.
16871
16872 * w32term.h (struct scroll_bar): New member fringe_extended_p.
16873 (w32_fill_area): Enclose multiple statements with do ... while (0).
16874
16875 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
16876 Extend fringe background to scroll bar gap.
16877 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
16878 Set bar->fringe_extended_p.
16879 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16880 Put leftmost/rightmost scroll bars on frame edge. Check fringe
16881 background extension. Don't clear extended fringe background area.
16882
16883 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
16884 New member fringe_extended_p.
16885
168862007-07-25 Glenn Morris <rgm@gnu.org>
16887
16888 * Relicense all FSF files to GPLv3 or later.
16889
16890 * COPYING: Switch to GPLv3.
16891
168922007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
16893
16894 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
16895
16896 * data.c (Finteractive_form): Check for the presence of an
16897 `interactive-form' symbol property more thoroughly.
16898
16899 * data.c (Finteractive_form): Use an `interactive-form' property if
16900 present, analogous to the function-documentation property.
16901
169022007-07-24 Jason Rumney <jasonr@gnu.org>
16903
16904 * w32fns.c (x_real_positions): Get real position from OS instead of
16905 calculating it.
16906
169072007-07-23 Jason Rumney <jasonr@gnu.org>
16908
16909 * filelock.c (current_lock_owner): Allow for @ sign in username.
16910
169112007-07-22 Nick Roberts <nickrob@snap.net.nz>
16912
16913 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
16914 remote default-directory.
16915
16916 * buffer.c (mode-line-format): Describe above case in doc string.
16917
169182007-07-20 Eli Zaretskii <eliz@gnu.org>
16919
16920 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
16921 Define if not defined.
16922
169232007-07-18 Jason Rumney <jasonr@gnu.org>
16924
16925 * w32proc.c (w32_executable_type): Handle 64 bit executables.
16926
169272007-07-18 Richard Stallman <rms@gnu.org>
16928
16929 * data.c (Fsetq_default): Doc fix.
16930
16931 * eval.c (Fsetq): Doc fix.
16932
169332007-07-18 Juanma Barranquero <lekktu@gmail.com>
16934
16935 * coding.c (Ffind_operation_coding_system):
16936 * eval.c (For, Fand): Doc fixes.
16937 Reported by Johan Bockgård.
16938
169392007-07-18 Jan Djärv <jan.h.d@swipnet.se>
16940
16941 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
16942
16943 * xterm.h: Declare x_ewmh_activate_frame.
16944
16945 * xterm.c (x_ewmh_activate_frame): New function.
16946 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
16947
169482007-07-17 Martin Rudalics <rudalics@gmx.at>
16949
16950 * window.c (Fdisplay_buffer): If largest or LRU window is the
16951 only window, split it even if it is not eligible for splitting.
16952 This restores the original behavior broken by the 2007-07-15
16953 change.
16954
169552007-07-17 Glenn Morris <rgm@gnu.org>
16956
16957 * abbrev.c (abbrev_check_chars): New function.
16958 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16959 Call abbrev_check_chars to check abbrev characters are word
16960 constituents. Doc fix.
16961
169622007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
16963
16964 * process.c (Fstart_process, Fmake_network_process)
16965 (read_process_output): Fix up last changes.
16966
169672007-07-16 Eli Zaretskii <eliz@gnu.org>
16968
16969 * makefile.w32-in (clean): Don't delete *~.
16970
169712007-07-16 Andreas Schwab <schwab@suse.de>
16972
16973 * window.c (Fdisplay_buffer): Use NILP.
16974 (Fset_window_scroll_bars): Likewise.
16975
169762007-07-15 Martin Rudalics <rudalics@gmx.at>
16977
16978 * window.c (window_min_size_2): New function.
16979 (window_min_size_1, size_window, Fdisplay_buffer)
16980 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
16981 windows without mode- or header-lines when window-min-height is
16982 too small.
16983 (size_window): Reset nodelete_p after testing it, following an
16984 earlier note by Kim F. Storm.
16985 (display_buffer): Do not set split_height_threshold to twice the
16986 value of window_min_height to avoid changing the value of a
16987 customizable variable. Rather explicitly check whether the
16988 height of the window that shall be splitted is at least as large
16989 as split_height_threshold.
16990 (Fwindow_full_width_p): New defun.
16991 (syms_of_window): Defsubr it.
16992
16993 * window.h: Add EXFUN for Fwindow_full_width_p.
16994
169952007-07-14 Jason Rumney <jasonr@gnu.org>
16996
16997 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
16998
169992007-07-14 Richard Stallman <rms@gnu.org>
17000
17001 * eval.c (maybe_call_debugger): New function.
17002 (find_handler_clause): Use maybe_call_debugger.
17003 Call it when the handler says `debug'.
17004 Eliminate DEBUGGER_VALUE_PTR.
17005 (Fsignal): Eliminate debugger_value.
17006 (Qdebug): New variable.
17007 (syms_of_eval): Initialize it.
17008
170092007-07-14 Juanma Barranquero <lekktu@gmail.com>
17010
17011 * eval.c (Fprogn):
17012 * keyboard.c (Ftrack_mouse):
17013 * print.c (Fwith_output_to_temp_buffer):
17014 * window.c (Fsave_window_excursion): Doc fix.
17015
170162007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
17017
17018 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
17019
170202007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
17021
17022 * process.h (struct Lisp_Process): Turn slots infd, outfd,
17023 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
17024 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
17025 read_output_delay, and read_output_skip from Lisp_Objects to ints.
17026 Remove unused encoding_carryover.
17027 * process.c: Adjust all functions accordingly.
17028
170292007-07-12 Richard Stallman <rms@gnu.org>
17030
17031 * term.c: Include unistd.h only if HAVE_UNISTD_H.
17032
170332007-07-11 Jason Rumney <jasonr@gnu.org>
17034
17035 * makefile.w32-in (LIBS): Include OLE32.
17036
17037 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
17038 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
17039
170402007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
17041
17042 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
17043 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
17044 from a Lisp_Object into a bare pointer.
17045 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
17046 Adjust the code correspondingly.
17047
17048 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
17049
17050 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
17051 (term_show_mouse_face): Remove unused var `j'.
17052 (handle_one_term_event): Remove unused vars `i' and `j'.
17053 Don't cast return value of ttyname since it's not necessary.
17054
170552007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
17056
17057 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
17058 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
17059
17060 * fns.c (map_char_table): Use an array of int for `indices' rather than
17061 an array of Lisp_Objects (which are only ever integers anyway).
17062 (Fmap_char_table): Update caller.
17063 * lisp.h: Update prototype.
17064 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
17065 * fontset.c (Ffontset_info):
17066 * casetab.c (set_case_table): Update callers.
17067
17068 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
17069
17070 * keymap.c (struct accessible_keymaps_data)
17071 (struct where_is_internal_data): New structures.
17072 (accessible_keymaps_1, where_is_internal_1): Use them to change
17073 interface to adhere to the one used by map_keymap.
17074 (Faccessible_keymaps, where_is_internal): Use map_keymap.
17075 (accessible_keymaps_char_table, where_is_internal_2): Remove.
17076
17077 * keymap.h (map_keymap_function_t): More informative prototype.
17078
170792007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
17080
17081 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
17082 (looking_at_1): Don't change search_regs and last_thing_searched
17083 if `inhibit-changing-match-data' is non-nil.
17084 (string_match_1, search_buffer, set_search_regs): Likewise.
17085 (syms_of_search): Add Lisp level definition for
17086 `inhibit-changing-match-data' and set it to nil.
17087 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
17088 start and end of the match, instead of using values in search_regs.
17089
170902007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
17091
17092 * minibuf.c (Fcompleting_read): New value `confirm-only'
17093 for `require-match'.
17094
170952007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
17096
17097 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
17098 part of the 2007-06-27 change to syms_of_fileio.
17099
171002007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17101
17102 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
17103 Check WINDOWP before using XWINDOW. Consolidate return statements.
17104
171052007-06-27 Richard Stallman <rms@gnu.org>
17106
17107 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
17108
171092007-06-27 Juanma Barranquero <lekktu@gmail.com>
17110
17111 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
17112
171132007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17114
17115 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
17116 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
17117 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
17118 (_free_internal, memalign): Use them.
17119 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
17120 Initialize to PTHREAD_MUTEX_INITIALIZER.
17121 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
17122 (morecore_nolock): Rename from morecore. All uses changed.
17123 Use only nolock versions of internal allocation functions.
17124 (_malloc_internal_nolock, _realloc_internal_nolock)
17125 (_free_internal_nolock): New functions created from
17126 _malloc_internal, _realloc_internal, and _free_internal.
17127 (_malloc_internal, _realloc_internal, _free_internal): Use them.
17128 Copy hook value to automatic variable before its use.
17129 (memalign): Copy hook value to automatic variable before its use.
17130
171312007-06-26 Kenichi Handa <handa@m17n.org>
17132
17133 * coding.c (Ffind_operation_coding_system): Docstring improved.
17134 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
17135
171362007-06-25 David Kastrup <dak@gnu.org>
17137
17138 * keymap.c (Fcurrent_active_maps): Add `position' argument.
17139 (Fwhere_is_internal): Adjust call to `current-active-maps' to
17140 cater for additional parameter.
17141
17142 * keymap.h: Adjust number of parameters to `current-active-maps'.
17143
17144 * doc.c (Fsubstitute_command_keys): Adjust call of
17145 `current-active-maps'.
17146
171472007-06-25 David Kastrup <dak@gnu.org>
17148
17149 * callint.c (Fcall_interactively): Make the parsing of interactive
17150 specs somewhat more readable.
17151
171522007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17153
17154 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
17155 to scroll bar gap also when bitmap fills fringe. Draw only foreground
17156 if extended background has already been filled.
17157
171582007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17159
17160 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
17161 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
17162
17163 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
17164 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
17165 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
17166 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
17167 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
17168 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
17169 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
17170 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
17171 Run timers during dialog popup.
17172 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
17173
171742007-06-21 Jason Rumney <jasonr@gnu.org>
17175
17176 * image.c (convert_mono_to_color_image): Swap fore and background.
17177
171782007-06-20 Jason Rumney <jasonr@gnu.org>
17179
17180 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
17181 (w32_free_bdf_font): Unmap memory not handle.
17182
171832007-06-20 Sam Steingold <sds@gnu.org>
17184
17185 * gmalloc.c (__morecore): Fix the declaration to comply with the
17186 definition.
17187
171882007-06-20 Juanma Barranquero <lekktu@gmail.com>
17189
17190 * w32term.c (w32_delete_display): Remove leftover declaration.
17191 (w32_define_cursor, w32_initialize): Make static.
17192
17193 * w32.c (_wsa_errlist): Fix typo in error message.
17194 (init_environment): Ignore any environment variable from the
17195 registry having a null value.
17196
171972007-06-20 Glenn Morris <rgm@gnu.org>
17198
17199 * Makefile.in (LIBGIF): Default to -lgif.
17200
172012007-06-17 Jason Rumney <jasonr@gnu.org>
17202
17203 * w32menu.c (add_menu_item): Don't use multibyte string functions on
17204 unicode strings.
17205
172062007-06-16 Juanma Barranquero <lekktu@gmail.com>
17207
17208 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
17209 Fix typo in docstring.
17210
172112007-06-16 Eli Zaretskii <eliz@gnu.org>
17212
17213 * w32menu.c (add_menu_item): Escape `&' characters in menu items
17214 and their keybindings.
17215
172162007-06-15 Chong Yidong <cyd@stupidchicken.com>
17217
17218 * composite.c (update_compositions): Fix last fix.
17219
172202007-06-14 Jason Rumney <jasonr@gnu.org>
17221
17222 * w32.c (get_process_times_fn): New function pointer.
17223 (globals_of_w32): Intialize it if present in kernel32.dll.
17224 (w32_get_internal_run_time): New function.
17225
17226 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
17227
172282007-06-14 Kenichi Handa <handa@etlken.m17n.org>
17229
17230 * composite.c (update_compositions): Check the validness of
17231 compositions.
17232
172332007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17234
17235 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
17236 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
17237
17238 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
17239 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
17240
17241 * macgui.h (USE_MAC_TOOLBAR): New define.
17242
17243 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17244 Return immediately unless popup is activated.
17245
17246 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
17247 background to scroll bar gap.
17248 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
17249 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
17250 scroll bars on frame edge. Check fringe background extension.
17251 Don't clear extended fringe background area.
17252 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
17253 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
17254 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
17255 [USE_MAC_TOOLBAR]: New macros.
17256 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
17257 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
17258 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
17259 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
17260 [USE_MAC_TOOLBAR]: New functions.
17261 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
17262 manually if previous repositioning has failed.
17263 (mac_handle_keyboard_event): Use precomputed event kind.
17264 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
17265 as tool bar item click. Handle mouse movement over tool bar items.
17266
17267 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
17268 toolbar_win_gravity.
17269 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
17270 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
17271 Add externs.
17272
17273 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
17274 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
17275
172762007-06-14 Chong Yidong <cyd@stupidchicken.com>
17277
17278 * image.c (search_image_cache): Remove unused variable.
17279
172802007-06-13 Chong Yidong <cyd@stupidchicken.com>
17281
17282 * xfns.c, xmenu.c: Link to xaw3d if available.
17283
172842007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17285
17286 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
17287 frame_foreground and frame_background.
17288
17289 * image.c (lookup_image): Save frame foreground and background colors.
17290 (search_image_cache): Check if saved and current frame colors match.
17291
172922007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
17293
17294 * regex.c (regex_compile): Remove the `regnum' counter.
17295 Use bufp->re_nsub instead. Add support for \(?N:RE\).
17296
172972007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
17298
17299 * term.c: Include intervals.h to declare Fget_text_property.
17300
173012007-06-10 Jason Rumney <jasonr@gnu.org>
17302
17303 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
17304
173052007-06-08 Juanma Barranquero <lekktu@gmail.com>
17306
17307 * callint.c (Fcall_interactively):
17308 * editfns.c (Fdelete_and_extract_region):
17309 * fileio.c (Fread_file_name):
17310 * fns.c (Fmapconcat):
17311 * keyboard.c (cmd_error_internal):
17312 * keymap.c (Fkey_description):
17313 * lread.c (openp):
17314 * minibuf.c (read_minibuf):
17315 * search.c (wordify):
17316 * sunfns.c (sel_read):
17317 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
17318 * xfns.c (x_default_scroll_bar_color_parameter):
17319 * xmenu.c (menu_help_callback):
17320 * xselect.c (Fx_get_atom_name):
17321 * xterm.c (x_term_init): Use empty_unibyte_string.
17322
173232007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
17324
17325 * alloc.c (init_strings): Initialize canonical empty strings.
17326 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
17327 canonical empty string when the requested size is 0.
17328
17329 * emacs.c (empty_unibyte_string): Rename from empty_string.
17330 (empty_multibyte_string): New canonical empty string.
17331 (syms_of_emacs): Don't initialize empty_string.
17332
17333 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
17334 string, if appropriate.
17335 (empty_unibyte_string, empty_multibyte_string): New externs.
17336 (empty_string): Remove extern.
17337
17338 * lread.c (syms_of_lread): Use empty_unibyte_string.
17339
173402007-06-07 Jason Rumney <jasonr@gnu.org>
17341
17342 * s/ms-w32.h: Don't define HAVE_TZNAME.
17343
17344 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
17345
173462007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17347
17348 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
17349
17350 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
17351 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
17352
17353 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
17354 Don't call next handler.
17355 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
17356 Remove argument. Install handler to application.
17357 (set_frame_menubar): Don't change deep_p.
17358 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
17359 FRAME_OUTER_TO_INNER_DIFF_Y.
17360 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
17361 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
17362 [HAVE_DIALOGS]: New macros.
17363 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
17364 Use them.
17365 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
17366
17367 * macselect.c [MAC_OSX] (install_service_handler): Rename from
17368 init_service_handler. All callers changed. Return OSStatus value.
17369
17370 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
17371 All callers changed so as not to call SetPortWindowPort.
17372 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
17373 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
17374 mac_draw_string_common.
17375 (mac_draw_image_string_qd): Likewise.
17376 (mac_draw_string_common): Use them. Add INLINE.
17377 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
17378 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
17379 GetGlobalMouse.
17380 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
17381 and FRAME_OUTER_TO_INNER_DIFF_Y.
17382 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
17383 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
17384 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
17385 repositioning window to mac_handle_window_event.
17386 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
17387 saving window location to mac_handle_window_event
17388 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
17389 (install_menu_target_item_handler): Remove argument in extern.
17390 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
17391 Also accept command events.
17392 (do_keystroke): New function created from XTread_socket.
17393 (init_command_handler): Remove functions.
17394 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
17395 and save window location by kEventWindowShowing and kEventWindowHiding
17396 handlers here. Don't call next handler for window state change and
17397 focus events.
17398 (mac_handle_application_event, mac_handle_keyboard_event)
17399 [TARGET_API_MAC_CARBON]: New functions.
17400 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
17401 kEventWindowShowing and kEventWindowHiding events. Move installation
17402 of mouse, font, text input and menu target item handlers to
17403 install_application_handler.
17404 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
17405 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17406 New function.
17407 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
17408 Register it.
17409 (XTread_socket) [TARGET_API_MAC_CARBON]:
17410 Consolidate SendEventToEventTarget calls.
17411 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
17412 Move application activation handler to mac_handle_application_event.
17413 Move keyboard handler to mac_handle_keyboard_event.
17414 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
17415 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
17416 init_command_handler. Call install_application_handler.
17417
17418 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
17419 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
17420
174212007-06-07 Glenn Morris <rgm@gnu.org>
17422
17423 * emacs.c (main): Use `emacs-copyright' in --version output.
17424
174252007-06-06 Chong Yidong <cyd@stupidchicken.com>
17426
17427 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
17428
174292007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17430
17431 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
17432
17433 * macgui.h: Replace WindowPtr with WindowRef.
17434
17435 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17436 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17437 Replace ControlHandle with ControlRef.
17438 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
17439
17440 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
17441 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
17442 Replace ControlHandle with ControlRef.
17443 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
17444 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
17445
17446 * macterm.h (struct scroll_bar): Rename member control_handle_low
17447 and control_handle_high to control_ref_low and control_ref_high.
17448 All uses changed.
17449 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
17450 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
17451 respectively. All uses changed.
17452 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
17453 (install_window_handler, remove_window_handler): Replace WindowPtr
17454 with WindowRef in externs.
17455
174562007-06-05 Juanma Barranquero <lekktu@gmail.com>
17457
17458 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
17459
174602007-06-03 Nick Roberts <nickrob@snap.net.nz>
17461
17462 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
17463
17464 * frame.c (Fmouse_position, Fmouse_pixel_position):
17465 Condition on HAVE_GPM too.
17466
17467 * term.c (term_mouse_highlight): Remove unused variables.
17468 (Fterm_open_connection): Set gpm_zerobased to 1.
17469 (term_mouse_movement, term_mouse_click, handle_one_term_event):
17470 Use zero based co-ordinates.
17471 (handle_one_term_event): Report a drag as mouse movement too.
17472
17473 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
17474
174752007-06-03 Chong Yidong <cyd@stupidchicken.com>
17476
17477 * image.c (search_image_cache): New function. Require background
17478 color match if background color is unspecified in the image spec.
17479 (uncache_image, lookup_image): Use it.
17480
174812007-06-01 Juanma Barranquero <lekktu@gmail.com>
17482
17483 * window.c (Fshrink_window): Reflow docstring.
17484
174852007-06-02 Chong Yidong <cyd@stupidchicken.com>
17486
17487 * Version 22.1 released.
17488
174892007-06-01 Richard Stallman <rms@gnu.org>
17490
17491 * xfns.c (x_encode_text): Add GCPRO.
17492
174932007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17494
17495 * xfns.c (x_set_name_internal): Save encoded name before
17496 x_encode_text in case string data is relocated.
17497
174982007-05-31 Richard Stallman <rms@gnu.org>
17499
17500 * buffer.c (syms_of_buffer): Doc fix.
17501
175022007-05-30 Nick Roberts <nickrob@snap.net.nz>
17503
17504 * sysdep.c (init_sys_modes): Add rather than replace with
17505 O_NONBLOCK.
17506
17507 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
17508 term_mouse_moveto.
17509
17510 * termhooks.h (term_mouse_moveto): New extern.
17511
17512 * term.c (mouse_face_window): Rename...
17513 (Qmouse_face_window): ...to this.
17514 (term_show_mouse_face, term_clear_mouse_face)
17515 (term_mouse_highlight): Use Qmouse_face_window.
17516 (term_mouse_moveto): New function.
17517 (term_mouse_position): Make it work.
17518 (syms_of_term): Uncomment assignment to mouse_position_hook.
17519 Staticpro Qmouse_face_window.
17520
175212007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17522
17523 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
17524 around current_column call.
17525
175262007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
17527
17528 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
17529 * xdisp.c (next_element_from_buffer):
17530 * window.c (delete_window):
17531 * term.c (term_mouse_highlight):
17532 * msdos.c (getdefdir):
17533 * macterm.c (mac_create_bitmap_from_bitmap_data)
17534 (init_font_name_table):
17535 * fns.c (Fsxhash):
17536 * data.c (Fmake_local_variable):
17537 * ccl.c (ccl_driver): Likewise.
17538
175392007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17540
17541 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
17542 Call mac_wakeup_from_rne on window size change.
17543
175442007-05-25 Chong Yidong <cyd@stupidchicken.com>
17545
17546 * image.c (uncache_image): Fix typo.
17547
175482007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
17549
17550 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
17551
175522007-05-22 Richard Stallman <rms@gnu.org>
17553
17554 * xterm.c (x_connection_closed): Remove NO_RETURN.
17555
175562007-05-22 Martin Rudalics <rudalics@gmx.at>
17557
17558 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
17559
175602007-05-21 Chong Yidong <cyd@stupidchicken.com>
17561
17562 * image.c (uncache_image): New function.
17563 (Fimage_refresh): New function.
17564
175652007-05-20 Jan Djärv <jan.h.d@swipnet.se>
17566
17567 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
17568
175692007-05-20 Nick Roberts <nickrob@snap.net.nz>
17570
17571 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
17572 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
17573
175742007-05-20 Nick Roberts <nickrob@snap.net.nz>
17575
17576 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
17577 conditional on [HAVE_GPM_H].
17578
175792007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
17580
17581 * syntax.c (skip_chars): Update syntax-table only after we checked that
17582 the new location is valid.
17583
175842007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17585
17586 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
17587 mac_get_window_bounds.
17588
175892007-05-20 Nick Roberts <nickrob@snap.net.nz>
17590
17591 * Makefile.in (LIBGPM): Allow it to be set from configure.
17592 If set then link Emacs with it.
17593
17594 * config.in: Regenerate.
17595
17596 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
17597 New externs.
17598
17599 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
17600 Include gpm.h.
17601 (handle_one_term_event, term_gpm): New externs.
17602
17603 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
17604 and allow it to be interrupted by SIGIO.
17605
17606 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
17607 (wait_reading_process_output): Wait on gpm_fd too.
17608 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
17609 (add_gpm_wait_descriptor_called_flag): New variable.
17610 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
17611
17612 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
17613 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
17614 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
17615 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
17616 (make_lispy_event): Add case GPM_CLICK_EVENT.
17617 (read_avail_input): Handle mouse input.
17618
17619 * term.c (write_glyphs_with_face): New function.
17620 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
17621 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
17622 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
17623 (mouse_face_face_id, term_gpm, pos_x, pos_y)
17624 (last_mouse_x, last_mouse_y): New variables.
17625 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
17626 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
17627 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
17628 (Fterm_close_connection): New functions.
17629 (term_init): Initialise mouse_face_window.
17630
176312007-05-19 Chong Yidong <cyd@stupidchicken.com>
17632
17633 * xdisp.c (redisplay_window): If first window line is a
17634 continuation line, recompute the new window start instead of
17635 recentering.
17636
176372007-05-18 Glenn Morris <rgm@gnu.org>
17638
17639 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
17640 Suggested by Alfred M. Szmidt <ams@gnu.org>.
17641
176422007-05-17 Glenn Morris <rgm@gnu.org>
17643
17644 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
17645
176462007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17647
17648 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
17649 dead key repeat and up events.
17650
176512007-05-14 Chong Yidong <cyd@stupidchicken.com>
17652
17653 * image.c (pbm_load): Check image size for monochrome pbm.
17654
176552007-05-13 Chong Yidong <cyd@stupidchicken.com>
17656
17657 * xterm.c (XTread_socket): Revert last change.
17658
176592007-05-12 Chong Yidong <cyd@stupidchicken.com>
17660
17661 * image.c (pbm_load): Correctly check image size for greyscale pbm.
17662
17663 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
17664
176652007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17666
17667 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
17668 mixup (YAILOM).
17669
176702007-05-07 Andreas Schwab <schwab@suse.de>
17671
17672 * keymap.c (Flookup_key): Fix typo in last change.
17673
176742007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
17675
17676 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
17677 mapping for unibyte strings.
17678
176792007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17680
17681 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
17682 (Fx_popup_dialog) [MAC_OSX]: Likewise.
17683
176842007-04-29 Richard Stallman <rms@gnu.org>
17685
17686 * insdel.c (replace_range): For undo, record insertion first.
17687
176882007-04-29 Andreas Schwab <schwab@suse.de>
17689
17690 * lisp.h (VECSIZE): Use OFFSETOF.
17691
176922007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17693
17694 * xdisp.c (try_window_reusing_current_matrix): Fix number of
17695 disabled lines.
17696
176972007-04-28 Richard Stallman <rms@gnu.org>
17698
17699 * lread.c (read_escape): In a string, \s is always space.
17700
177012007-04-27 Jan Djärv <jan.h.d@swipnet.se>
17702
17703 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
17704
17705 * gtkutil.c (xg_update_menubar, create_menus): Create empty
17706 submenu for menu bar items.
17707
17708See ChangeLog.10 for earlier changes.
17709
17710;; Local Variables:
17711;; coding: utf-8
17712;; add-log-time-zone-rule: t
aac0c6e3
MR
17713;; End:
17714
76b6f707 17715 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
17716
17717 This file is part of GNU Emacs.
17718
17719 GNU Emacs is free software: you can redistribute it and/or modify
17720 it under the terms of the GNU General Public License as published by
17721 the Free Software Foundation, either version 3 of the License, or
17722 (at your option) any later version.
17723
17724 GNU Emacs is distributed in the hope that it will be useful,
17725 but WITHOUT ANY WARRANTY; without even the implied warranty of
17726 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17727 GNU General Public License for more details.
17728
17729 You should have received a copy of the GNU General Public License
17730 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
17731
17732;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40