Don't require speedbar.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
de59072a
AS
12009-09-24 Andreas Schwab <schwab@redhat.com>
2
3 * coding.c (decode_coding_iso_2022): Fix operator precedence.
4
a489517b
JB
52009-09-24 Juanma Barranquero <lekktu@gmail.com>
6
7 * dired.c (Fdirectory_files): Fix typo in docstring.
8
0592970c
AR
92009-09-23 Adrian Robert <Adrian.B.Robert@gmail.com>
10
11 * nsterm.m (EV_TIMESTAMP, x_set_window_size)
12 (EmacsApp-application:openFiles:): Remove GNUstep conditionals.
13 (EmacsScroller-setPosition:portion:whole:): Remove -display call
14 under GNUstep.
15 (EmacsView-initFrameFromEmacs:): Set autoresizing mask.
16
17 * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for
18 glyph advancement.
19
48e8a88b
AR
202009-09-22 Adrian Robert <Adrian.B.Robert@gmail.com>
21
22 * nsterm.m (CGContextSetFontRenderingMode): Drop declaration.
b3aac06a 23 (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY.
48e8a88b
AR
24
25 * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been
26 deleted (bug #4492).
27
e14f0a78
AR
28 * nsfont.m (Vns_reg_to_script): New lisp variable.
29 (syms_of_nsfont): Declare it.
30 (ns_registry_to_script): New function.
31 (ns_get_req_script): Call it.
32 (ns_findfonts): Don't give up on non-unicode registry.
33
34 * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
35
5b650faa
SM
362009-09-20 Tom Tromey <tromey@redhat.com>
37
38 * eval.c (find_handler_clause): Make stack-trace-on-error work in
39 batch mode (bug#4228).
40
a489517b 412009-09-18 Rob Christie <robchristie@gmail.com> (tiny change)
0bae4e09
AR
42
43 * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more
a489517b 44 carefully. (Bug #4339)
0bae4e09 45
fcfe06f3
CY
462009-09-18 Chong Yidong <cyd@stupidchicken.com>
47
d798ba87 48 * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400).
fcfe06f3 49
31642728
AR
502009-09-18 Adrian Robert <Adrian.B.Robert@gmail.com>
51
52 * emacs.c (inhibit_x_resources): Update doc string for NS.
53 (main) [HAVE_NS]: Don't process --no-init-file option. Remove
cff11156 54 legacy code for -NXHost. Fix error printf in daemon case.
31642728
AR
55
56 * nsterm.h (ns_no_defaults): Remove.
57
58 * nsterm.m (ns_no_defaults): Remove.
59 (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources.
60 (ns_use_qd_smoothing): Remove legacy variable.
6516d10a
AR
61 (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
62 don't update the NSWindow itself.
63 (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve
a489517b 64 state detection and store user rect ourselves. (Bug #3581)
31642728
AR
65
66 * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
67 ns_use_qd_smoothing.
68
69 * nsfns.m (x_get_string_resource): Ape just-previous changes to other
70 platform versions. Drop support for emacs-20-style face specs.
8aad0aea 71 (x-close-connection): Drop PSFlush() under OS X.
a489517b 72 (x-focus-frame): Activate the app first. (Bug #4180)
31642728 73
8686ac71
JB
742009-09-17 Juanma Barranquero <lekktu@gmail.com>
75
76 * emacs.c (inhibit_x_resources): New variable.
77 (main) [HAVE_NS]: Don't process --quick command line option.
78 (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
79
80 * lisp.h (inhibit_x_resources): Declare it extern.
81
82 * w32reg.c (x_get_string_resource):
83 * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
84
e227ba05
EZ
852009-09-17 Eli Zaretskii <eliz@gnu.org>
86
87 * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP): Add
88 lisp/term/internal.elc.
89
742d40e8
SM
902009-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
91
92 * frame.c (x_get_resource_string): Re-add for non-toolkit builds
93 (bug#4461).
94
005bd5a2
DN
952009-09-17 Dan Nicolaescu <dann@ics.uci.edu>
96
97 * puresize.h (BASE_PURESIZE): Increase to 1290000.
98
99 * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
100 (OBJECTS_MACHINE): Remove, unused.
101
f9af9719
SM
1022009-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
103
104 * frame.c (x_get_resource_string): Remove unused.
105
0307c7d2
JD
1062009-09-15 Jan Djärv <jan.h.d@swipnet.se>
107
108 * xterm.c (x_new_font): Call change_frame_size before calling
109 x_set_window_size, in case frame size won't change.
110
111 * frame.c (x_set_font): Remove dead code.
112
428b13d6
SM
1132009-09-15 Stefan Monnier <monnier@iro.umontreal.ca>
114
115 * lread.c (Fload): Also run do-after-load-evaluation while dumping.
116
5766c380
SM
1172009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
118
119 * lread.c (Fload): Don't output a message after loading an obsolete
120 package any more (done in Lisp now).
121
2fd0161b
CY
1222009-09-12 Chong Yidong <cyd@stupidchicken.com>
123
124 * fns.c (syms_of_fns): Doc fix (Bug#4227).
125
bc5e75b6
SM
1262009-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
127
128 * keymap.c (Fwhere_is_internal): Use nconc2.
129
c31c985e
AM
1302009-09-11 Alan Mackenzie <acm@muc.de>
131
132 * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
133 batch mode.
134
78012bd2
AS
1352009-09-11 Andreas Schwab <schwab@linux-m68k.org>
136
137 * xdisp.c (display_mode_element): Detect cycles.
138
9d889332
SM
1392009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
140
141 * keymap.c (where_is_internal): Don't erroneously return nil right after
142 filling the cache.
143 (where_is_internal_1): Fix up typo.
144
7ab5d780
GM
1452009-09-11 Glenn Morris <rgm@gnu.org>
146
147 * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
148 share a common doc-string.
149
5238a749
SM
1502009-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
151
66d77eda
SM
152 * keymap.c (get_keymap): Return the actual keymap symbol rather than
153 t for autoloaded keymaps when autoloading is not allowed (bug#4393).
154
5238a749
SM
155 * keymap.c (QCadvertised_binding): New constant.
156 (syms_of_keymap): Initialize it.
157 (Fwhere_is_internal): Try and use bindings from :advertised-binding
158 if applicable.
159
19f48442
SM
1602009-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
161
50d4ba39
SM
162 * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
163 (parse_menu_item): Streamline since bindings are recomputed all the
164 time anyway. Don't bother checking Vdefine_key_rebound_commands any
165 more and don't support lmenu's menu-alias any more either.
166
a88a5372
SM
167 * keymap.c (where_is_internal_data): Make noindirect a boolean.
168 (where_is_internal): Strip it down to only traverse the keymaps.
169 Move the cache handling from Fwhere_is_internal to here.
170 (Fwhere_is_internal): Move the handling of remapping and the choice of
171 the best binding from where_is_internal to here.
172 Unify the cached/noncached paths, so remapping is also handled
173 correctly when the cache is used, and so the cache can be used to
174 speed up remap-handling when applicable.
175 Give preference to non-remapped bindings.
176 * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
177 non-remapped bindings.
178 * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
179 command remapping.
180
19f48442
SM
181 * xdisp.c (display_mode_element): Move list length limit from 50 to
182 5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
183
599498c3 1842009-09-09 Adrian Robert <Adrian.B.Robert@gmail.com>
c1905ca3
AR
185
186 * nsfont.m (ns_get_family): Don't force first letter to uppercase.
187
f9b7b5ac
SM
1882009-09-09 Stefan Monnier <monnier@iro.umontreal.ca>
189
190 * keymap.c (where_is_internal): Filter out shadowed remappings.
191 Assume that where_is_internal returns unshadowed bindings to simplify
192 the code and get rid of the gotos. Use ASIZE.
193
04f4b72d
JD
1942009-09-04 Jan Djärv <jan.h.d@swipnet.se>
195
4da146f2
JD
196 * xterm.c (x_focus_changed): If we get a focusout and pointer
197 is invisible, make it visible.
198
04f4b72d
JD
199 * xterm.h: Remove condition for declaration of
200 x_*_window_to_frame.
201
7cef7ce3
SM
2022009-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
203
204 * dispnew.c (Fsend_string_to_terminal): Make it work again on the
205 initial terminal as well.
206
a54fa5b7
JD
2072009-09-02 Jan Djärv <jan.h.d@swipnet.se>
208
209 * xterm.h: Rename x_non_menubar_window_to_frame to
7cef7ce3 210 x_menubar_window_to_frame.
a54fa5b7
JD
211
212 * xterm.c: Remove declarations also in xterm.h
213 (XTmouse_position): Do not return valid positions
214 for clicks in the menubar and the toolbar for Gtk+.
215
216 * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
217 if the widget for the event has the same top level as a frame,
218 return the frame.
219 (x_menubar_window_to_frame): Detect menu bar even with Gtk+
220 internal windows, bug #4122.
221 (x_non_menubar_window_to_frame): Remove.
222
5a021dd0
GM
2232009-09-02 Glenn Morris <rgm@gnu.org>
224
225 * buffer.c (default-major-mode): Move most of the doc from here...
226 (major-mode): ... to here.
227
548fe2f3
NR
2282009-08-30 Nick Roberts <nickrob@snap.net.nz>
229
230 * process.c (wait_reading_process_output): Keep the descriptor
231 when pty is used by a non-child process, e.g., in I/O buffer of
232 GDB this allows inferior to be restarted.
233
e0840eef
EZ
2342009-08-29 Eli Zaretskii <eliz@gnu.org>
235
236 * xdisp.c (redisplay_internal): Remove redundant test and collapse
237 both branches into one.
238
82e98df4
SM
2392009-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
240
241 * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
242 (main): Use enable-multibyte-characters rather than
243 default-enable-multibyte-characters. Output a warning message when
244 running a unibyte session.
245
890617cb
YM
2462009-08-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
247
248 * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
249 LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
250 (copy_data_segment): Also copy __program_vars section.
251 (copy_dyld_info) [LC_DYLD_INFO]: New function.
252 (dump_it) [LC_DYLD_INFO]: Use it.
253
254 * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
255
e7adeadc
EZ
2562009-08-28 Eli Zaretskii <eliz@gnu.org>
257
258 * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
259 $(SRC)/buildobj.h.
260 (buildobj.h): Renamed from $(SRC)/buildobj.h.
261 (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
262 $(SRC)/buildobj.h.
263 (clean): Add buildobj.h.
264
3ed8bbdc
TZ
2652009-08-28 Teodor Zlatanov <tzz@lifelogs.com>
266
267 * print.c (print_object): Set escapeflag to 1 when printing
268 hashtable keys and values.
269
155a6764
SM
2702009-08-27 Stefan Monnier <monnier@iro.umontreal.ca>
271
272 * lread.c (read_integer): Use doubles (and potentially return a float
273 number) as we do in string-to-number.
274 (read1): Use strtol to read integers, signal errors on strtol's
275 overflow and use floats if strtol's output is too large for
276 Elisp integers.
277
877610de
EZ
2782009-08-27 Eli Zaretskii <eliz@gnu.org>
279
280 * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
281 (make-buildobj-SH): Fix last change.
282 (SRC): Move to before where it's first used.
283
ef73e7be
KH
2842009-08-27 Kenichi Handa <handa@m17n.org>
285
550c8289
KH
286 * process.c (send_process): Use encode_coding_object instead of
287 encode_coding_string to perform eol-conversion even if the string
288 is unibyte.
289
60afa08d
KH
290 * coding.c (encode_coding_utf_16): Fix checking of a Unicode
291 character.
292
ef73e7be 293 * cmds.c (Fself_insert_command): Avoid unnecessay
8a0b709a 294 unibyte->multibyte conversion. (Bug#4240) (Bug#4037)
ef73e7be 295
7b3a82d7
DN
2962009-08-26 Dan Nicolaescu <dann@ics.uci.edu>
297
5654bf63
DN
298 * callproc.c (Fcall_process): Remove always true #if.
299
7b3a82d7
DN
300 * lisp.h: Replace #if 0 code for checking with text pointing to
301 the --enable-checking configure flag.
302
303 * emacs.c (main): Mention the --enable-profiling configure flag
304 instead of using CFLAGS.
305
878bde49
KR
3062009-08-26 Ken Raeburn <raeburn@raeburn.org>
307
308 * Makefile.in (buildobj.h): New target.
309 (doc.o): Depend on it.
310 (temacs${EXEEXT}): Don't generate buildobj.lst.
311 (mostlyclean): Delete buildobj.h, not buildobj.lst.
312 * makefile.w32-in ($(SRC)/buildobj.h): New target.
313 ($(BLD)/doc.$(O)): Depend on it.
314 (make-buildobj-CMD, make-buildobj-SH): New targets. (Syntax help
315 provided by Eli Zaretskii.)
316 ($(TEMACS)): Don't generate buildobj.lst.
317 * doc.c: Include buildobj.h.
318 (buildobj): New static variable.
319 (Fsnarf_documentation): Use it, instead of opening and reading
320 buildobj.lst.
321
1574224c
MA
3222009-08-25 Michael Albinus <michael.albinus@gmx.de>
323
324 * dbusbind.c (Fdbus_call_method)
325 (Fdbus_call_method_asynchronously): Use English numeric format for
326 timeout values in doc string.
327
d9da2f45
KH
3282009-08-25 Kenichi Handa <handa@m17n.org>
329
ef73e7be
KH
330 * alloc.c (mark_char_table): New function.
331 (mark_object): Use mark_char_table for a char-table.
332
d9da2f45
KH
333 * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
334 (CHAR_TABLE_REF): Use it.
335
c8edcc01
KR
3362009-08-23 Ken Raeburn <raeburn@raeburn.org>
337
338 * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
339 before invoking the newly build emacs to check for load-path
340 shadowing.
341
7763401b
GM
3422009-08-22 Glenn Morris <rgm@gnu.org>
343
344 * Makefile.in (bootstrap_exe): New variable.
345 (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
346 Use ${bootstrap_exe}.
347
729eadda
EZ
3482009-08-22 Eli Zaretskii <eliz@gnu.org>
349
350 * coding.h (encode_coding_string): Don't encode unibyte strings.
351 (Bug#4047)
352
eb4c6ace
MA
3532009-08-22 Michael Albinus <michael.albinus@gmx.de>
354
355 * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
356
357 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove. It was
358 intended as hotfix only.
359 (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
360
36e34d1b
AR
3612009-08-21 Adrian Robert <Adrian.B.Robert@gmail.com>
362
363 * nsterm.m (ns_get_color): Update documentation properly for last
364 change, and clean up loose ends in the code left by it. Fix
365 longstanding bug with 16-bit hex parsing, and add support for
366 yet another X11 format (rgb:r/g/b) for compatibility.
367 * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
368 timer_check() to avoid crash on Leopard/PPC. Bug #2154.
369
f983eb8a
SM
3702009-08-21 Stefan Monnier <monnier@iro.umontreal.ca>
371
372 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
373
3f56d3c6
MA
3742009-08-20 Michael Albinus <michael.albinus@gmx.de>
375
376 * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
377 (xd_add_watch, xd_remove_watch): Use it. Print debug messages.
378 (xd_initialize, xd_pending_messages): Check, whether
379 $DBUS_SESSION_BUS_ADDRESS is set.
380
fb641d68
YM
3812009-08-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
382
383 * nsfns.m (Fxw_color_values): Return 3-element list. Doc fix.
384
385 * nsterm.m (ns_get_color): Remove incompatible color formats again.
386
cf59a374
GM
3872009-08-20 Glenn Morris <rgm@gnu.org>
388
389 * emacs.c (system-type): Doc fix.
390
1373f3be
SM
3912009-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
392
393 * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
394 enough for the most common situations. Avoid SET_SYMBOL_VALUE.
395
058ed861
MA
3962009-08-18 Michael Albinus <michael.albinus@gmx.de>
397
1373f3be
SM
398 * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
399 New functions.
058ed861
MA
400 (xd_initialize): Revert change from 2009-08-16.
401
563a866e 4022009-08-18 Kenichi Handa <handa@m17n.org>
5fc05db0
KH
403
404 * fontset.c (Ffontset_font): If a nil element is found in a
563a866e 405 font-group vector, return nil.
5fc05db0 406
e42bdf01
CY
4072009-08-17 Chong Yidong <cyd@stupidchicken.com>
408
409 * process.c (status_notify): Don't perform redisplay.
410 (Fdelete_process, list_processes_1, process_send_signal):
411 Expliticly perform redisplay.
412 (wait_reading_process_output): Always check process status, but
413 don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
414
4230ab74
KR
4152009-08-17 Ken Raeburn <raeburn@raeburn.org>
416
1373f3be 417 * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
f601cdf3
KR
418 (XFLOAT_INIT): New macro for storing a float value.
419 * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
420 * fns.c (sxhash): Copy out the value of a float in order to
421 examine its bytes.
422 * dbusbind.c (xd_append_arg): Likewise.
423
4230ab74
KR
424 * emacs.c (main): Don't call syms_of_data twice.
425
a0645cdd
MA
4262009-08-16 Michael Albinus <michael.albinus@gmx.de>
427
428 * dbusbind.c (xd_initialize): Add connection file descriptor to
429 input_wait_mask, in order to let select() detect, whether a new
430 message has been arrived.
ca4f31ea 431 (Fdbus_call_method_asynchronously): Allow nil HANDLER.
a0645cdd 432
485db0ba
MA
4332009-08-15 Michael Albinus <michael.albinus@gmx.de>
434
1373f3be
SM
435 * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
436 New functions.
485db0ba
MA
437
438 * lisp.h (xd_pending_messages): Declare.
439
440 * keyboard.c (readable_events): Call xd_pending_messages.
441
b5b98ff4
CY
4422009-08-15 Chong Yidong <cyd@stupidchicken.com>
443
1373f3be 444 * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
84b17ab0 445
f8354c6e
CY
446 * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
447
b5b98ff4
CY
448 * buffer.c (set_buffer_internal_1)
449 (swap_out_buffer_local_variables): Check for unbound local
450 variables (Bug#4138).
451
8b9fc636
EZ
4522009-08-14 Eli Zaretskii <eliz@gnu.org>
453
454 * process.c (create_pty): Fix last change.
455
ce959360
CY
4562009-08-13 Chong Yidong <cyd@stupidchicken.com>
457
458 * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
459 (xbm_load_image): Caller changed.
64b807c9 460 (xbm_file_p): Avoid signalling an image_error (Bug#4107).
ce959360 461
c7baf7e9
NR
4622009-08-13 Nick Roberts <nickrob@snap.net.nz>
463
464 * process.c (create_pty): New function.
465 (Fstart_process): Use it to allow Emacs to just associate a pty
466 with the buffer. See associated change in gdb-mi.el.
467 (list_processes_1): Deal with no program name.
468 (start_process_unwind): Use pid == -2 to mean no process.
469
1ac9108a
SM
4702009-08-12 Stefan Monnier <monnier@iro.umontreal.ca>
471
472 * cmds.c (nonundocount): New global variable.
473 (keys_of_cmds): Initialize it.
474 (Fself_insert_command): Use it to combine upto 20 sequential chars
475 into a single undo entry, just like the Qself_insert_command code in
476 keyboard.c does.
477 Call frame_make_pointer_invisible, also like the Qself_insert_command
478 code in keyboard.c does.
479 * keyboard.c (command_loop_1): Use the new global nonundocount rather
480 than its own local replacement for it.
481
e267324c
KR
4822009-08-10 Ken Raeburn <raeburn@raeburn.org>
483
1ac9108a 484 * fns.c (concat): Don't re-set string length to its current value.
77437343 485
1ac9108a
SM
486 * coding.h (decode_coding_string, encode_coding_string):
487 Use SBYTES macro.
f0bed503 488
1ac9108a 489 * doprnt.c (doprnt_lisp): Delete unused function.
e267324c
KR
490 (doprnt): Merge with doprnt1, discarding lispstrings code.
491 * lisp.h (doprnt_lisp): Don't declare.
492
416e006d
JL
4932009-08-07 Juri Linkov <juri@jurta.org>
494
495 * puresize.h (BASE_PURESIZE): Increase to 1270000.
496
6f7d5780
DN
4972009-08-07 Dan Nicolaescu <dann@ics.uci.edu>
498
499 * print.c (syms_of_print): Undo previous change.
500
f19a0f5b
TZ
5012009-08-05 Teodor Zlatanov <tzz@lifelogs.com>
502
503 * lread.c (read1, syms_of_lread): Read hashtables back from the
504 readable format.
505
506 * print.c (print_preprocess, print_object): Print hashtables fully
507 and readably.
508 (syms_of_print): Provide 'hashtable-print-readable.
509
b9173dc2
AR
5102009-08-02 Adrian Robert <Adrian.B.Robert@gmail.com>
511
512 * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
513 no family set.
514 (nsfont_open): Handle case when entity has no family.
515
1586503c
AR
5162009-07-29 Adrian Robert <Adrian.B.Robert@gmail.com>
517
518 * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
519 element, not a list, for match case.
520
087048cd
KH
5212009-07-28 Kenichi Handa <handa@m17n.org>
522
523 * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
524 rigidly.
525
526 * xfont.c (xfont_list_pattern): Don't ignore the return value of
527 font_parse_xlfd. Check font properties more rigidly.
528
780c2506
DN
5292009-07-27 Dan Nicolaescu <dann@ics.uci.edu>
530
31fd7c5c
JB
531 * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
532 bsd-common.h.
780c2506 533
a8c0cc18
KH
5342009-07-27 Kenichi Handa <handa@m17n.org>
535
536 * xfaces.c (face_with_height): Call font_clear_prop.
537
4fbe2306
CY
5382009-07-26 Chong Yidong <cyd@stupidchicken.com>
539
111d9af3
CY
540 * dispnew.c (init_display): Use Qx, Qw32, and Qns.
541
542 * xterm.c (x_term_init): Use Qx.
543
4fbe2306
CY
544 * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
545
1ac9108a 546 * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
4fbe2306
CY
547 (ns_get_color): Revert 2009-07-16 change.
548
beb0b7f9
EZ
5492009-07-25 Eli Zaretskii <eliz@gnu.org>
550
551 * lread.c (syms_of_lread) <force_load_messages>: New variable.
1ac9108a 552 (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
beb0b7f9 553
2baf5e76
KR
5542009-07-25 Ken Raeburn <raeburn@raeburn.org>
555
1ac9108a
SM
556 * coding.h (decode_coding_string, encode_coding_string):
557 Use SCHARS macro.
8890e5f5 558
2baf5e76 559 * lread.c: Rewrite 2009-07-21 changes.
1ac9108a 560 (load_depth): Delete.
2baf5e76
KR
561 (Qload_in_progress): New variable.
562 (load_unwind): Don't reference load_depth or load_in_progress.
563 (Fload): Likewise; specbind Qload_in_progress instead.
564 (init_lread): Don't initialize load_depth.
565 (syms_of_lread): Initialize and protect Qload_in_progress.
566
1395c6f5
AR
5672009-07-24 Adrian Robert <Adrian.B.Robert@gmail.com>
568
569 * nsfont.m (ns_findfonts): Correctly return fallback in match case.
570
4e2f36cf
AR
5712009-07-23 Yavor Doganov <yavor@gnu.org>
572
573 * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
574
5dd9a6f7
AR
5752009-07-23 Adrian Robert <Adrian.B.Robert@gmail.com>
576
577 * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
7f6ad209
AR
578 Bugs 3792, 3720, 2402.
579 (ns_lookup_indexed_color): Check for bad index.
580 (ns_index_color): Init unused slot to 0.
581 (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
582 Bug 3714, possibly 3082.
5dd9a6f7 583
c902b920
JR
5842009-07-22 Jason Rumney <jasonr@gnu.org>
585
1ac9108a
SM
586 * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
587 Position IME window at cursor (Bug#2570).
c902b920
JR
588 (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
589 (globals_of_w32fns): Dynamically load functions required above.
590
591 * w32term.c (w32_draw_window_cursor): Send message to reposition
592 any IME window.
593
090101cf
CY
5942009-07-21 Chong Yidong <cyd@stupidchicken.com>
595
596 * fileio.c: Revert 2009-07-16 changes.
597 (Vauto_save_include_big_deletions): New variable.
598 (Fdo_auto_save): Disable auto-save only if
599 auto-save-include-big-deletions is nil.
600
e6583e3d
CY
6012009-07-21 Chong Yidong <cyd@stupidchicken.com>
602
603 * xdisp.c (move_it_to): For continued lines ending in a tab, take
604 the overflowed pixels into account (Bug#3879).
605
ece435a5
KR
6062009-07-21 Ken Raeburn <raeburn@raeburn.org>
607
608 * lread.c (load_depth): New variable.
609 (Fload, load_unwind, init_lread): Set it to the load recursion
610 depth; set load_in_progress as a simple boolean based on the
611 current load_depth. (Bug#3892)
612
40b2d973
AR
6132009-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
614
615 * nsfont.m (ns_has_attribute): Remove.
616 (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
617
10be7e0d
JL
6182009-07-18 Juri Linkov <juri@jurta.org>
619
620 * process.c (Fset_process_query_on_exit_flag): Mention killing
621 a buffer in docstring.
622
fa055055
KH
6232009-07-17 Kenichi Handa <handa@m17n.org>
624
625 * casetab.c (shuffle): Fix the logic of setting up the cycle.
626
042f7b69
YM
6272009-07-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
628
629 * nsfns.m (Fns_set_alpha): Remove function.
630 (syms_of_nsfns): Don't defsubr it.
631
632 * nsterm.m (ns_get_color): Remove incompatible color formats.
633 (ns_color_to_lisp): Generate #rrggbb color format string.
634
4be941e3
RS
6352009-07-16 Richard Stallman <rms@gnu.org>
636
637 * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
638 (Fset_buffer_auto_saved): Handle save_length = -2.
639
4e6b227d
CY
6402009-07-16 Chong Yidong <cyd@stupidchicken.com>
641
642 * xterm.c (Qx_gtk_map_stock): New var.
643
644 * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
645 of calling intern each time.
646
a1856973
YM
6472009-07-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
648
649 * nsfont.m (nsfont_draw): Remove code for stippling, which actually
650 does tiling.
651
652 * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
653
497e54d8
KH
6542009-07-14 Kenichi Handa <handa@m17n.org>
655
72d36834
KH
656 * font.c (font_vconcat_entity_vectors): New function.
657 (struct font_sort_data): New member font_driver_preference.
658 (font_compare): Check font_driver_preference.
659 (font_sort_entities): The format of the first argument changed.
660 (font_delete_unmatched): Likewise.
661 (font_list_entities): The return type changed.
662 (font_select_entity): The format of the second argument changed.
1ac9108a
SM
663 (font_find_for_lface): Adjuste for the above changes.
664 Don't suppress the checking of C even if the repertory supports it.
665 (Flist_fonts): Adjust for the above changes.
72d36834 666
1ac9108a
SM
667 * ftfont.c (ftfont_spec_pattern): New arg langname. Change caller.
668 (ftfont_list): Adjust for the change of ftfont_spec_pattern.
497e54d8
KH
669 Reject a font who has adstyle property that is different from a
670 langname derived from registry property.
1ac9108a 671 (ftfont_match): Adjust for the change of ftfont_spec_pattern.
497e54d8 672
b6046155
EZ
6732009-07-13 Eli Zaretskii <eliz@gnu.org>
674
675 * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
676 local copy of dirfilename.
677
fb6b6049
KH
6782009-07-13 Kenichi Handa <handa@m17n.org>
679
e2402a5e
KH
680 * chartab.c (sub_char_table_ref_and_range): Fix the range check
681 against max_char.
682
fb6b6049
KH
683 * cmds.c (internal_self_insert): Check sym by SYMBOLP before
684 calling XSYMBOL (sym).
685
65156807
EZ
6862009-07-11 Eli Zaretskii <eliz@gnu.org>
687
1ac9108a
SM
688 * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
689 New function.
690 (directory_files_internal) [WINDOWSNT]:
691 Bind w32-get-true-file-attributes to either t or nil, depending whether
65156807
EZ
692 the filesystem of the directory is fast or slow.
693
694 * w32.c (logon_network_drive): Don't assume PATH is an absolute
695 file name.
696 (is_slow_fs): New function.
697 (stat): Use it to determine whether to issue more system calls to
698 get accurate file attributes, when w32-get-true-file-attributes is
699 `local'.
700
e0ab5fcf
JD
7012009-07-10 Jan Djärv <jan.h.d@swipnet.se>
702
703 * xfns.c (Fx_select_font): Remember last font selected in
31fd7c5c 704 x_last_font_name and use that the next time. Also try the frame
e0ab5fcf
JD
705 parameter font-parameter as default to the font dialog.
706
784ceded
KH
7072009-07-10 Kenichi Handa <handa@m17n.org>
708
709 * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
710
fb8edc0b
EZ
7112009-07-09 Eli Zaretskii <eliz@gnu.org>
712
1ac9108a 713 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
017dab84 714
fb8edc0b
EZ
715 * w32.c (stat): Treat UNC file names as residing on remote
716 drives. (Bug#3542)
717
635c75b1
KH
7182009-07-09 Kenichi Handa <handa@m17n.org>
719
720 * fontset.c (fontset_find_font): Fix previous change.
721
c1d5ce94
MA
7222009-07-08 Michael Albinus <michael.albinus@gmx.de>
723
724 * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
725 (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
726 error flag.
727
edb61b39
KH
7282009-07-08 Kenichi Handa <handa@m17n.org>
729
374bf7e4
KH
730 * fontset.c (fontset_find_font): Fix the logic of handling
731 charset_matched.
732 (font_for_char): Delete unused var.
733 (generate_ascii_font_name): Delete it.
734
edb61b39
KH
735 * coding.h (JIS_TO_SJIS2): Fix the code range check.
736
737 * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
738 (encode_coding_sjis): Fix the code range check.
739
0f3f018c
CY
7402009-07-07 Chong Yidong <cyd@stupidchicken.com>
741
742 * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
743 (Fexpand_file_name): Copy string data properly (Bug#3772).
744
fcaf6f3a
JD
7452009-07-07 Jan Djärv <jan.h.d@swipnet.se>
746
747 * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
748 first MapNotify.
749
6809ca75
KH
7502009-07-07 Kenichi Handa <handa@m17n.org>
751
752 * character.h (unibyte_has_multibyte_table): Delete extern.
753 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
754
755 * charset.c (Fset_charset_priority): Update charset_unibyte.
756 (syms_of_charset): Initialize charset_unibyte.
757
758 * character.c (unibyte_has_multibyte_table): Delete it.
759 (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
760 charset_unibyte.
761 (multibyte_char_to_unibyte_safe): Likewise.
762 (Funibyte_char_to_multibyte): Don't check charset_unibyte.
763
1ac9108a 764 * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
6809ca75
KH
765 (x_produce_glyphs): Likewise.
766
767 * .gdbinit (xcharset): Fix the treating $arg0.
768
ad9e2d54
EZ
7692009-07-04 Eli Zaretskii <eliz@gnu.org>
770
771 Emulation of `getloadavg' on MS-Windows.
772 * w32.c: Include float.h
773 (g_b_init_get_native_system_info, g_b_init_get_system_times)
774 (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
775 (get_native_system_info, get_system_times): New functions.
776 (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
777 (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
778 (globals_of_w32): Initialize g_b_init_get_native_system_info,
779 g_b_init_get_system_times, and num_of_processors.
780
0a3472c7
JR
7812009-07-03 Jason Rumney <jasonr@gnu.org>
782
783 * w32term.c (w32_initialize): Use standard types.
784
80904120
EZ
7852009-07-03 Eli Zaretskii <eliz@gnu.org>
786
787 * dired.c (Ffile_attributes): Decode user and group names by the
788 locale's encoding. (Bug#3443)
789
6978862d
DN
7902009-07-03 Dan Nicolaescu <dann@ics.uci.edu>
791
f8d23104
DN
792 * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
793 (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
794
795 * callproc.c (child_setup): Use #else instead of a separate #ifdef.
796
797 * term.c (init_tty): Remove spurious #ifdef.
798
6978862d
DN
799 * m/mips.h: Mention this file is also used for netbsd.
800 * m/pmax.h: Remove file.
801
e044e4fc
JD
8022009-07-03 Jan Djärv <jan.h.d@swipnet.se>
803
804 * xterm.h (struct x_display_info): Add invisible_cursor.
805 (struct x_output): Add current_cursor.
806
807 * xterm.c (XTtoggle_invisible_pointer): New function.
808 (x_define_frame_cursor): Don't define cursor if invisible or the
809 same as before. Set current_cursor.
810 (x_create_terminal): Set toggle_invisible_pointer_hook.
811
812 * xfns.c (make_invisible_cursor): New function.
813 (x_set_mouse_color): Call make_invisible_cursor.
814 Set current_cursor.
815 (x_window): Set current_cursor.
816
817 * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
818
819 * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
820 inserting a character.
821 (read_avail_input): Call frame_make_pointer_visible.
822
823 * frame.c (Vmake_pointer_invisible): New variable.
1ac9108a
SM
824 (frame_make_pointer_invisible, frame_make_pointer_visible):
825 New functions.
e044e4fc
JD
826 (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
827
828 * frame.h: Declare frame_make_pointer_invisible and
829 frame_make_pointer_visible.
830 (struct frame): Add pointer_invisible.
831
574c8efa
JD
8322009-07-02 Jan Djärv <jan.h.d@swipnet.se>
833
7b507248
JD
834 * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
835 frame isn't visible.
836 (xg_frame_resized): If width/height is -1, get size of window
837 from X server.
838
839 * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
840 for MapNotify.
841
835bdaa7 842 * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
31fd7c5c 843 here or call change_frame_size. Just call flush_and_sync.
1ac9108a 844 (flush_and_sync): Reintroduce.
574c8efa 845
3f1c6666 8462009-07-01 Jan Djärv <jan.h.d@swipnet.se>
69b16610 847
31fd7c5c 848 * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
acd51077
JD
849
850 * xterm.c (x_handle_net_wm_state): Also look for sticky.
851 (x_term_init): Initialize Xatom_net_wm_state_sticky.
852
853 * frame.h: Declare Qsticky.
854
cad9ef74
JD
855 * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
856
857 * nsfns.m (ns_frame_parm_handlers): Ditto.
858
859 * frame.c: Declare Qsticky.
860 (frame_parms): Add sticky.
861
862 * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
863
864 * xterm.h: Declare x_set_sticky.
865
866 * xterm.c (x_set_sticky): New function.
867
69b16610
JD
868 * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
869 (xg_tool_bar_menu_proxy): Attach enter/leave events to
870 xg_tool_bar_proxy_help_callback.
3f1c6666
JD
871
872 * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
873
874 * frame.c: Qmaximized is new.
875 (x_set_frame_parameters): Do not handle fullscreen specially.
876 Only set width and height if explicitly set.
877 (x_set_fullscreen): Handle Qmaximized.
878 (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
879 (syms_of_frame): Initialize Qmaximized.
880
1ac9108a
SM
881 * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
882 Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
3f1c6666
JD
883
884 * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
31fd7c5c
JB
885 for Expose event. Add call to x_check_fullscreen for MapNotify event.
886 Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not
3f1c6666
JD
887 set gravity to NorthWestGravity when USE_GTK.
888 (set_wm_state): New function.
31fd7c5c 889 (do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED.
3f1c6666
JD
890 (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
891 (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
31fd7c5c 892 or the case when no window manager is running. That means remove calls
3f1c6666
JD
893 to x_real_positions and x_fullscreen_adjust.
894
895 * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
896 (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
897 flush_and_sync.
898 (xg_height_changed): New function.
899 (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
1ac9108a
SM
900 and gtk_window_set_policy. Set frame gravity after parsing the
901 geometry string.
3f1c6666
JD
902 (xg_update_frame_menubar, free_frame_menubar)
903 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
904 (update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
905 Remove calls to xg_frame_set_char_size.
906
fd503d99
KH
9072009-07-01 Kenichi Handa <handa@m17n.org>
908
909 * keyboard.c (decode_keyboard_code): New function.
910 (tty_read_avail_input): Decode the input bytes if necessary.
911
1ac9108a
SM
912 * coding.c (setup_coding_system):
913 Initialize coding->carryover_bytes to 0.
fd503d99
KH
914 (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
915 use Qno_conversion.
916
24ed93fb
YM
9172009-07-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
918
919 * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
920
99061dfc
CY
9212009-06-30 Chong Yidong <cyd@stupidchicken.com>
922
1ac9108a 923 * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
99061dfc 924
ff90fbde
JR
9252009-06-30 Jason Rumney <jasonr@gnu.org>
926
927 * w32term.c (w32_initialize): Use GetModuleHandle for library that
928 is already loaded.
929 Set user model ID if supported (bug#1849).
930
5f445726
JM
9312009-06-29 Jim Meyering <meyering@redhat.com>
932
933 Remove useless if-before-xfree test.
934 * nsfont.m (nsfont_close): Remove useless test.
935 * term.c (delete_tty): Likewise.
936 * w32.c (system_process_attributes): Likewise.
937 * w32font.c (w32font_close): Likewise.
938 * xfaces.c (x_free_gc): Likewise.
939 * xselect.c (buffer): Likewise.
940
b9607587
AS
9412009-06-28 Andreas Schwab <schwab@linux-m68k.org>
942
943 * process.c (send_process): Keep decoded string in a local
944 variable and protect it from GC. (Bug#3521)
945
89ba96f4
EZ
9462009-06-28 Eli Zaretskii <eliz@gnu.org>
947
948 * term.c (create_tty_output) [MSDOS]: #ifdef away.
949 (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
950
098a1589
CY
9512009-06-28 Chong Yidong <cyd@stupidchicken.com>
952
485422be
CY
953 * xdisp.c (start_display, handle_face_prop)
954 (move_it_vertically_backward, cursor_row_fully_visible_p)
1ac9108a
SM
955 (redisplay_window, try_window_id, produce_image_glyph):
956 Delete some #ifdef-ed out code chunks that are now obsolete.
485422be 957
098a1589
CY
958 * xterm.c (x_update_window_begin, x_new_focus_frame)
959 (x_scroll_bar_handle_click, handle_one_xevent)
960 (handle_one_xevent, XTread_socket, x_focus_on_frame)
961 (x_make_frame_visible, x_make_frame_invisible)
962 (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
963 code chunks that are now obsolete.
964
78c38319
MA
9652009-06-28 Michael Albinus <michael.albinus@gmx.de>
966
967 * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
968 xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
969 for hours, when optimzation is enabled.
970 (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
971 (xd_read_message): Make them static.
972
4189ed40
CY
9732009-06-27 Chuck Blake <cblake@pdos.csail.mit.edu> (tiny change)
974
975 * term.c (turn_on_face): Allow simultaneously bold and dim
976 terminal faces (Bug#3530).
977
cd9b5e16
CY
9782009-06-27 Chong Yidong <cyd@stupidchicken.com>
979
4e23bedb
CY
980 * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
981
cd9b5e16
CY
982 * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
983 truncation glyphs (Bug#3686).
984
07cc3c35
GM
9852009-06-27 Glenn Morris <rgm@gnu.org>
986
987 * m/pmax.h: Restore file, with only netbsd portions.
988
31fd7c5c 9892009-06-26 David Reitter <david.reitter@gmail.com>
25c5550f 990
cd9b5e16 991 * nsterm.m (keydown): Avoid infinite loop.
25c5550f 992
42d4a64f
KH
9932009-06-26 Peter Jolly <peter@jollys.org> (tiny change)
994
995 * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
996 the arg FORCE_SYMBOL.
997
930fe55b 9982009-06-25 Kenichi Handa <handa@m17n.org>
a71ccf3a
KH
999
1000 * fontset.c (fontset_find_font): When a usable rfont_def is found
1001 in a fallback font-group, make it the first element of the group.
1002
57ebc3fd
CY
10032009-06-24 Chong Yidong <cyd@stupidchicken.com>
1004
1005 * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
1006
f084f942
KH
10072009-06-24 Kenichi Handa <handa@m17n.org>
1008
1009 * fontset.c (fontset_get_font_group): Return 0 if no font-group is
1010 set for C.
1011 (fontset_font): Record the availability of a font for C both in
1012 the realized fontsets of the current one and the default one.
1013
2f686c87
DN
10142009-06-23 Dan Nicolaescu <dann@ics.uci.edu>
1015
1016 * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
1017 conditional, it is always defined on AIX.
1018
666e158e
MB
10192009-06-23 Miles Bader <miles@gnu.org>
1020
1021 * window.c (Vrecenter_redisplay): New variable.
1022 (syms_of_window): Initialize it.
1023 (Qtty): New extern declaration.
1024 (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
1025
c6da7cd2
JM
10262009-06-23 Jim Meyering <meyering@redhat.com>
1027
1ac9108a
SM
1028 * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
1029 Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
632c2030 1030 pointer dereferences are guaranteed to be valid.
c6da7cd2 1031
678dca3d
KH
10322009-06-23 Kenichi Handa <handa@m17n.org>
1033
74d75424
KH
1034 * emacs.c (main): Call init_font ().
1035
1036 * font.h (Vfont_log): Extern it.
1037 (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
1038
1039 * font.c (font_sort_entities, font_list_entities)
1040 (font_matching_entity, font_open_entity)
1041 (font_close_object): Change font_add_log to FONT_ADD_LOG.
1042 (Vfont_log): Delete static.
1043 (font_log_env_checked): Delete this variable.
1044 (font_add_log): Don't check font_log_env_checked.
1045 (font_deferred_log): Check Vfont_log.
1046 (init_font): New function.
1047
678dca3d
KH
1048 * ftfont.c: Change font_add_log to FONT_ADD_LOG.
1049
1050 * w32font.c: Change font_add_log to FONT_ADD_LOG.
1051
1052 * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
1053
1054 * xfont.c: Change font_add_log to FONT_ADD_LOG.
1055
1056 * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
1057 (face_for_char): Don't call font_deferred_log here.
1058 (font_for_char): Likewise.
1059
8a668709
CY
10602009-06-22 Chong Yidong <cyd@stupidchicken.com>
1061
9a01ee33
CY
1062 * w32term.c (x_draw_glyph_string): Use the glyph string's width
1063 rather than its background_width for drawing the overline and
1064 underline (Bug#489).
1065
1066 * xterm.c (x_draw_glyph_string): Use the glyph string's width
1067 rather than its background_width for drawing the overline and
1068 underline (Bug#489).
ec7c9926
CY
1069 (xg_default_icon_file): New variable.
1070 (syms_of_xterm): Initialize it to the Emacs SVG icon file.
1071 (x_bitmap_icon): Under GTK, use xg_default_icon_file.
9a01ee33 1072
8a668709
CY
1073 * xdisp.c (Qbefore_string, Qafter_string): Add externs.
1074 (load_overlay_strings): Remove externs.
1075 (fast_find_position): Function deleted.
1076 (mouse_face_from_buffer_pos): New function, based on
1077 fast_find_position. Correctly handle before-strings,
1078 display-strings, and after-strings (Bug#1220).
1079 (note_mouse_highlight): Use mouse_face_from_buffer_pos.
1080
4d4c02d8
CY
10812009-06-21 Chong Yidong <cyd@stupidchicken.com>
1082
1ac9108a 1083 * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
4d4c02d8
CY
1084 (move_it_in_display_line_to, move_it_in_display_line_to)
1085 (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
1086
70243478
CY
10872009-06-21 Chong Yidong <cyd@stupidchicken.com>
1088
1089 * Branch for 23.1.
1090
13087e59
JR
10912009-06-21 Jason Rumney <jasonr@gnu.org>
1092
1093 * w32term.c (keyboard_codepage): New static variable.
1094 (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
1095 (w32_read_socket) [WM_CHAR]: Use it to decode character
1096 input (bug#3237).
1097 (w32_initialize): Initialize it.
1098 (codepage_for_locale): New function.
1099
4735b74e
KR
11002009-06-20 Ken Raeburn <raeburn@raeburn.org>
1101
1102 * process.c (status_message): Pass Faset index argument as a lisp
1103 object, so as to work with USE_LISP_UNION_TYPE.
1104
0e727afa
YM
11052009-06-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1106
1107 * coding.c (Ffind_coding_systems_region_internal):
1108 Cache checked characters.
1109
cf299835
KH
11102009-06-18 Kenichi Handa <handa@m17n.org>
1111
1ac9108a 1112 * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
cf299835 1113
90f20d94
AS
11142009-06-18 Andreas Schwab <aschwab@redhat.com>
1115
1116 * xdisp.c (redisplay_internal): Check that the frame is still
1117 live after redisplay of its windows.
1118 (redisplay_windows): Check that the window is still live.
1119
7f1faf1c
KH
11202009-06-17 Andreas Schwab <schwab@linux-m68k.org>
1121
1122 * coding.c (detect_coding_utf_16): Fix previous change.
1123
cc13543e
KH
11242009-06-16 Kenichi Handa <handa@m17n.org>
1125
1126 * coding.c (detect_coding_utf_16): Fix the logic of rejecting
1127 UTF-16 by checking the dispersion of Eth and Oth bytes.
1128
977b85f4
AS
11292009-06-15 Andreas Schwab <schwab@linux-m68k.org>
1130
1131 * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
1132
66bd43d1
KH
11332009-06-15 Kenichi Handa <handa@m17n.org>
1134
1135 * process.c (status_message): Fix previous change. Be sure to
1136 decode a localized string.
1137
cb5ca9c5
YM
11382009-06-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1139
1140 * xterm.c (x_delete_terminal): Put previous change in #if 0 and
1141 add comment explaining why.
1142
ec7709ba 11432009-06-14 Sidney Markowitz <sidney@sidney.com>
5ee6f629 1144
ec7709ba 1145 * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
5ee6f629 1146
4b7f335c
AR
11472009-06-14 Adrian Robert <Adrian.B.Robert@gmail.com>
1148
1149 * nsfont.m (ns_attribute_value): Remove.
1150 (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
1151 (ns_has_attribute): Shrink the normal range.
1152 (ns_findfonts): Don't worry about requested spec in determining
1153 need for synthItal.
e41820ee 1154 (ns_get_covering_families): Retain scriptToFamilies.
4b7f335c 1155
73b26103
SZ
11562009-06-14 Seiji Zenitani <zenitani@mac.com>
1157
1158 * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
1159
5753e4da
KH
11602009-06-11 Kenichi Handa <handa@m17n.org>
1161
1162 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
1163 overhang for the static composition case.
1164
3561b671
KH
11652009-06-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1166
5753e4da
KH
1167 * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
1168 overhang for the automatic composition case.
1169
3561b671
KH
1170 * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
1171 composition case.
1172
852bbd41
CY
11732009-06-10 Chong Yidong <cyd@stupidchicken.com>
1174
1175 * xdisp.c (get_next_display_element): When handling wrap-prefix
1176 and line-prefix, treat \n as a control character (bug#3502).
1177
9903d1e6
KH
11782009-06-10 Kenichi Handa <handa@m17n.org>
1179
1180 * font.c (font_parse_family_registry): Fix for one-char foundry.
1181 (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
1182
0bcbaaaa
CY
11832009-06-09 Dmitry Dzhus <dima@sphinx.net.ru> (tiny change)
1184
1185 * process.c (status_message): Fix handling of multibyte signal
1186 string (Bug#3499).
1187
40aa3f13
JM
11882009-06-09 Jim Meyering <meyering@redhat.com>
1189
1f80c7e2
CY
1190 * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
1191 color name is missing.
40aa3f13 1192
72d51285
KH
11932009-06-09 Kenichi Handa <handa@m17n.org>
1194
1195 * charset.c (Fmap_charset_chars): In docstring, state clearly that
1196 FROM-CODE and TO-CODE are codepoints of CHARSET.
1197
c1d04d84
AR
11982009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
1199
1200 * nsterm.m (ns_use_system_highlight_color): Drop, unused.
1201
12022009-06-08 Adrian Robert <Adrian.B.Robert@gmail.com>
1203
1204 Changes to support :script/:lang/:otf in NS font driver.
1205 * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
1206 (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
1207 indicate not part of font driver interface, and change callers.
1208 (ns_get_family): Remove pointless null check.
1209 (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
1210 ns_spec_to_descriptor, ns_descriptor_to_entity.
1211 (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
1212 (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
1213 (ns_spec_to_descriptor, ns_descriptor_to_entity)
1214 (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
1215 (ns_get_req_script, ns_accumulate_script_ranges)
1216 (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
1217 New functions.
1218 (nsfont_list, nsfont_match): Use ns_findfonts.
1219 (nsfont_open): Use font descriptor instead of traits.
1220 (nsfont_draw): Handle "automatic" (lookup-table) compositions.
1221 (dump_glyphstring): Rename to ns_dump_glyphstring.
1222
c7eb9816
AR
1223 * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
1224
c1d04d84
AR
1225 * nsfns.m (Fns_popup_font_panel): Use shared font manager.
1226
1227 * fontset.c (fontset_from_font): Remove NS-specific code.
1228
ec7709ba 12292009-06-08 Peter Jones <pjones@pmade.com> (tiny change)
c1d04d84
AR
1230
1231 * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
1232 nonactive windows.
1233
31fd7c5c 12342009-06-08 Felix Mueller <felix@enqueue.eu> (tiny change)
c1d04d84 1235
1ac9108a 1236 * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
c1d04d84 1237
68852c13 12382009-06-08 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
e7777236
AR
1239
1240 * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
1241
6756cd1d
CY
12422009-06-07 Chong Yidong <cyd@stupidchicken.com>
1243
1244 * xdisp.c (move_it_in_display_line_to): On text-only terminals,
1245 account for the overflowing of newlines into the last glyph on the
1246 display line (Bug#3482).
1247
28bf482a
DR
12482009-06-05 David Reitter <david.reitter@gmail.com>
1249
ec7709ba
JB
1250 * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
1251 (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
28bf482a
DR
1252 Fns_selection_exists_p, Fns_selection_owner_p.
1253
fdb55376
JR
12542009-06-03 Jason Rumney <jasonr@gnu.org>
1255
1256 * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
1257 available. (Bug#3379)
1258
05129fbe
KH
12592009-05-29 Kenichi Handa <handa@m17n.org>
1260
1ac9108a
SM
1261 * coding.c (get_translation_table):
1262 Check Venable_character_translation.
05129fbe 1263
ec7709ba 12642009-05-26 David Reitter <david.reitter@gmail.com>
15891144 1265
ec7709ba
JB
1266 * nsterm.m (ns_raise_frame): Only raise frame if visible.
1267 (x_make_frame_visible): Move frame to front rather than calling
15891144 1268 ns_raise_frame().
ec7709ba 1269 (keyDown:): Do not swallow events that aren't re-sent if frame
15891144 1270 isn't key window.
ec7709ba 1271 (drawRect:): Do not set visibility/iconified flags because
15891144
DR
1272 drawRect may be called by NSView even if the frame is hidden.
1273
ec7709ba
JB
1274 * nsfns.m (Fx_create_frame): Follow other ports in
1275 determining visibility; default to t. Ensure async_visible is set.
15891144 1276
21f73755
EZ
12772009-05-23 Eli Zaretskii <eliz@gnu.org>
1278
1279 * dired.c (Ffile_attributes): Doc fix.
1280
34001e41
CY
12812009-05-22 Chong Yidong <cyd@stupidchicken.com>
1282
1283 * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
1284
46306a17
SM
12852009-05-21 Stefan Monnier <monnier@iro.umontreal.ca>
1286
1287 * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
1288 and xfont_scratch_props.
1289 (syms_of_xfont): Do it here instead.
1290 (xfont_find_ccl_program): Delete, unused.
1291 (xfont_open): Delete unused var `i'.
1292
ef6e0694
KH
12932009-05-21 Kenichi Handa <handa@m17n.org>
1294
1295 * fontset.c (Qlatin): Don't make it static.
1296
46306a17
SM
1297 * xfont.c (xfont_chars_supported, xfont_supported_scripts):
1298 New functions.
ef6e0694
KH
1299 (xfont_scripts_cache, xfont_scratch_props): New variables.
1300 (Qlatin, Vscalable_fonts_allowed): Extern it.
46306a17
SM
1301 (xfont_list_pattern): Argument changed. Callers changed.
1302 Check Vscalable_fonts_allowed. Check the support of a script.
ef6e0694
KH
1303 (xfont_list): Don't reject a font spec with :script property.
1304 (xfont_has_char): Fix setting of encoding.
1305 (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
1306 xfont_scratch_props.
1307
13082009-05-19 Kenichi Handa <handa@m17n.org>
1309
46306a17 1310 * font.c (font_sort_entities): Rename from font_sort_entites.
ef6e0694
KH
1311 Callers changed.
1312
13132009-05-18 Kenichi Handa <handa@m17n.org>
1314
1315 * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
1316
ac71ced7
SM
13172009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
1318
1319 * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
1320 (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
1321
1c6d1051
YM
13222009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1323
1324 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
1325 (x_delete_terminal): Dissociate resource database from display and
1326 then call XrmDestroyDatabase before closing display.
1327
9b9b779c
AR
13282009-05-18 Adrian Robert <Adrian.B.Robert@gmail.com>
1329
1330 * nsterm.m (ns_read_socket): Remove unused variable.
1564e649
AR
1331 * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
1332 whether selected frame is viable before raising it (based on patch
1333 by David Reitter), and improve commentary.
1334 * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
9b9b779c 1335
cccd42d5
KH
13362009-05-15 Kenichi Handa <handa@m17n.org>
1337
1338 * font.c (Ffont_spec): Check arguments.
1339
337fbd17
CY
13402009-05-14 Chong Yidong <cyd@stupidchicken.com>
1341
1342 * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
1343 weight when testing attributes (Bug#3282).
1344
47a6002f
JD
13452009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1346
1347 * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
1348 what we expect to get in the next ConfigureNotify event.
1349
9cb363db
YM
1350 * xftfont.c (xftfont_open): Make sure that Xrender extension is added
1351 before Xft one (Bug#1696).
1352
b9126609
CY
13532009-05-07 David Reitter <david.reitter@gmail.com>
1354
1355 * nsfns.m (Fx_display_planes): Compute bitplanes using
1356 NSBitsPerPixelFromDepth (Bug#3207).
1357
27a69fd9
CY
13582009-05-10 Chong Yidong <cyd@stupidchicken.com>
1359
1360 * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
1361
00f37552
TTN
13622009-05-10 Ulrich Mueller <ulm@gentoo.org>
1363
1364 * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
1365
2d82a920
DR
13662009-05-07 David Reitter <david.reitter@gmail.com>
1367
ec7709ba
JB
1368 * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
1369 Respect mouse face background.
2d82a920 1370
46b0d52d
DR
13712009-05-07 David Reitter <david.reitter@gmail.com>
1372
ec7709ba
JB
1373 * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
1374 Mouse movement/highlight: bracket drawing operations
46b0d52d
DR
1375 in ns_update_begin and ns_update_end.
1376
ce1b23bb
SM
13772009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1378
5996e1b7
SM
1379 * nsfns.m (ns_get_screen): Rewrite.
1380 Don't presume selected-frame is of type `ns'.
1381
ba98e3a0
SM
1382 * font.c (font_update_drivers): Sanity fallback to avoid disabling
1383 all drivers.
1384
ce1b23bb
SM
1385 * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
1386
bcda200f
YM
13872009-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1388
1389 * keyboard.h (add_user_signal): Fix typo in extern.
1390
1391 * lisp.h (add_user_signal): Remove extern.
1392
1393 * unexelf.c (unexec): Consider a section to precede the .bss section
1394 if its addresses overlap that of .bss.
1395 (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
1396 instead of dumping process.
1397
864660a2
SM
13982009-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
1399
1400 * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
1401
50da4e56
SM
14022009-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
1403
1404 * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
1405
51520a1a
DN
14062009-05-02 Dan Nicolaescu <dann@ics.uci.edu>
1407
1408 * xterm.c (x_handle_net_wm_state): Move declaration of lval before
1409 any statements.
1410
409ea3a1
AS
14112009-05-02 Andreas Schwab <schwab@linux-m68k.org>
1412
59c4c60f
AS
1413 * process.c (read_process_output): Make sure the current buffer is
1414 always restored.
1415
409ea3a1
AS
1416 * coding.c (record_conversion_result): Don't modify
1417 Vlast_code_conversion_error for successful result.
1418 (alloc_destination): Don't clobber conversion result. (Bug#1650)
1419
56f00ed2
KH
14202009-05-01 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
1421
1422 * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
896b1cc9 1423 (load_charset_map): Remove unnecessary code.
56f00ed2 1424
4491c9d2
DR
14252009-04-30 David Reitter <david.reitter@gmail.com>
1426
35f5b128 1427 * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
4491c9d2
DR
1428 through f24.
1429
6970f632
CY
14302009-04-30 Chong Yidong <cyd@stupidchicken.com>
1431
1432 * xfaces.c (face_at_buffer_position): New arg base_face_id.
1433
1434 * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
1435 face_at_buffer_position.
1436 (face_before_or_after_it_pos, get_next_display_element)
1437 (note_mouse_highlight): Update face_at_buffer_position call.
1438
1439 * term.c (term_mouse_highlight):
1440 * msdos.c (IT_note_mouse_highlight):
1441 * fontset.c (Finternal_char_font):
35f5b128 1442 * font.c (font_at, font_range): Update face_at_buffer_position call.
6970f632
CY
1443
1444 * dispextern.h (face_at_buffer_position): Update prototype.
1445
0c616f63
KH
14462009-04-30 Kenichi Handa <handa@m17n.org>
1447
35f5b128 1448 * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
0c616f63 1449
ad3aaf33
AS
14502009-04-29 Andreas Schwab <schwab@linux-m68k.org>
1451
1452 * callproc.c (Fcall_process): Fix GC protection. Make sure
1453 current buffer is always restored.
1454
c3c963a0
YM
14552009-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1456
1457 * atimer.c (init_atimer): Also clear stopped_atimers.
1458
1459 * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
1460
7e3386cb
YM
1461 * process.c (create_process): Clean up merger residues of
1462 2008-07-17 change.
1463
91f68422
CY
14642009-04-29 Ulrich Mueller <ulm@gentoo.org>
1465
1466 * lread.c (Vread_circle): New variable.
1467 (read1): Disable recursive read if Vread_circle is nil.
1468
24b34550
KH
14692009-04-29 Kenichi Handa <handa@m17n.org>
1470
1471 * fontset.h (set_default_ascii_font): Delete extern.
1472
1473 * fontset.c (set_default_ascii_font): Delete this unused function.
1474
1475 * frame.c (x_set_font): When ARG is a font-object, check if the
1476 font-object matches with the ASCII font-spec of the frame's
9c358bda 1477 fontset. If not, create a new fontset for the frame. (Bug #3075)
24b34550 1478
77bf07e1
AS
14792009-04-28 Andreas Schwab <schwab@linux-m68k.org>
1480
1481 * fns.c (Flocale_info): Protect vector from GC during decoding.
1482
1483 * process.c (Fstart_process): Protect argv strings from GC during
1484 encoding.
1485
2c55aacf
AS
14862009-04-27 Andreas Schwab <schwab@linux-m68k.org>
1487
1488 * sysdep.c: Include <ctype.h>.
1489
b892d3c9
DR
14902009-04-27 David Reitter <david.reitter@gmail.com>
1491
35f5b128 1492 * nsfont.m (nsfont_open): Remove unused variable shrink.
b892d3c9
DR
1493 Remove commented-out code.
1494
9d0644c4
JB
14952009-04-26 Johan Bockgård <bojohan@gnu.org>
1496
1497 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
1498
b7053016
JR
14992009-04-25 Jason Rumney <jasonr@gnu.org>
1500
1501 * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
1502
4e8231f3
YM
15032009-04-25 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1504
1505 * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
1506 Swap bytes in short integer if fringe bitmap width > 8.
1507
493dcf2c
KH
15082009-04-23 Kenichi Handa <handa@m17n.org>
1509
1510 * xfaces.c (Fx_list_fonts): If a font size is specified in
1511 PATTERN, set it in returned scalable fonts.
1512
401e9e57
CY
15132009-04-22 Chong Yidong <cyd@stupidchicken.com>
1514
708e05dc
CY
1515 * keyboard.c (Fset_input_meta_mode): Doc fix.
1516
1517 * dispnew.c (Fsend_string_to_terminal): Doc fix.
1518
1ac9108a 1519 * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
708e05dc
CY
1520
1521 * coding.c (Fterminal_coding_system): Doc fix.
1522
1523 * xfns.c (Fx_display_grayscale_p, Fx_display_pixel_width)
1524 (Fx_display_pixel_height, Fx_display_planes)
1525 (Fx_display_color_cells, Fx_server_max_request_size)
1526 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
1527 (Fx_display_mm_height, Fx_display_mm_width)
1528 (Fx_display_backing_store, Fx_display_visual_class)
1ac9108a
SM
1529 (Fx_display_save_under, Fx_close_connection, Fx_synchronize):
1530 Doc fixes, replacing "terminal id" with "terminal object".
708e05dc
CY
1531 (check_x_display_info): Handle terminal objects instead of
1532 terminal ids.
1533
401e9e57
CY
1534 * term.c (Ftty_display_color_p, Ftty_display_color_cells)
1535 (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
1ac9108a
SM
1536 (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
1537 Doc fixes, replacing "terminal id" with "terminal object".
401e9e57 1538
df80c7f0
KH
15392009-04-21 Kenichi Handa <handa@m17n.org>
1540
5a8f12af 1541 * font.c (font_load_for_lface): Cancel previous change (bug#2994).
c0a6070d 1542 (font_score): Check AVGWIDTH too.
908567ef 1543
df80c7f0
KH
1544 * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
1545 worst case.
1ac9108a
SM
1546 (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
1547 (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
df80c7f0 1548
705af33f
JR
15492009-04-19 Jason Rumney <jasonr@gnu.org>
1550
1551 The following changes fix Bug#3005 for wide glyphs on each platform,
b71ac3dd 1552 without reintroducing Bug#1258 for stretch glyphs.
705af33f
JR
1553
1554 * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
1555 BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR using
1556 get_phys_cursor_geometry.
1557
b71ac3dd 1558 * w32term.c (x_draw_bar_cursor): Limit cursor width differently
705af33f
JR
1559 for BAR_CURSOR and HBAR_CURSOR. Calculate width of HBAR_CURSOR
1560 using get_phys_cursor_geometry.
1561
1562 * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
1563 correctly calculated.
1564
dc2933eb
JD
15652009-04-19 Jan Djärv <jan.h.d@swipnet.se>
1566
1ac9108a
SM
1567 * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
1568 Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
dc2933eb
JD
1569 (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
1570 is deprecated.
1571
973e7849
AS
15722009-04-18 Andreas Schwab <schwab@linux-m68k.org>
1573
1574 * font.c (font_put_frame_data): Use xfree instead of free.
1575
314d66f4
JB
15762009-04-17 Juanma Barranquero <lekktu@gmail.com>
1577
1578 * w32font.c (Qja, Qko): Remove declarations.
1579 (syms_of_w32font): Don't DEFSYM them.
1580
cf702558
CY
15812009-04-17 Chong Yidong <cyd@stupidchicken.com>
1582
1583 * font.c (Qja, Qko): Move definitions here from ftfont.c.
1584
1585 * font.h (Qja, Qko): Extern them.
1586
1587 * ftfont.c (Qja, Qko): Remove declarations.
1588
1589 * xfont.c (Qja, Qko): Remove declarations.
1590
b50504f5
KH
15912009-04-17 Kenichi Handa <handa@m17n.org>
1592
bde25748
KH
1593 * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
1594 string from a vector to handle Latin-1 characters correctly.
1595
b50504f5
KH
1596 * ftfont.c (ftfont_pattern_entity): Return a newly allocated
1597 entity even if the cache hits.
1598
f4646fff
AS
15992009-04-16 Andreas Schwab <schwab@linux-m68k.org>
1600
1601 * search.c (boyer_moore): Use zero as marker value for a possible
6340c70e 1602 match instead of depending on overflow behavior. (Bug#2844)
f4646fff 1603
e7deaab0
AS
1604 * search.c: Use EMACS_INT for buffer positions. Add prototypes.
1605 * lisp.h: Adjust prototypes.
1606
0a0e7d49
CY
16072009-04-16 Chong Yidong <cyd@stupidchicken.com>
1608
1609 * keyboard.c (adjust_point_for_property): Disable 2009-02-12
1610 change (Bug#3003).
1611
3c908a57
KH
16122009-04-16 Kenichi Handa <handa@m17n.org>
1613
1ac9108a 1614 * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
bd0af90d
KH
1615
1616 * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
1617 adstyle.
1618
1619 * ftfont.c (Qja, Qko): Don't make them static.
1620 (enum ftfont_cache_for): New enum.
1621 (fc_charset_table): Undo the previous change.
1622 (ftfont_get_latin1_charset): Delete it.
1ac9108a
SM
1623 (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
1624 Set FONT_SIZE_INDEX of the entity to 0 for a scalable font. For a
bd0af90d
KH
1625 non-scarable font, try to get AVERAGE_WIDTH.
1626 (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
1627 Change ft_face_cache from a list of a hash-table. Don't check
1628 `ja' and `ko' adstyle here.
1629 (ftfont_get_fc_charset): Call ftfont_lookup_cache with
1630 FTFONT_CACHE_FOR_CHARET.
1631 (ftfont_get_charset): Undo the previous change.
1ac9108a 1632 (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
bd0af90d
KH
1633 (ftfont_close): Likewise.
1634 (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
1635
1636 * font.c (font_sort_entites): Change the meaning of the arg
1637 BEST-ONLY. Don't optimize for VEC of lenght 1.
1638 (font_select_entity): Just return the value of font_sort_entites.
1639
1640 * xfaces.c (merge_face_vectors): Reflect font properties in
1641 to[LFACE_FONT_INDEX] to the other face attributes. Don't call
1642 font_clear_prop if a face attribute doesn't change.
1643
3c908a57
KH
1644 * charset.h (charset_ksc5601): Extern it.
1645
1646 * charset.c (charset_ksc5601): New variable.
1647 (Fdefine_charset_internal): Set charset_ksc5601.
1648 (init_charset_once): Initialize charset_ksc5601 to -1.
1649
d65859c3
DN
16502009-04-15 Dan Nicolaescu <dann@ics.uci.edu>
1651
1652 * fileio.c (history_delete_duplicates): Remove unused declaration.
1653
1654 * callint.c (history_delete_duplicates): New declaration.
1655 (Fcall_interactively): Remove command history duplicates when
1656 history_delete_duplicates is true.
1657
3ba010e5
EZ
16582009-04-14 Eli Zaretskii <eliz@gnu.org>
1659
1660 * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
1661
06f19b91
KH
16622009-04-14 Kenichi Handa <handa@m17n.org>
1663
1664 * font.c (Ffont_info): Fix docstring. Fix the second element of
1665 the returned value (bug#2949).
1666
2cce8bfc
CY
16672009-04-14 Chong Yidong <cyd@stupidchicken.com>
1668
1669 * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
1670
d156542d
KH
16712009-04-14 Kenichi Handa <handa@m17n.org>
1672
1673 * xfont.c (xfont_has_char): The font has C if C is ASCII and the
1674 encoding charset is ascii_compatible.
1675
1676 * charset.c (Fdefine_charset_internal): Make charset
1677 ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
1678 code_offset is 0, and covers all ASCII characters.
1679
86fa089e
SM
16802009-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
1681
1682 * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
1683 (ns_string_to_pasteboard_internal):
1684 * nsmenu.m (process_dialog):
1685 * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
1686 * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
1687 * lisp.h (Fx_load_color_file): Declare.
1688
a8a3728b
KH
16892009-04-13 Kenichi Handa <handa@m17n.org>
1690
1ac9108a 1691 * font.c (font_delete_unmatched): Preserve the order of list elements.
a8a3728b
KH
1692 (font_select_entity): Suppress the code to optimize for the same
1693 kind of fonts.
1694 (font_load_for_lface): Get a font that supports at least ASCII
1695 characters.
1696
1697 * ftfont.c (Qja, Qko): New variables.
1698 (fc_charset_table): Delete uniquifier data for iso8859-1.
1699 (ftfont_get_latin1_charset): New function.
1700 (get_adstyle_property): New function.
1701 (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
1702 bitmap fonts.
1703 (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
1704 Delete iso-8859-1 range from the charset of fonts whose adstyle is
1705 `ko' or `ja'.
1706 (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
1ac9108a 1707 (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
a8a3728b
KH
1708 (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
1709 property.
1710 (ftfont_open): Call ftfont_lookup_cache with ENTITY.
1711 (syms_of_ftfont): DEFSYM Qja and Qko.
1712
483670b5
KH
17132009-04-09 Kenichi Handa <handa@m17n.org>
1714
12b55765
KH
1715 * charset.c (map_charset_chars): For a charset of `superset'
1716 method, fix calculation of code range.
1717
483670b5
KH
1718 * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
1719 from the list of extra properties.
1720 (font_clear_prop): Be sure to delete `:name' font property.
1721
57d3b93b
KH
17222009-04-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1723
b4b2c2ca
YM
1724 * dispnew.c (redraw_overlapping_rows): Fix detection of
1725 overlapping for topmost and bottommost rows.
1726
1ac9108a 1727 * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
57d3b93b 1728
472c3609
JR
17292009-04-06 Jason Rumney <jasonr@gnu.org>
1730
1731 * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
1732
ab193662
KH
17332009-04-06 Kenichi Handa <handa@m17n.org>
1734
1735 * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
1736
1737 * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
1738
0c26f026
KH
17392009-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1740
1741 * ftfont.c (ftfont_open): Fix checking of the return value of
1742 FT_Load_Char. Fix setting font->underline_thickness.
1743
e173bbce
CY
17442009-04-04 Chong Yidong <cyd@stupidchicken.com>
1745
1746 * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
1747 (Fterminal_parameters, Fterminal_parameter)
1748 (Fset_terminal_parameter): In doc string, refer to terminal
1749 objects rather than terminal ids.
1750
693a2698
EZ
17512009-04-04 Eli Zaretskii <eliz@gnu.org>
1752
1753 * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
1754 ret_lim_data. (Bug#2867)
1755
d5221487
CY
17562009-04-03 Chong Yidong <cyd@stupidchicken.com>
1757
1758 * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
1759 so they don't get wider than the window, matching 2006-01-23
1760 change to the partner function in xdisp.c (Bug#2800).
1761
223509a3
KH
17622009-04-03 Kenichi Handa <handa@m17n.org>
1763
1764 * print.c (print_object): Make each lowest sub_char_table start a
1765 new line (Bug#2866).
1766
74fcd0b1
KH
17672009-04-02 Kenichi Handa <handa@m17n.org>
1768
1769 * fontset.c (fontset_font): Record no-font when a fontset
1770 explicitly tells not to try another font-specs.
1771
c542407d
SM
17722009-03-30 Pierre Poissinger <pierre.poissinger@gmail.com> (tiny change)
1773
1774 * charset.c (map_charset_for_dump): Add missing UNGCPRO.
1775
e3869731
KH
17762009-03-30 Kenichi Handa <handa@m17n.org>
1777
d8d2f142
KH
1778 * fontset.c (fontset_from_font): Specify only registry in a
1779 font-spec for all characters supported by that registry.
1780
e3869731
KH
1781 * ftfont.c: Fix previous change. Define ftfont_variation_glyphs
1782 even if HAVE_M17N_FLT is not defined.
1783
5da5f805
CY
17842009-03-29 Sebastian Rose <sebastian_rose@gmx.de> (tiny change)
1785
1786 * ftfont.c: Conditionalize prototyping and use of
1787 ftfont_variation_glyphs.
1788
ab226c50
SM
17892009-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1790
9628fed7
SM
1791 * frame.c (delete_frame): Work around compiler bug.
1792
1793 * editfns.c (general_insert_function): Adjust to insdel.c changes.
1794 * insdel.c (prepare_to_modify_buffer, signal_before_change):
1795 Some more EMACS_INT.
1796 * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
1797
1798 * xdisp.c (dump_glyph): Fix typo.
1799
ae19ba7c
SM
1800 * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
1801 (adjust_markers_gap_motion, adjust_markers_for_delete)
1802 (adjust_markers_for_insert, adjust_point)
1803 (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
1804 (make_gap, copy_text, count_size_as_multibyte, insert)
1805 (insert_and_inherit, insert_before_markers)
1806 (insert_before_markers_and_inherit, insert_1)
1807 (count_combining_before, count_combining_after, insert_1_both)
1808 (insert_from_string, insert_from_string_before_markers)
1809 (insert_from_string_1, insert_from_gap, insert_from_buffer)
1810 (insert_from_buffer_1, adjust_after_replace)
1811 (adjust_after_replace_noundo, adjust_after_insert, replace_range)
1812 (replace_range_2, del_range, del_range_1, del_range_byte)
1813 (del_range_both, del_range_2, modify_region)
1814 (prepare_to_modify_buffer, signal_before_change)
1815 (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
1816 for buffer positions and sizes.
1817 * lisp.h: Adjust prototypes accordingly.
1818
1819 * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
1820 (non_regular_inserted, non_regular_nbytes, read_non_regular)
1821 (Finsert_file_contents): Use EMACS_INT for buffer positions.
1822
ab226c50
SM
1823 * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
1824
46dfb8fb
JD
18252009-03-27 Jan Djärv <jan.h.d@swipnet.se>
1826
1827 * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
1828 lines and columns so we keep the same pixel height and width.
1829
1830 * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
1831 the property _NET_WM_STATE has changed.
46dfb8fb
JD
1832 (x_handle_net_wm_state): New function to update frame parameter
1833 fullscreen.
1834 (x_term_init): Initialize atoms for _NET_WM_STATE.
1835
1836 * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
1837
d347e494
SM
18382009-03-27 Kevin Ryde <user42@zip.com.au>
1839
1840 * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
1841 Gpm_GetEvent as an error that justifies closing the filedescriptor.
1842 * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
1843 (Fgpm_mouse_stop): Pass that new parameter.
1844 * termhooks.h (close_gpm): Adjust prototype.
1845
84db11d6
SM
18462009-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
1847
c95a5008
SM
1848 * lisp.h (Fx_focus_frame): Declare.
1849
84db11d6
SM
1850 * callint.c (Fcall_interactively): For '^' just delegate the work to
1851 handle-shift-selection.
1852 (syms_of_callint): Move declaration of shift-select-mode to simple.el.
1853
0a1958d6
CY
18542009-03-24 Chong Yidong <cyd@stupidchicken.com>
1855
0bfdff23
CY
1856 * editfns.c (Ffloat_time): Doc fix (Bug#2768).
1857
0a1958d6
CY
1858 * data.c (Qinteractive_form): New variable.
1859 (Finteractive_form): Use it.
1860
1861 * eval.c (Fcommandp): Use Qinteractive_form.
1862
58aec0d6
JR
18632009-03-24 Jason Rumney <jasonr@gnu.org>
1864
1865 * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
1866 Calculate total size precisely. Decode environment variables
1867 before substituting. (Bug#38)
1868
553dd618
KH
18692009-03-24 Kenichi Handa <handa@m17n.org>
1870
1871 * font.c (find_font_encoding): Return Qnil for unsupported
639239cf 1872 encoding (Bug#2722).
553dd618 1873
c39ea606
JD
18742009-03-23 Jan Djärv <jan.h.d@swipnet.se>
1875
1876 * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
1877 that gdpy is set.
1878
bc9b2b5e
AM
18792009-03-22 Alan Mackenzie <acm@muc.de>
1880
1881 * callint.c (Finteractive): Clarify the doc string - even
1882 promptless elements need \n separators.
1883
9f995a76
JR
18842009-03-22 Jason Rumney <jasonr@gnu.org>
1885
1886 * w32term.c (syms_of_w32term): Doc fix for
1887 x-use-underline-position-properties.
1888
22749e9a
EZ
18892009-03-21 Eli Zaretskii <eliz@gnu.org>
1890
1891 * w32.c (getpwuid): Change argument type to unsigned.
1892 (struct w32_id): Change type of `rid' member to unsigned.
1893 (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
1894 argument ID to unsigned. All callers changed.
1895 (getuid, geteuid, getgid, getegid): Change return type to unsigned.
1896
e00553bf
EZ
18972009-03-20 Eli Zaretskii <eliz@gnu.org>
1898
1899 * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
1900 negative, produce a float value.
1901
1902 * dired.c (make_uid, make_gid): New functions.
1903 (Ffile_attributes): Use them to avoid negative UID and GID.
1904
f761d6b6
JB
19052009-03-20 Juanma Barranquero <lekktu@gmail.com>
1906
1907 * keyboard.c (Fcurrent_idle_time): Reflow docstring.
1908 (syms_of_keyboard) <command-hook-internal, input-method-function>:
1909 Fix typos in docstrings.
1910
d507f8d7
KH
19112009-03-19 Kenichi Handa <handa@m17n.org>
1912
1913 * fontset.c (Fset_fontset_font): When a spec of ASCII font is
f761d6b6
JB
1914 changed, use font_load_for_lface to get a new font object.
1915 Call free_realized_fontset after handling ASCII font change.
d507f8d7
KH
1916
1917 * frame.c (x_set_font): Handle the case that ARG is a cons.
1918
c68845e0
GM
19192009-03-19 Glenn Morris <rgm@gnu.org>
1920
1921 * fileio.c (Fsubstitute_in_file_name): Doc fix.
1922
bfa49dd1
CY
19232009-03-19 Chong Yidong <cyd@stupidchicken.com>
1924
1925 * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
1926
8458d4c1
KH
19272009-03-19 Kenichi Handa <handa@m17n.org>
1928
1929 * charset.c (load_charset_map_from_file): When a mapfile can't be
1930 loaded, signal an error.
1931
78e7d1fe
EZ
19322009-03-18 Eli Zaretskii <eliz@gnu.org>
1933
1934 * dired.c (Ffile_attributes): Make sure UID and GID are always
1935 positive, even if the value is too large for a positive EMACS_INT.
1936 Doc fix.
1937
1938 * editfns.c (Fuser_login_name): Support float arguments. Doc fix.
1939
5da9fdfa
YM
19402009-03-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1941
1942 * xmenu.c (xdialog_show): Move Fredisplay call ...
1943 (Fx_popup_dialog): ... here.
1944
7519c40d
SM
19452009-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
1946
1947 * dired.c (file_name_completion): Disable the first optimization just
1948 installed, since it is not implemented correctly.
1949
2cd298e2
SM
19502009-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
1951
1952 * dired.c (file_name_completion): Check completion-ignored-extensions
c95a5008 1953 only if the entry can affect bestmatch.
2cd298e2
SM
1954 Stop the search early, as Ftry_completion already does.
1955
48d37adf
CY
19562009-03-17 Chong Yidong <cyd@stupidchicken.com>
1957
e10c9c93 1958 * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
48d37adf 1959
9286b16a
CY
19602009-03-15 Chong Yidong <cyd@stupidchicken.com>
1961
1962 * keyboard.c (parse_menu_item): Don't display remappings as menu
1963 equivalent bindings (Bug#788).
1964
f7b146dc
JR
19652009-03-15 Jason Rumney <jasonr@gnu.org>
1966
1967 * w32term.h (WM_EMACS_PAINT): New message.
1968 * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
1969 * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
1970 before passing to lisp thread. (Bug#950)
1971
f761d6b6 19722009-03-14 David Reitter <david.reitter@gmail.com>
c6c62e78 1973
d93f9575
CY
1974 * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
1975 variable as it was never reset.
1976 (ns_term_init): Remove initialization of Lisp-settable defaults
1977 and ns_expand_space.
1978 (-setPanelFromDefaultValues): Remove ns_expand_space.
1979 (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
1980 * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
c6c62e78
DR
1981 i.e. no additional spacing, similar to Carbon port.
1982
d93f9575
CY
1983 * nsterm.h: Define KEY_NS_SHOW_PREFS key.
1984 * nsfns.m (ns-popup-prefs-panel): Remove.
c6c62e78 1985
305018ec
JD
19862009-03-14 Jan Djärv <jan.h.d@swipnet.se>
1987
1988 * sound.c (alsa_configure): Remove call to deprecated
1989 snd_pcm_sw_params_set_xfer_align.
1990
f761d6b6 19912009-03-14 Stephen Berman <stephen.berman@gmx.net>
4a02423f
JD
1992
1993 * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
1994 after clicking in a detached tool bar.
1995 (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
1996
46e722a9
SM
19972009-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
1998
348db3dd
SM
1999 * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
2000 int/Lisp_Object mixup).
46e722a9 2001
a3d16f39
KH
20022009-03-13 Kenichi Handa <handa@m17n.org>
2003
2004 * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
fe24f56a 2005 Handle NAME nil and t correctly. Callers changed.
a3d16f39
KH
2006 (font_def_arg, add_arg, from_arg, to_arg): Delete them.
2007 (set_fontset_font): Change ARG to a vector. Handle range_list in
2008 ARG correctly.
2009 (Fset_fontset_font): Fix the case that TARGET is both a script
fe24f56a 2010 name and charset name. Adjust the arg to set_fontset_font for
a3d16f39
KH
2011 the above change.
2012 (fontset_from_font): Fix previous change.
fe24f56a 2013 (Ffontset_info): Adjust for the 2008-07-09 change of fontset
a3d16f39
KH
2014 entry. If FONTSET is the default fontset, don't set the extra
2015 slot of the returning char-table.
2016
b066e6b6
JB
20172009-03-12 Juanma Barranquero <lekktu@gmail.com>
2018
2019 * nsfns.m (Fx_close_connection): Doc fix.
2020 (Fns_do_applescript): Reflow docstring.
2021 (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
2022 (Fx_display_pixel_width, Fx_display_pixel_height)
2023 (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
2024 Fix typos in docstrings.
2025 (Fns_set_alpha): Fix typos in error messages.
2026
d472514e 20272009-03-12 David Reitter <david.reitter@gmail.com>
d6220c13 2028
d472514e 2029 * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
d6220c13
DR
2030 non-key system events on NS. Formerly, NON_ASCII_KEYSTROKE_EVENT
2031 were used for such events.
2032
d472514e
JB
2033 * nsterm.m (newFrame, openFile, fulfillService, changeFont)
2034 (toggleToolbar, performDragOperation, runHelp): Use it.
d6220c13 2035
d472514e 2036 * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
d6220c13
DR
2037 NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
2038
fb930676
KH
20392009-03-11 Kenichi Handa <handa@m17n.org>
2040
ff85581a
KH
2041 * font.h (font_open_by_spec): Extern it.
2042
c50b7e98
KH
2043 * font.c (font_open_by_spec): New function.
2044 (font_open_by_name): Use font_open_by_spec.
2045
fb930676
KH
2046 * frame.c (x_set_font): When ARG is a font-object, don't alter the
2047 fontset of the frame.
2048
2049 * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
2050 modify the default font of frames that use this fontset.
2051 (num_auto_fontsets): New variable.
2052 (fontset_from_font): Use num_auto_fontsets to decide a fontset
2053 name. Be sure to set FONTSET_ASCII to the correct font name.
2054 (update_auto_fontset_alist): New function.
2055
df4e8455
JB
20562009-03-11 Juanma Barranquero <lekktu@gmail.com>
2057
2058 * makefile.w32-in: Update dependencies.
2059
0a375797
AR
20602009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2061
2062 * nsfns.m (syms_of_nsfns): Remove Qbuffered.
2063
61313fa3
SM
20642009-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
2065
2066 * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
2067
b55103fb
CY
20682009-03-10 Chong Yidong <cyd@stupidchicken.com>
2069
2070 * lread.c (Feval_buffer): Doc fix.
2071
dde2559c
KH
20722009-03-09 Kenichi Handa <handa@m17n.org>
2073
2074 * charset.c (Qfile_name_handler_alist): Extern it.
2075 (load_charset_map_from_file): Temporarily bind
2076 `file-name-handler-alist' to nil while calling openp. (Bug#2435)
2077
df4e8455 20782009-03-06 Aaron Ecay <aaronecay@gmail.com> (tiny change)
340e08a4 2079
47f588bb
GM
2080 * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
2081 not two, and use NSRectFill instead of NSDrawGroove. (Bug#2352)
340e08a4 2082
4ddf94bd
AR
20832009-03-06 Adrian Robert <Adrian.B.Robert@gmail.com>
2084
4c9bdfc2
AR
2085 * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
2086 (x_set_window_size): Change back to calculated method of setting
2087 toolbar height under Cocoa. (Bug#2546)
4ddf94bd
AR
2088 (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
2089 (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
2090
fe41ae9e
AR
2091 * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
2092
4c9bdfc2
AR
2093 * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
2094 accelerator in parens under GNUstep.
2095
825d0875
KH
20962009-03-06 Kenichi Handa <handa@m17n.org>
2097
2098 These changes are to detect incorrect composition sequence without
f3b3be74 2099 looking ahead the source. (Bug#2370)
825d0875
KH
2100
2101 * coding.h: Include "composite.h".
2102 (enum compisition_state): New enum.
2103 (struct compisition_status): New struct.
2104 (struct iso_2022_spec): New member cmp_status.
2105 (struct emacs_mule_spec): New struct.
2106 (struct coding_system): New members ctext_extended_segment_len and
2107 embedded_utf_8. Change the union member
2108 spec.emacs_mule_full_support to spec.emacs_mule.
2109
2110 * coding.c (CODING_ISO_CMP_STATUS): New macro.
2111 (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
98a326f7 2112 (MAX_ANNOTATION_LENGTH): Define to 5.
825d0875
KH
2113 (ADD_COMPOSITION_DATA): New arg nbytes.
2114 (emacs_mule_char): New arg cmp_status.
2115 (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
2116 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
2117 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
2118 (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
2119 (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
2120 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
2121 (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
2122 (EMACS_MULE_COMPOSITION_END): New macro.
2123 (emacs_mule_finish_composition): New function.
2124 (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
2125 (decode_coding_emacs_mule): Avoid long looking ahead while
2126 handling composition.
2127 (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
2128 (ENCODE_COMPOSITION_RULE): New macro.
2129 (finish_composition): New function.
2130 (MAYBE_FINISH_COMPOSITION): Call finish_composition.
2131 (DECODE_COMPOSITION_START): New implementation.
2132 (DECODE_COMPOSITION_END): Likewise.
2133 (STORE_COMPOSITION_RULE): New macro.
2134 (decode_coding_iso_2022): Avoid long looking ahead while handling
2135 composition, CTEXT extended segment, and embedded UTF-8.
2136 (setup_coding_system): For a coding of type iso-2022, reset
2137 CODING_ISO_EXTSEGMENT_LEN (coding) and
2138 CODING_ISO_EMBEDDED_UTF_8 (coding).
2139 (get_translation): Delete arguments last_block, from_nchars,
2140 to_nchars. Callers changed.
2141 (produce_chars): Don't modify charbuf. Adjusted for the change of
2142 get_translation.
98a326f7 2143 (produce_composition): Adjust for the new annotation sequence.
825d0875 2144 (handle_composition_annotation): Likewise.
98a326f7 2145 (consume_chars): Adjust for the change of get_translation.
825d0875 2146
ccbc4452
AR
21472009-03-05 Adrian Robert <Adrian.B.Robert@gmail.com>
2148
4ddf94bd 2149 * nsterm.m (ns_select): Shortcircuit if reentrant call. (Bug#2564)
ccbc4452 2150
988a7ddb
KH
21512009-03-05 Kenichi Handa <handa@m17n.org>
2152
2153 * font.c (font_select_entity): New function.
2154 (font_find_for_lface): Use font_select_entity to select a font.
2155
2156 * fontset.c (fontset_find_font): If a font found without
a8a3728b 2157 restricting to the characters C doesn't support C, try to find a
988a7ddb
KH
2158 font with C restriction.
2159
98a326f7 21602009-03-04 Nikolaj Schumacher <me@nschum.de>
2f462d73 2161
be1bce46 2162 * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
2f462d73 2163
10ea2b82
JR
21642009-03-04 Jason Rumney <jasonr@gnu.org>
2165
2c93b248 2166 * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
4891ba1d 2167 characters that have already been read. (Bug#2569)
2c93b248 2168
10ea2b82
JR
2169 * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
2170 Log an error message if check_image_size failed.
2171 (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
4891ba1d 2172 (gs_load): Mention max-image-size in size error message. (Bug#2560)
10ea2b82 2173
71a0c011
EZ
21742009-03-02 Eli Zaretskii <eliz@gnu.org>
2175
2176 * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
2177 when decoding process output.
2178
2f63bba8
RS
21792009-03-01 Richard M Stallman <rms@gnu.org>
2180
2181 * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
2182
2183 * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
2184
0a9564cb
EZ
21852009-02-28 Eli Zaretskii <eliz@gnu.org>
2186
2187 * coding.c (decode_coding_utf_8, decode_coding_utf_16)
2188 (decode_coding_emacs_mule, decode_coding_iso_2022)
2189 (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2190 (decode_coding_raw_text, decode_coding_charset)
2191 (setup_coding_system, decode_eol, decode_coding, consume_chars):
2192 Honor inhibit-eol-conversion. (Bug #2186)
2193
449148b3
JR
21942009-02-28 Jason Rumney <jasonr@gnu.org>
2195
2196 * coding.c (detect_coding_charset): If not checking latin extra,
2197 fail on characters between 0x80 and 0xA0. (Bug#2354)
2198
a4aee864
EZ
21992009-02-28 Eli Zaretskii <eliz@gnu.org>
2200
2201 * coding.c (detect_coding_charset): Fix change from 2008-10-21.
2a1573ff 2202 Also, check iso-latin-*, not only iso-8859-*. (Bug#2497)
a4aee864 2203
d88bee5a
GM
22042009-02-27 Glenn Morris <rgm@gnu.org>
2205
2206 * callint.c (Finteractive): Doc fix.
2207
a808f22d
KH
22082009-02-27 Kenichi Handa <handa@m17n.org>
2209
2210 * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
2211
caf8d60c
CY
22122009-02-27 Chong Yidong <cyd@stupidchicken.com>
2213
2214 * font.c (font_style_to_value): Set value for unknown symbols to
2215 100 instead of 255.
b61137ea
CY
2216 (weight_table, slant_table, width_table): Treat "unspecified" as
2217 the default value.
caf8d60c 2218
1a0de25c
JB
22192009-02-26 Juanma Barranquero <lekktu@gmail.com>
2220
2221 * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
2222
8fc45744
JB
22232009-02-25 Juanma Barranquero <lekktu@gmail.com>
2224
107bd7d1
JB
2225 * lread.c (Fload): Stop checking Vloads_in_progress and signal
2226 error as soon as a recursive load is detected.
8fc45744 2227
f097e223
AR
22282009-02-24 Adrian Robert <Adrian.B.Robert@gmail.com>
2229
2230 * nsterm.m (ns_ring_bell): Convert rect to window coordinates
2231 before caching.
2232
8810a12f
KH
22332009-02-24 Kenichi Handa <handa@m17n.org>
2234
2235 * fontset.c (fontset_find_font): Fix the condition for checking
2236 unavailable font.
2237
2c7d1565
GM
22382009-02-24 Glenn Morris <rgm@gnu.org>
2239
2240 * xfaces.c (Finternal_set_font_selection_order): Remove leading
2241 whitespace that confuses documentation.
2242
a20878b6
MB
22432009-02-23 Miles Bader <miles@gnu.org>
2244
2245 * process.c (Flist_system_processes, Fprocess_attributes)
2246 (syms_of_process): Rename `system-process-attributes' to
2247 `process-attributes'.
2248
b3b58c01
AS
22492009-02-22 Andreas Schwab <schwab@linux-m68k.org>
2250
1b3b981b
AS
2251 * coding.h (struct coding_system): Make safe_charsets a pointer to
2252 unsigned char.
2253 * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
2254 being 255.
2255 (SAFE_CHARSET_P): Likewise.
2256 (setup_iso_safe_charsets): Properly setup safe_charsets.
2257 (Fdefine_coding_system_internal): Likewise.
2258 (setup_coding_system): Likewise. Remove unneeded casts.
2259 (detect_coding_iso_2022): Compare Viso_2022_charset_list with
2260 CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS. Remove
2261 unneeded casts.
2262
b3b58c01
AS
2263 * insdel.c (del_range_2): Don't modify gap contents when called
2264 from decode_coding_object. (Bug#1809)
2265
0b6f228c
CY
22662009-02-21 Chong Yidong <cyd@stupidchicken.com>
2267
2268 * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
2269 Qfont_object.
2270 (Ftype_of): Recognize font objects.
2271
2272 * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
2273
2274 * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
2275 moved to data.c.
2276
52f8870b
AR
22772009-02-20 Adrian Robert <Adrian.B.Robert@gmail.com>
2278
2279 * nsterm.m (x_make_frame_invisible): Unset async_visible,
2280 async_iconified. Based on a patch by Christian Lynbech
2281 <christian.lynbech@tieto.com>.
2282 (EmacsView-windowDidMiniaturize:): Unset async_visible.
2283
7087d5e9
GM
22842009-02-20 Glenn Morris <rgm@gnu.org>
2285
2286 * syntax.c (Fskip_chars_forward): Fix doc typo.
2287
41d2ceef
CY
22882009-02-20 Chong Yidong <cyd@stupidchicken.com>
2289
2290 * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
2291
1a3b7ca6
CY
22922009-02-19 Chong Yidong <cyd@stupidchicken.com>
2293
2294 * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
2295
73cce38d
KH
22962009-02-19 Kenichi Handa <handa@m17n.org>
2297
2298 * coding.c (detect_coding): Preserve coding->mode.
2bc550cb 2299 Don't overflow coding->carryover. (Bug#2370)
73cce38d 2300
a51092ee
DN
23012009-02-18 Dan Nicolaescu <dann@ics.uci.edu>
2302
2303 * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
2304
c423ecca
KH
23052009-02-18 Kenichi Handa <handa@m17n.org>
2306
2307 * font.c (font_check_otf_features): Fix handling of `nil' element.
2308 (Ffont_spec): Describe :lang and :otf in the docstring.
2309
4c1958f4
AS
23102009-02-16 Andreas Schwab <schwab@suse.de>
2311
2312 * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
2313 string.
2314
5704f39a
KH
23152009-02-16 Kenichi Handa <handa@m17n.org>
2316
2317 * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
a057d86a 2318 (Bug#1723)
5704f39a 2319
8f0085aa
CY
23202009-02-14 Chong Yidong <cyd@stupidchicken.com>
2321
a057d86a 2322 * dispextern.h (struct iterator_stack_entry): New line_wrap member.
8f0085aa
CY
2323
2324 * xdisp.c (push_it, pop_it): Save and restore line_wrap.
2325 (handle_line_prefix): Suppress wrapping of wrap prefixes.
2326
aff01dd9
EZ
23272009-02-14 Eli Zaretskii <eliz@gnu.org>
2328
2329 * msdos.c (MAX_SCREEN_BUF): New macro.
2330 (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
2331 Encode the entire run of glyphs sharing the same face, instead of
2332 doing that one glyph at a time (fixes a bug with displaying
2333 double-size characters).
2334
ba301db3
AR
23352009-02-13 Adrian Robert <Adrian.B.Robert@gmail.com>
2336
2337 * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
2338
2339 * nsmenu.m (pop_down_menu): Check popup_activated_flag.
2340 (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
a057d86a 2341 pop_down_menu do the cleanup work as it is always called. (Bug#2154)
ba301db3
AR
2342
2343 * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
a057d86a 2344 set fontset font for "mathematical-" sub-scripts. (Bug #2218)
ba301db3 2345
51d861de
SM
23462009-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
2347
2348 * keyboard.c (adjust_point_for_property): Allow stopping betwen two
2349 invisible areas.
2350
7fed8996
JR
23512009-02-12 Jason Rumney <jasonr@gnu.org>
2352
631ea4fb
JR
2353 * w32font.c (check_face_name): Check for fake helv. (Bug#2275)
2354 (add_font_entity_to_list): Call check_face_name even when family
2355 is unspecified.
2356
cb4a3e42
JR
2357 * w32term.c (x_display_pixel_height, x_display_pixel_width):
2358 Release DC when finished. Use NULL window to refer to desktop.
631ea4fb 2359 (w32_term_init): Use NULL window to refer to desktop. (Bug#460)
cb4a3e42 2360
7fed8996 2361 * w32font.c (add_font_entity_to_list): Fix check for substituted
631ea4fb 2362 raster fonts. (Bug#2219)
7fed8996 2363
895416e3
KH
23642009-02-12 Kenichi Handa <handa@m17n.org>
2365
2366 * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
2367 (composition_gstring_width): Fix handling of LGLYPH_YOFF.
2368 (autocmp_chars): Use fast_looking_at. Don't compose more
1dacf998 2369 characters than MAX_COMPOSITION_COMPONENTS.
895416e3
KH
2370 (find_automatic_composition): While looking forward and backward,
2371 check static composition. Fix where to stop looking forward.
2372 (composition_adjust_point): Fix checking of static composition.
2373 (Fcomposition_get_gstring): Pay attention to
1dacf998 2374 MAX_COMPOSITION_COMPONENTS.
895416e3
KH
2375
2376 * lisp.h (fast_looking_at): Extern it.
2377
2378 * search.c (fast_looking_at): New function.
2379
51d861de 2380 * term.c (encode_terminal_code): Adjust for the change of
895416e3
KH
2381 <struct glyph>.u.cmp.to.
2382 (append_composite_glyph): Likewise.
2383
51d861de 2384 * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
895416e3
KH
2385 <struct glyph>.u.cmp.to. Check if the glyph belongs to the same
2386 composition.
51d861de 2387 (append_composite_glyph): Adjust for the change of
895416e3
KH
2388 <strcut glyph>.u.cmp.to.
2389
8510724d
JB
23902009-02-11 Juanma Barranquero <lekktu@gmail.com>
2391
2392 * casetab.c (init_casetab_once):
2393 * coding.c (ALLOC_CONVERSION_WORK_AREA):
2394 * font.c (font_update_lface):
2395 * fontset.c (Fnew_fontset):
2396 * ftfont.c (ftfont_drive_otf):
2397 * xfont.c (xfont_open):
2398 * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
2399
294fa707
SM
24002009-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
2401
2402 * fileio.c (Fwrite_region): !NILP -> CONSP.
2403
b5bfebec
AS
24042009-02-10 Andreas Schwab <schwab@suse.de>
2405
2406 * process.c (send_process): Properly relocate pointer into data
adab88bd 2407 when using encoded data. (Bug#2272)
b5bfebec 2408
cb84a2be
KH
24092009-02-08 ARISAWA Akihiro <ari@mbf.sphere.ne.jp>
2410
2411 * coding.c (detect_coding_charset): Fix previous change.
2412
89e09428
JR
24132009-02-08 Jason Rumney <jasonr@gnu.org>
2414
2415 * w32fns.c (w32_hide_hourglass): Handle case where frame
adab88bd 2416 disappeared while hourglass was displayed. (Bug #2193)
89e09428 2417
4470a277
AS
24182009-02-07 Andreas Schwab <schwab@suse.de>
2419
2420 * unexelf.c (unexec): Fix error message.
2421
3175b12a
AR
24222009-02-07 Adrian Robert <Adrian.B.Robert@gmail.com>
2423
2424 * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
adab88bd 2425 when modal window is active. (Bug #2152)
3175b12a
AR
2426 (applicationShouldTerminate:): Remove now-unneeded while loop
2427 around NSRunAlertPanel.
2428
2429 * nsmenu.m (popupSession): New file-global variable.
2430 (pop_down_menu): End the popupSession before closing dialog.
2431 (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
2432 (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
2433 don't query NSApp for events (just sleep instead).
2434
8434d0b8
EZ
24352009-02-07 Eli Zaretskii <eliz@gnu.org>
2436
51d861de
SM
2437 * coding.c (syms_of_coding) <translation-table-for-input>:
2438 Modify doc string to discourage use for character code unification.
8434d0b8 2439
aa82edfd
CY
24402009-02-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2441
2442 * atimer.c (run_timers): Update pending_atimers.
2443
2d283c7c
CY
24442009-02-06 Chong Yidong <cyd@stupidchicken.com>
2445
eb306cab
CY
2446 * image.c (svg_load_image): Fix last change.
2447
2d283c7c
CY
2448 * xfns.c (Fx_create_frame): Signal an error if no font is
2449 found (Bug#2147).
2450
4d8e170e
JB
24512009-02-05 Juanma Barranquero <lekktu@gmail.com>
2452
2453 * character.c (syms_of_character) <script-representative-chars>:
2454 Fix typo in docstring.
2455
c96169a0
AR
24562009-02-04 Adrian Robert <Adrian.B.Robert@gmail.com>
2457
2458 * nsmenu.m (pop_down_menu): New function.
2459 (ns_popup_dialog): Call it on unwind.
2460 (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
2461 call timer_check() (Bug#2154).
2462 (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
2463 handling_signal is set.
2464 (EmacsMenu-fillWithWidgetValue:): Set submenu title.
2465
31fd7c5c 2466 * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
c96169a0
AR
2467
2468 * s/darwin.h: Same and NO_SOCK_SIGIO as well.
2469
2470 * nsterm.m (ns_read_socket): Same and don't set handling_signal.
2471
51d861de
SM
2472 * keyboard.c (poll_for_input_1, handle_async_input):
2473 Set handling_signal under HAVE_NS.
c96169a0 2474
aacd8ba1
GM
24752009-02-04 Glenn Morris <rgm@gnu.org>
2476
2477 * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
2478
4cb75c4b
KH
24792009-02-04 Kenichi Handa <handa@m17n.org>
2480
2481 * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
2482
2483 * charset.c (Fchar_charset): New optional arg restriction.
2484
2485 * coding.h (coding_system_charset_list): Extern it.
2486
2487 * coding.c (coding_system_charset_list): New function.
2488
2489 * composite.c: Include coding.h and termhooks.h.
2490 (composition_gstring_p): Fix for the terminal case.
2491 (composition_gstring_width): Likewise.
2492 (fill_gstring_body): Likewise.
2493 (autocmp_chars): For terminal, call Fcomposition_get_gstring with
2494 the frame.
2495 (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
2496 is within a composition.
867d4bb3 2497 (Fcomposition_get_gstring): Fix the terminal case.
4cb75c4b
KH
2498
2499 * term.c (encode_terminal_code): Fix handling of composition.
2500 (produce_composite_glyph): For static composition, get pixel_width
2501 from struct composition.
2502
826ba17e
AS
25032009-02-02 Andreas Schwab <schwab@suse.de>
2504
2505 * unexelf.c (unexec): Handle unaligned bss offset.
2506
8ad093db
AR
25072009-02-01 Adrian Robert <Adrian.B.Robert@gmail.com>
2508
2509 * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
2510 XT,w32read_socket changes to ns_read_socket.
d0a76a6e 2511
8ad093db
AR
2512 * keyboard.c (handle_interrupt): Don't call
2513 quit_throw_to_read_char() under NS.
d0a76a6e 2514
8ad093db
AR
2515 * blockinput.h: Remove NS-specific code.
2516
4d18a7a2
DN
25172009-01-30 Dan Nicolaescu <dann@ics.uci.edu>
2518
db878925
DN
2519 * dispnew.c (window_change_signal): Don't try to get the size of a
2520 suspended tty frame.
2521 * term.c (Fresume_tty): Resize if the size has changed while the
2522 tty was suspended.
2523
4d18a7a2
DN
2524 * alloc.c (mark_stack): Properly conditionalize previous change.
2525
8984df7c
JB
25262009-01-30 Juanma Barranquero <lekktu@gmail.com>
2527
2528 * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
2529 * w32term.c (w32_read_socket) [SYNC_INPUT]:
2530 Remove; this code is not used on Windows.
2531
75f4f1ac
EZ
25322009-01-30 Eli Zaretskii <eliz@gnu.org>
2533
2534 * coding.c (detect_eol, decode_eol): Handle text with DOS-style
2535 EOLs that also has stray ^M characters.
2536
07a1e794
JB
25372009-01-30 Juanma Barranquero <lekktu@gmail.com>
2538
2539 * atimer.c (run_timers, alarm_signal_handler):
2540 * keyboard.c (pending_signals, handle_async_input, init_keyboard):
2541 * w32inevt.c (w32_console_read_socket):
2542 * w32term.c (w32_read_socket):
2543 * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
2544
a8b11cc9
CY
25452009-01-30 Chong Yidong <cyd@stupidchicken.com>
2546
2547 * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
2548 Initialize it as a relative filename pattern.
2549 (init_callproc): Don't initialize Vtemp_file_name_pattern here.
2550 (Fcall_process_region): Simplify temp file creation using
2551 temporary-file-directory.
2552
c279587b
EZ
25532009-01-29 Eli Zaretskii <eliz@gnu.org>
2554
2555 * msdos.c: Rename pending_signals to msdos_pending_signals.
2556 (sig_suspender, sigprocmask): Adjust.
2557
a8fe3242
CY
25582009-01-29 Chong Yidong <cyd@stupidchicken.com>
2559
2560 * keyboard.c (pending_signals): New var.
2561 (poll_for_input, input_available_signal, init_keyboard): Set it.
2562 (process_pending_signals): New function.
2563
2564 * lisp.h (QUIT): Check pending_signals instead of
2565 interrupt_input_pending. Use process_pending_signals.
2566
51d861de 2567 * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
a8fe3242 2568
51d861de 2569 * process.c (wait_reading_process_output): Use process_pending_signals.
a8fe3242
CY
2570
2571 * sysdep.c (emacs_write): Use process_pending_signals.
2572
2573 * xterm.c (XTread_socket): Update pending_signals.
2574
2575 * w32term.c (w32_read_socket): Update pending_signals.
2576
2577 * w32inevt.c (w32_console_read_socket): Update pending_signals.
2578
6570a1c4
KH
25792009-01-29 Kenichi Handa <handa@m17n.org>
2580
2581 * xftfont.c (xftfont_has_char): New function.
2582 (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
2583
d72a4afa
AR
25842009-01-29 Adrian Robert <Adrian.B.Robert@gmail.com>
2585
2586 * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
2587 under GNUstep.
2588 (ns_query_color): New declaration.
2589
2590 * nsterm.m (ns_confirm_quit): New variable.
2591 (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
2592 (EmacsApp-applicationShouldTerminate:): Use it.
2593 (EmacsPrefsController): Let user set it.
2594 (ns_query_color): New function.
2595 (ns_defined_color): Use it.
2596 (ns_initialize): Drop.
2597 (ns_term_init): Add two lines from ns_initialize(), and set
2598 input_interrupt_mode to nil.
2599
2600 * image.c (svg_load_image): Don't right-shift background RGB when
6af84d77 2601 obtained from FRAME_BACKGROUND_PIXEL. Under HAVE_NS use ns_query_color.
d72a4afa 2602
9fe78804
KH
26032009-01-28 Kenichi Handa <handa@m17n.org>
2604
2605 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
f088b054
KH
2606 (fontset_get_font_group): Remember that no font-group is specified
2607 for C.
9fe78804 2608
fa57de36
CY
26092009-01-27 Chong Yidong <cyd@stupidchicken.com>
2610
930600e9
CY
2611 * fns.c (concat): Check for string overflow (bug#1787).
2612
fa57de36
CY
2613 * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
2614 Quadruple undo limits (bug#1501).
2615
7179ce7b
KH
26162009-01-27 Kenichi Handa <handa@m17n.org>
2617
2618 * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
2619 directly use GT_Get_Char_index.
2620
2621 * xftfont.c (struct xftfont_info): New member `index'.
2622
2623 * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
51d861de 2624 (Ffontset_font): Adjust for the change of fontset entry.
7179ce7b 2625
5be8fcc0
CY
26262009-01-26 Kenichi Handa <handa@m17n.org>
2627
2628 * fontset.c (fontset_find_font): Fix handling of non-cons return
2629 value of fontset_get_font_group.
2630 (fontset_font): Revert last change.
2631
19ae3e61
JR
26322009-01-26 Jason Rumney <jasonr@gnu.org>
2633
2634 * w32font.c (w32font_list_internal): Return quickly if registry is
2635 unknown. Simplify final return.
2636 (add_font_entity_to_list): Break complex logic down into more
2637 manageable chunks. Move unknown registry check to
2638 w32font_list_internal.
2639
8612b71a
AR
26402009-01-25 Adrian Robert <Adrian.B.Robert@gmail.com>
2641
2642 Changes to remove Feval calls from GUI under NS.
2643
d8038940
JB
2644 * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
2645 Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
8612b71a
AR
2646 Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
2647
2648 * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
2649 (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
2650 (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
2651 instead of NON_ASCII_KEYSTROKE_EVENT.
2652 (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
2653 (EmacsApp-applicationShouldTerminate:): Query user.
2654 (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
2655 instead of Feval.
2656
2657 * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
2658
2659 * keyboard.c (kbd_buffer_get_event): Check for it.
2660 (keys_of_keyboard): Define lispy keys for
2661 ns-put/unput-working-text.
2662
2663 * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
2664 versions.
2665 (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
2666
6288ae55
CY
26672009-01-25 Chong Yidong <cyd@stupidchicken.com>
2668
2669 * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
64cc3cf6 2670 setting current_buffer directly. (Bug#2044)
6288ae55 2671
289e7f8f
CY
26722009-01-24 Chong Yidong <cyd@stupidchicken.com>
2673
5ce87308 2674 * fontset.c (fontset_font): If we know there is no font, don't do
d8038940 2675 any work. (Bug#1952, bug#1990).
5ce87308 2676
64cc3cf6 2677 * font.c (font_parse_xlfd): Handle patterns of length < 2. (Bug#1802)
289e7f8f 2678
b3243e6f
AR
26792009-01-23 Adrian Robert <Adrian.B.Robert@gmail.com>
2680
2681 * emacs.c (main): Do fork+exec under --daemon in Cocoa.
d900b2af
AR
2682 (ns_no_defaults): New declaration.
2683 (main): Use it.
e0d2e69a 2684
d900b2af 2685 * nsterm.h (ns_no_defaults): New declaration.
e0d2e69a 2686
d900b2af 2687 * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
e0d2e69a 2688
d900b2af
AR
2689 * nsterm.m (ns_no_defaults): New variable.
2690 (ns_initialize): Don't read defaults when ns_no_defaults.
2691 (EmacsView-readSelectionFromPasteboard:)
2692 (writeSelectionToPasteboard:types:): New stubbed-out methods for
d8038940 2693 NSServicesRequests protocol. (Bug#1435)
27521ca6
AR
2694 (ns_dumpglyphs_stretch): New function.
2695 (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
d8038940 2696 of 2008-11-15 to other terms. (Bug#615)
b3243e6f 2697
e0d2e69a
AR
2698 * nsimage.m (setPixmapData:): Set to ignore image DPI.
2699
3ac71f5d
CY
27002009-01-23 Giorgos Keramidas <keramida@freebsd.org> (tiny change)
2701
2702 * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
2703 call for Sparc64.
2704
3fe53a83
AR
27052009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
2706
2707 * nsfns.m:
2708 * nsgui.h:
2709 * nsmenu.m:
2710 * nsselect.m:
2711 * nsterm.h:
2712 * nsterm.m: Remove '23' comments that indicated code added during
2713 update from emacs-20 -> emacs-23.
2714
10f87c6f 27152009-01-22 Adrian Robert <Adrian.B.Robert@gmail.com>
a3b53a85
AR
2716
2717 * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
3a88a825 2718 ns_alternate_modifier. (Bug#1217)
a3b53a85 2719
c7cef62d
AR
2720 * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
2721 Display all shortcuts, including those w/o super modifier.
2722
575fb8bd
AR
2723 * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
2724
918b848b
CY
27252009-01-22 Chong Yidong <cyd@stupidchicken.com>
2726
2727 * fileio.c (Vwrite_region_post_annotation_function)
2728 (Vwrite_region_annotation_buffers): New vars.
2729 (build_annotations_unwind): Just reset
2730 Vwrite_region_annotation_buffers.
2731 (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
2732 Call write-region-post-annotation-function.
2733 (build_annotations): Add to Vwrite_region_annotation_buffers if
2734 buffer changes.
2735
a39e2539
AR
27362009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2737
2738 * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
2739 Tiger.
51d861de
SM
2740 * nsfns.m (ns_do_applescript):
2741 Conditionalize typeUTF16ExternalRepresentation on Tiger.
a39e2539 2742
35ed44db
AR
27432009-01-21 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
2744
2745 * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
2746
cbe0b5bf
AR
27472009-01-21 Adrian Robert <Adrian.B.Robert@gmail.com>
2748
2749 * nsmenu.m (NSMENUPROFILE): Change #if style.
4c7077c3 2750
6049d3a0
AR
2751 * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
2752
2753 * nsterm.m (x_set_frame_alpha): Add prototype.
a9b4df69
AR
2754 (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
2755 handle Ctrl-tab. (Bug#1841)
2756 (ns_get_color): Use unsigned long long for scanned hex string value.
2757 (ns_term_shutdown): Abort on non SIGTERM signals.
e889fa06 2758 (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
b71ac3dd 2759 (EmacsPrefsController-setPanelFromDefaultValues): New function.
3a88a825 2760 (EmacsPrefsController-resetToDefaults:): Use it. (Bug#1801)
35ed44db 2761 (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
d3810c21 2762 (ns_defined_color): Fix settings of the XColor variable fields:
3a88a825 2763 red,green,blue scale to 2-byte, pixel's parts to 1-byte. (Bug#1663)
cbe0b5bf 2764
d3810c21 2765 * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
3a88a825 2766 DPI. (Bug#1316)
d3810c21
AR
2767 (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
2768 values in onTiger section.
4c7077c3 2769
e301e634
CY
27702009-01-19 Chong Yidong <cyd@stupidchicken.com>
2771
7f82490b
CY
2772 * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
2773 Check return value of font_spec_from_name.
64cc3cf6 2774 (Fx_list_fonts): Doc fix. (Bug#1951)
7f82490b
CY
2775
2776 * font.c (font_spec_from_name): Return Qnil if font name could not
2777 be parsed.
2778 (font_parse_name): Treat a `?' character as part of an XLFD.
2779
e301e634
CY
2780 * fns.c (Fsubstring): Doc fix.
2781
1c0db158
KH
27822009-01-19 Kenichi Handa <handa@m17n.org>
2783
51d861de 2784 * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
1c0db158
KH
2785 (ftfont_list): Likewise.
2786
acf20901
JB
27872009-01-18 Juanma Barranquero <lekktu@gmail.com>
2788
fff4e459
JB
2789 * dbusbind.c (Fdbus_register_signal):
2790 * process.c (conv_sockaddr_to_lisp):
2791 * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
2792
acf20901
JB
2793 * callproc.c (Fgetenv_internal): Doc fix.
2794
e7abcdfb
CY
27952009-01-16 Chong Yidong <cyd@stupidchicken.com>
2796
2797 * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
2798 it is not even used.
2799
b60861e6
GM
28002009-01-16 Glenn Morris <rgm@gnu.org>
2801
2802 * font.c (Ffont_variation_glyphs): Silence compiler.
2803
8db52afe
JB
28042009-01-15 Juanma Barranquero <lekktu@gmail.com>
2805
2806 * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
2807 Reported by David Robinow <drobinow@gmail.com>.
2808
4cddb209
KH
28092009-01-15 Kenichi Handa <handa@m17n.org>
2810
51d861de 2811 * coding.c (detect_coding_system): Fix handling of null_byte_found.
4cddb209 2812
f247f67b
JR
28132009-01-14 Jason Rumney <jasonr@gnu.org>
2814
2815 * frame.c (x_set_font): Always store a font to the font parameter,
fff4e459 2816 never a fontset. (Bug#1562)
f247f67b 2817
f56a4450
KH
28182009-01-14 Kenichi Handa <handa@m17n.org>
2819
2820 * coding.c (TWO_MORE_BYTES): New macro.
fff4e459 2821 (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
f56a4450 2822
4e99855e
CY
28232009-01-13 Chong Yidong <cyd@stupidchicken.com>
2824
2825 * font.c (font_clear_prop): If clearing the family, clear the font
2826 width index too.
2827
fff4e459 2828 * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
4e99855e 2829
24f01470
JB
28302009-01-12 Juanma Barranquero <lekktu@gmail.com>
2831
2832 * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
2833 (do_play_sound): Use it. Don't pass a hardcoded buffer size to mci
2834 functions, use sizeof.
2835
a41240a3
MR
28362009-01-12 Martin Rudalics <rudalics@gmx.at>
2837
2838 * keyboard.c (read_char): Fix case where last_nonmenu_event
2839 returned a bad value with submenus. (Bug#447)
2840
944636b8
CY
28412009-01-12 Chong Yidong <cyd@stupidchicken.com>
2842
2843 * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
2844 family, clear the font width index too.
2845
0dad7c6f
JR
28462009-01-11 Jason Rumney <jasonr@gnu.org>
2847
2848 * keyboard.c (cmd_error_internal): Exit when errors occur before
2849 frame creation and not in daemon mode. (Bug#1836)
2850
7c2363af
CY
28512009-01-10 Chong Yidong <cyd@stupidchicken.com>
2852
2853 * xdisp.c (pos_visible_p): When iterator stops on the last glyph
2854 of a display vector, backtrack.
2855 (try_window_reusing_current_matrix): Check glyph type before
2856 referencing charpos member.
2857
97b1b294
EZ
28582009-01-10 Eli Zaretskii <eliz@gnu.org>
2859
2860 Fix Bug #876:
2861
2862 * coding.c (inhibit_null_byte_detection): New variable.
2863 (detect_coding, detect_coding_system): Don't pay attention to null
2864 bytes if inhibit_null_byte_detection is non-zero.
51d861de 2865 (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
97b1b294
EZ
2866 <inhibit-iso-escape-detection>: Doc fix.
2867
4624b6e3
JR
28682009-01-09 Jason Rumney <jasonr@gnu.org>
2869
2870 * w32font.c (add_font_entity_to_list): Don't report unknown
fff4e459 2871 Windows charset as any unrecognized registry. (Bug#1548)
4624b6e3
JR
2872 Only report Unicode Plane 2 fonts as unicode-sip.
2873
323b840c
CY
28742009-01-09 Chong Yidong <cyd@stupidchicken.com>
2875
51d861de
SM
2876 * xfaces.c (Fx_font_family_list): Delete function.
2877 Move compatibility version to faces.el.
323b840c 2878
51d861de 2879 * font.c (Ffont_family_list): Return a list of strings, not symbols.
323b840c 2880
eba7400d
MR
28812009-01-09 Martin Rudalics <rudalics@gmx.at>
2882
2883 * frame.c (x_set_frame_parameters): Remember requested value for
2884 fullscreen before it's reset by the parameter handler.
2885
4b09796d
GM
28862009-01-09 Glenn Morris <rgm@gnu.org>
2887
2888 * keyboard.c (last_command_char): For clarity, rename to...
46e722a9 2889 (last_command_event): ... and update all users.
4b09796d
GM
2890 (last_input_char): For clarity, rename to...
2891 (last_input_event): ... and update all users.
2892 (last-command-char, last-input-char): Move to subr.el as aliases.
2893 * cmds.c, commands.h: Update for last_command_char rename.
2894
14ccea62
CY
28952009-01-08 Chong Yidong <cyd@stupidchicken.com>
2896
51d861de 2897 * font.c (font_open_for_lface): Handle unspecified height attribute.
14ccea62 2898
5f004711
JR
28992009-01-08 Jason Rumney <jasonr@gnu.org>
2900
2901 * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
2902 (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
2903 (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
2904 Don't declare.
fff4e459 2905 (syms_of_w32fns): Don't define x-pointer-shape variable. (Bug#1485)
5f004711
JR
2906 (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
2907
b71f6f73
KH
29082009-01-07 Kenichi Handa <handa@m17n.org>
2909
50b06221 2910 * fileio.c (Finsert_file_contents): In the case of replace,
f56a4450 2911 remember the coding system used for decoding in
50b06221
KH
2912 coding_system (Bug#1039).
2913
b71f6f73 2914 * coding.c (decode_coding_utf_8): Check byte_after_cr before
79a97217 2915 breaking the loop. (Bug#870)
b71f6f73
KH
2916 (decode_coding_utf_16, decode_coding_emacs_mule)
2917 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
2918 (decode_coding_charset): Likewise.
2919
56f668f7
MR
29202009-01-05 Martin Rudalics <rudalics@gmx.at>
2921
2922 * frame.c (x_set_frame_parameters): Make sure height (width) get
2923 applied when fullwidth (fullheight) is set. (Bug#1522)
2924
5da9424d
JB
29252009-01-04 Juanma Barranquero <lekktu@gmail.com>
2926
2927 * w32.c: Use 64-bit arithmetic to do FILETIME conversions. (Bug#1766)
2928 (utc_base): Declare as ULONGLONG, not long double.
2929 (convert_time_raw): Delete.
2930 (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
2931 (initialize_utc_base): New function.
2932 (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
2933 (convert_from_time_t): Use initialize_utc_base; compute result with
2934 64-bit arithmetic.
2935 (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
2936
c4605e09
EZ
29372009-01-03 Eli Zaretskii <eliz@gnu.org>
2938
9acef61c 2939 * process.c (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess)
c4605e09
EZ
2940 (Qttname, Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime)
2941 (Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs)
2942 (Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime)
2943 [!subprocesses]: Define.
2944 (syms_of_process) [!subprocesses]: Intern and staticpro them.
2945 (Flist_system_processes, Fsystem_process_attributes)
2946 [!subprocesses]: Call list_system_processes and
2947 system_process_attributes instead of returning Qnil.
2948
9acef61c
JB
2949 * dosfns.c (system_process_attributes, list_system_processes):
2950 New functions.
c4605e09
EZ
2951
2952 * vm-limit.c (ret_lim_data) [MSDOS]: New function.
2953
2954 * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
2955 Don't use the default (no-op) implementation.
2956
8b7d0a16
JR
29572009-01-03 Jason Rumney <jasonr@gnu.org>
2958
a6d46bc1
JR
2959 * keyboard.c (parse_modifiers_uncached): Wheel events are
2960 clicks (bug#687).
2961
8b7d0a16
JR
2962 * w32term.c (x_query_colors, x_query_color): New functions.
2963
2964 * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
2965 (svg_load_image): Cast returned pointers from dynamically loaded
2966 functions. Eliminate W32 specific code.
2967
bfe11752
DN
29682009-01-02 Dan Nicolaescu <dann@ics.uci.edu>
2969
89e2438a
DN
2970 * nsfns.m (x_set_foreground_color, x_set_background_color)
2971 (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
2972 (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
2973 x_ prefix instead of ns_. Update references.
2974 (syms_of_nsfns): Add a FIXME comment.
2975
2976 * nsterm.m (x_set_cursor_type): New prototype.
2977 (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
2978
bfe11752
DN
2979 * sysdep.c (system_process_attributes): Provide Qtime and Qctime
2980 for Solaris instead of incorrectly providing Qutime and Qcutime.
2981
031da700
EZ
29822009-01-02 Eli Zaretskii <eliz@gnu.org>
2983
2984 * w32.c (process_times): Compute sum of utime and stime.
2985 (system_process_attributes): Add Qtime to the alist.
2986
2987 * sysdep.c (system_process_attributes): Compute Qtime and Qctime
2988 and add them to the alist.
2989
2990 * process.c (top level) <Qtime, Qctime>: New variables.
2991 (syms_of_process): staticpro them.
2992 (Fsystem_process_attributes): Add their documentation to the doc
2993 string.
2994
2995 * process.h: Declare Qtime and Qctime.
2996
df23bf08
JR
29972009-01-02 Jason Rumney <jasonr@gnu.org>
2998
9acef61c 2999 * image.c (Qgobject): New symbol.
df23bf08
JR
3000 (syms_of_image): Initialize it.
3001 (init_svg_functions): Load some functions from gobject library.
3002
5bbdf7aa
DN
30032009-01-01 Dan Nicolaescu <dann@ics.uci.edu>
3004
3005 * frame.c (make_terminal_frame): Remove redundant code and useless
3006 block.
3007
63136da6
AS
30082009-01-01 Andreas Schwab <schwab@suse.de>
3009
3010 * process.c (conv_sockaddr_to_lisp): Add workaround for
3011 getsockname bug on BSD.
3012
9ef69046
CY
30132009-01-01 Chong Yidong <cyd@stupidchicken.com>
3014
d6fafbe0
CY
3015 * xfns.c (x_create_tip_frame): Set border width of the X window.
3016
51d861de 3017 * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
9ef69046 3018
f9c34147
JR
30192009-01-01 Jason Rumney <jasonr@gnu.org>
3020
9acef61c 3021 * w32term.c (x_new_font): Return font object, not fontset. (Bug#119)
f9c34147
JR
3022 Don't block input, as per earlier xterm.c changes.
3023
f5497e45
AR
30242008-12-31 Adrian Robert <Adrian.B.Robert@gmail.com>
3025
3026 * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
3027 (ns_appkit_version_int): New function.
3028 (x-server-version): Use ns_appkit_version_int and follow 21+
3029 convention of returning 3 integers.
3030
c19cab20
KH
30312008-12-30 Kenichi Handa <handa@m17n.org>
3032
3033 * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
3034 (CHAR_SURROGATE_PAIR_P): New macro.
3035
3036 * font.h (struct font_driver): New member get_variation_glyphs.
3037
9acef61c 3038 * font.c (font_range): Don't require a font for a variation selector.
c19cab20
KH
3039 (Ffont_variation_glyphs): New function.
3040 (syms_of_font): Defsubr it.
3041
3042 * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
3043 ftfont_variation_glyphs.
3044 (setup_otf_gstring): New function.
3045 (ftfont_drive_otf): Use it.
3046 (ftfont_shape_by_flt): Handle variation selector.
3047 (ftfont_variation_glyphs): New function.
3048
28cd591f
MR
30492008-12-30 Martin Rudalics <rudalics@gmx.at>
3050
3051 * frame.c (Vemacs_iconified): Remove.
3052
7f714baf
JR
30532008-12-30 Jason Rumney <jasonr@gnu.org>
3054
3055 * frame.c (store_frame_param, x_get_arg): Enable newer code on
9acef61c 3056 WINDOWSNT too, as related changes have already been synced. (Bug#117)
7f714baf 3057
9d2d22ab
CY
30582008-12-30 Chong Yidong <cyd@stupidchicken.com>
3059
3060 * indent.c (Fvertical_motion): Don't advance iterator if we have
3061 reseated to the desired position.
3062
3063 * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
3064 checking for pos match.
3065
545312c2
KH
30662008-12-30 Kenichi Handa <handa@m17n.org>
3067
1ede3eb6
KH
3068 * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
3069 just get the low 8-bit of the code.
3070
545312c2
KH
3071 * font.c (font_intern_prop): Validate str as multibyte.
3072
bd7bbf29
DN
30732008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
3074
31e0750e
DN
3075 * dispextern.h (struct face): Move lface and hash from the middle
3076 of bitfields.
3077
bd7bbf29
DN
3078 * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
3079
b5672e7c
DN
30802008-12-29 Dan Nicolaescu <dann@ics.uci.edu>
3081
3082 * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
3083 (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
3084 instead of intervals.h.
3085
d704470f
AS
30862008-12-26 Andreas Schwab <schwab@suse.de>
3087
3088 * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
3089 cons.
3090
54b33868
MR
30912008-12-26 Martin Rudalics <rudalics@gmx.at>
3092
3093 * textprop.c (Qminibuffer_prompt): New variable.
3094 (syms_of_textprop): Initialize it.
3095 * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
3096 in minibuffer-prompt face. (Bug#1662)
3097
40b615d6
JR
30982008-12-25 Jason Rumney <jasonr@gnu.org>
3099
3100 * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
3101
baae5c2d
JR
31022008-12-24 Jason Rumney <jasonr@gnu.org>
3103
3104 * ralloc.c (r_alloc_reset_variable): New function.
3105
3106 * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
9acef61c 3107 record of what points where. (Bug#716)
baae5c2d 3108
a9051c88
DN
31092008-12-22 Dan Nicolaescu <dann@ics.uci.edu>
3110
3111 * minibuf.c (read_minibuf): Follow the non-interactive case when
3112 running as a daemon, before detaching.
3113
8b146312
AS
31142008-12-22 Andreas Schwab <schwab@suse.de>
3115
3116 * buffer.c (init_buffer): Use realloc instead of xrealloc.
3117 * gtkutil.c (free_widget_value): Use xfree instead of free.
3118
56f2de10
MR
31192008-12-22 Martin Rudalics <rudalics@gmx.at>
3120
3121 * frame.c (delete_frame): New function derived from
3122 Fdelete_frame to handle Qnoelisp value for FORCE argument.
3123 Delete last frame iff FORCE equals Qnoelisp. (Bug#1450)
3124 (Fdelete_frame): Call delete_frame. Remove line from doc-string
3125 saying that FORCE non-nil doesn't run `delete-frame-functions'.
3126 * frame.h: Extern delete_frame.
3127 * window.c (window_loop):
3128 * terminal.c (delete_terminal):
3129 * xterm.c (x_connection_closed):
3130 * xfns.c (Fx_hide_tip):
9acef61c 3131 * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
56f2de10 3132
1fc200d6
JR
31332008-12-21 Jason Rumney <jasonr@gnu.org>
3134
3135 * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
3136 when character maps to .notdef character.
3137
5e252df2
SM
31382008-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
3139
3140 * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
3141
99b72cc4
JR
31422008-12-20 Jason Rumney <jasonr@gnu.org>
3143
3144 * frame.c (Fmake_terminal_frame): Raise an error when called from
9acef61c 3145 a graphical frame on Windows. (Bug#1325)
99b72cc4 3146
acc49a52
JD
31472008-12-20 Jan Djärv <jan.h.d@swipnet.se>
3148
3149 * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
3150
6ea15123
CY
31512008-12-20 Chong Yidong <cyd@stupidchicken.com>
3152
3153 * minibuf.c (Fread_buffer): Doc fix.
3154
b2dab6c8
JR
31552008-12-20 Jason Rumney <jasonr@gnu.org>
3156
54ea0c87 3157 * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
9acef61c 3158 server name in UNC paths. (Bug#719)
54ea0c87 3159
b2dab6c8 3160 * coding.c (decode_coding): Clear chars_at_source flag when using
9acef61c 3161 charbuf. (Bug#1035)
b2dab6c8 3162
6d1921be
DN
31632008-12-19 Daniel Engeler <engeler@gmail.com>
3164
3165 * sysdep.c (serial_configure): Fix typo.
3166
53934c98
DN
31672008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
3168
3169 * sysdep.c: Include alloca.h.
f4f634e8
DN
3170 (system_process_attributes): Add implementation for Solaris.
3171
3172 * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
53934c98 3173
06e111a6
DN
31742008-12-19 Dan Nicolaescu <dann@ics.uci.edu>
3175
3176 Reorganize implementation of Flist_system_processes and
3177 Fsystem_process_attributes. No functional changes.
3178 * process.c: Don't #include pwd.h, grp.h and limits.h.
3179 (Flist_system_processes): Just call list_system_processes.
3180 (Fsystem_process_attributes): Just call system_process_attributes.
3181 (procfs_list_system_processes, time_from_jiffies)
3182 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
3183 (procfs_get_total_memory, procfs_system_process_attributes): Move ...
3184
3185 * sysdep.c: ... here. Include pwd.h, grp.h and limits.h.
3186 (list_system_processes): Rename from
3187 procfs_list_system_processes. Enclose in #ifdef HAVE_PROCFS.
3188 Provide a do nothing implementation.
3189 (system_process_attributes): Rename from
3190 procfs_list_system_processes.
3191 (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
9acef61c 3192 (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
06e111a6
DN
3193
3194 * w32.c (list_system_processes): Rename from
3195 w32_list_system_processes.
3196 (system_process_attributes): Rename from
3197 w32_system_process_attributes.
3198
3199 * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
3200
3201 * process.h (w32_list_system_processes)
3202 (w32_system_process_attributes): Remove.
3203 (list_system_processes, system_process_attributes): New
3204 prototypes.
3205
6a705b23
KH
32062008-12-19 Kenichi Handa <handa@m17n.org>
3207
3208 * xfont.c (xfont_decode_coding_xlfd): New function.
3209 (xfont_encode_coding_xlfd): New function.
3210 (xfont_list_pattern): Decode XLFD by iso-8859-1.
3211 (xfont_list): Decode and encode XLFD by iso-8859-1.
3212 (xfont_match): Likewise.
3213 (xfont_list_family): Likewise.
3214 (xfont_open): Likewise.
3215
d66c0241 3216 * ftfont.c (ftfont_open): Generate a multibyte string if given
6a705b23
KH
3217 names are utf-8.
3218
d66c0241 3219 * xftfont.c (xftfont_open): Generate a multibyte string if given
6a705b23
KH
3220 names are utf-8.
3221
5a130941
JD
32222008-12-18 Jan Djärv <jan.h.d@swipnet.se>
3223
3224 * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
3225 changed.
bfd20325
JD
3226 (xg_tool_bar_proxy_callback): Put focus on the frame after we have
3227 clicked on a detached tool bar button.
5a130941 3228
fd95644b
DN
32292008-12-18 Dan Nicolaescu <dann@ics.uci.edu>
3230
3231 * emacs.c (main): Print and error and exit when no data is read
3232 from the pipe.
3233
e6eee6ae
JR
32342008-12-17 Jason Rumney <jasonr@gnu.org>
3235
3236 * w32font.c (w32font_has_char): Always return -1.
3237
a35dd56b
KH
32382008-12-16 Kenichi Handa <handa@m17n.org>
3239
3240 * font.c (font_open_entity): Fix previous change.
3241
0e3635c2
DN
32422008-12-16 Dan Nicolaescu <dann@ics.uci.edu>
3243
3244 * process.c: Include <limits.h>.
3245
d4835507 32462008-12-16 Chetan Pandya <pandyacus@sbcglobal.net> (tiny change)
b5356c39
CY
3247
3248 * font.c (font_update_drivers): Fix mistake in reconstructing the
3249 driver list.
3250
32512008-12-16 Chong Yidong <cyd@stupidchicken.com>
3252
3253 * font.c (font_clear_cache): Fix format of font cache data.
3254
e2cbc401
CY
32552008-12-15 Chong Yidong <cyd@stupidchicken.com>
3256
3257 * xftfont.c (xftfont_open): Free Xft font pattern if
3258 XftFontOpenPattern fails.
3259
3260 * xterm.c (x_free_frame_resources): Remove extraneous call to
3261 free_frame_faces.
3262
b131d535
CY
32632008-12-13 Chong Yidong <cyd@stupidchicken.com>
3264
3265 * xterm.c (x_delete_display): Move xim_close_dpy call to
3266 x_delete_terminal.
3267 (x_delete_terminal): Call xim_close_dpy.
3268
e6df5336
JR
32692008-12-13 Jason Rumney <jasonr@gnu.org>
3270
3271 * w32font.c (intern_font_name): New function.
3272 (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
3273 (w32font_open_internal, Fx_select_font): Decode font name.
3274 (fill_in_logfont, list_all_matching_fonts): Encode font name.
3275
3276 * w32font.h (intern_font_name): Declare new function.
3277
3278 * w32uniscribe.c (add_opentype_font_name_to_list):
3279 Use intern_font_name.
3280
20d68145
CY
32812008-12-13 Chong Yidong <cyd@stupidchicken.com>
3282
9f2554de
CY
3283 * frame.c (Fdelete_frame): Call free_font_driver_list.
3284
3d9bec9a
CY
3285 * font.c (free_font_driver_list): Implement missing function.
3286
20d68145
CY
3287 * w32term.c (w32_term_init): Don't initialize the image cache
3288 here; it will be done in init_frame_faces.
3289
3290 * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
3291 (struct x_display_info): Remove unused member null_pixel. New
3292 member xim_callback_data.
3293
3294 * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
3295 (xim_initialize): Save pointer to callback function data.
3296 (xim_close_dpy): Free callback function data. Call XCloseIM,
3297 reverting 2008-11-04 change by David Smith.
3298 (x_term_init): Don't initialize the image cache here; it will be
3299 done in init_frame_faces. Remove ancient "null_pixel" cruft.
3300 (x_delete_display): Free x_dnd_atoms member.
3301
96f9306b
KH
33022008-12-13 Kenichi Handa <handa@m17n.org>
3303
6dec9044
JB
3304 * font.c (font_rescale_ratio): Moved from xfaces.c.
3305 Argument type changed. Handle a font-spec too.
96f9306b 3306 (font_score): Check Vface_font_rescale_alist.
6dec9044 3307 (font_open_entity): Likewise. (Bug#1547)
96f9306b
KH
3308
3309 * xfaces.c (font_rescale_ratio): Moved to font.c.
3310
8d5b4964
CY
33112008-12-13 Chong Yidong <cyd@stupidchicken.com>
3312
3313 * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
3314
e6df5336
JR
33152008-12-12 Jason Rumney <jasonr@gnu.org>
3316
3317 * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
3318 Vwindow_system_version to the real w32 major version.
3319
97c6058a
DN
33202008-12-12 Dan Nicolaescu <dann@ics.uci.edu>
3321
3322 * term.c (init_tty): Move setting the terminal name before the
3323 potential user: maybe_fatal.
3324
ec4e88d7
CY
33252008-12-11 Chong Yidong <cyd@stupidchicken.com>
3326
d4835507
JB
3327 * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
3328 all callers changed. Call free_frame_faces to free the face cache.
ec4e88d7 3329
b4233ec9
JR
33302008-12-11 Jason Rumney <jasonr@gnu.org>
3331
8ec71e23 3332 * w32font.c (fill_in_logfont): Don't assume symbol script means
9acef61c 3333 SYMBOL_CHARSET. (Bug#547)
8ec71e23 3334
b4233ec9 3335 * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
9acef61c 3336 size for surrogates. (Bug#1096, bug#872)
b4233ec9 3337
011a0143
JB
33382008-12-11 Juanma Barranquero <lekktu@gmail.com>
3339
3340 * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
3341
3c309f34
JB
33422008-12-11 Juanma Barranquero <lekktu@gmail.com>
3343
3344 * process.c (Fsystem_process_attributes, syms_of_process):
3345 Fix typo in name of Ssystem_process_attributes.
3346 Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
3347
fedc6ab5
JB
33482008-12-11 Juanma Barranquero <lekktu@gmail.com>
3349
3350 * syntax.c (Fmodify_syntax_entry): Doc fix.
3351
ba3de0e8
JB
33522008-12-10 Juanma Barranquero <lekktu@gmail.com>
3353
3354 * font.c (Ffont_spec): Move usage to end of docstring.
3355
174f1c74
JR
33562008-12-10 Jason Rumney <jasonr@gnu.org>
3357
3358 * w32font.c (Qcham): New symbol.
3359 (font_supported_scripts): Add cham, and comments for other new
3360 scripts in bitfield from OpenType spec.
9d32f818
JR
3361 (add_font_entity_to_list): Limit unicode-sip fonts to those that
3362 contain characters beyond the bmp.
174f1c74 3363
7b649478
KH
33642008-12-10 Kenichi Handa <handa@m17n.org>
3365
3366 * ftfont.c (fc_charset_table): Add "unicode-sip".
2ae37cf0 3367 (ftfont_spec_pattern): Lookup fc_charset_table for the registry
7b649478
KH
3368 Qunicode_sip.
3369
2133e2d1
JB
33702008-12-10 Juanma Barranquero <lekktu@gmail.com>
3371
3372 * coding.c (QCdefault_char): Rename from QCdefalut_char.
3373 (Fcoding_system_put): Use QCdefault_char.
3374 (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
3375
9af886ee
CY
33762008-12-09 Chong Yidong <cyd@stupidchicken.com>
3377
74d819eb
CY
3378 * xftfont.c (syms_of_xftfont): Fix typo.
3379
4ccfa1c0 3380 * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
9af886ee 3381
7c19d3ae
DN
33822008-12-08 Dan Nicolaescu <dann@ics.uci.edu>
3383
3384 * emacs.c (main): Close daemon_pipe on exec.
3385
567826bb
CY
33862008-12-08 Chong Yidong <cyd@stupidchicken.com>
3387
3388 * termchar.h (struct tty): New members termcap_term_buffer and
3389 termcap_strings_buffer.
3390
3391 * term.c (encode_terminal_code): Free any previous memory blocks
4ccfa1c0 3392 before calling xmalloc for encode_terminal_src or encode_terminal_dst.
567826bb
CY
3393 (maybe_fatal): Buffer argument deleted. Don't free buffer here.
3394 All callers changed.
3395 (init_tty): Store termcap data and string buffers in new struct
3396 tty members termcap_term_buffer and termcap_strings_buffer.
3397 (delete_tty): Free them.
4ccfa1c0 3398 (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
567826bb 3399
aa96c42b
SZ
34002008-12-07 Seiji Zenitani <zenitani@mac.com>
3401
3402 * nsfns.m (ns_set_background_color): Remove code duplication.
4ccfa1c0 3403 It was a substitute for face-transparency on OS X 10.3.
aa96c42b 3404
b7e1d896
CY
34052008-12-06 Chong Yidong <cyd@stupidchicken.com>
3406
3407 * coding.c (make_conversion_work_buffer): Disable buffer
3408 modification hooks in the work buffer.
3409
b5ec91a5
EZ
34102008-12-05 Eli Zaretskii <eliz@gnu.org>
3411
3412 * process.c (procfs_system_process_attributes): If `nread' has a
3413 negative value, assign zero to it.
3414
a5d2a52b
CY
34152008-12-05 Chong Yidong <cyd@stupidchicken.com>
3416
68c5540b 3417 * eval.c (Vdebug_on_error): Doc fix.
a5d2a52b 3418
7bf1bb21
KH
34192008-12-05 Kenichi Handa <handa@m17n.org>
3420
3421 * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
3422 second character is a combining character.
3423
2fdc7d00
EZ
34242008-12-05 Eli Zaretskii <eliz@gnu.org>
3425
3426 * process.c (procfs_system_process_attributes): Don't use cmd,
3427 cmdsize, and q without initializing them first.
3428
bf6bfba8
JR
34292008-12-04 Jason Rumney <jasonr@gnu.org>
3430
3431 * w32font.c (w32font_draw): Initialize orig_clip before getting
3432 it, and delete it when finished.
3433
a3b1a468
DN
34342008-12-04 Dan Nicolaescu <dann@ics.uci.edu>
3435
3436 * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
3437 case when running as a daemon before detaching.
3438
8b8be8eb
JB
34392008-12-03 Juanma Barranquero <lekktu@gmail.com>
3440
805f2638 3441 * w32.c (init_environment): Don't unload library shell32.dll.
8b8be8eb 3442
b1bde622
KH
34432008-12-03 Kenichi Handa <handa@m17n.org>
3444
e500c47d
KH
3445 * font.c (font_at): Set `multibyte' at first.
3446
ca516334
KH
3447 * coding.c (decode_coding_charset): Check type of an element of
3448 vector VALIDS.
7bf1bb21 3449 (encode_coding_emacs_mule): Be sure to set `code'.
ca516334 3450
4ccfa1c0 3451 * fontset.c (face_for_char): Handle invalid charset property correctly.
b1bde622
KH
3452 (font_for_char): Likewise.
3453
1e5ecd37
CY
34542008-12-03 Chong Yidong <cyd@stupidchicken.com>
3455
d5b01609 3456 * font.c (Fopen_font): Compute pixel size correctly.
ba207571
CY
3457 (font_update_lface): Handle fonts with corrupted size specs,
3458 i.e. non-int and non-float.
d5b01609 3459
11e3a6e4 3460 * ftfont.c (ftfont_match): Initialize entity variable.
9a48c8cb 3461 (ftfont_resolve_generic_family): Avoid using uninitialized var.
8adb3a3b 3462 (ftfont_list_family): Initialize list var earlier.
11e3a6e4 3463
ab06788b
CY
3464 * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
3465
1e5ecd37 3466 * xterm.c (x_draw_glyph_string): Fall back on
0cff82ab 3467 underline_minimum_offset for underline position.
1e5ecd37 3468
63c125ab
DN
34692008-12-03 Dan Nicolaescu <dann@ics.uci.edu>
3470
3471 * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
3472
3473 * character.c (c_string_width): Specify the type for LEN.
3474
3a8406e1
KH
34752008-12-03 Kenichi Handa <handa@m17n.org>
3476
4ccfa1c0 3477 * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
453b38f0 3478 (decode_coding_utf_8): Likewise.
4ccfa1c0 3479 (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
4533845d 3480 (produce_chars): Initialize consumed_chars to 0.
3a8406e1 3481
651df7d9
CY
34822008-12-02 Chong Yidong <cyd@stupidchicken.com>
3483
3484 * keyboard.c (make_lispy_position): Only use PT if the selected
3485 window is current.
3486
1f625c6c
AS
34872008-12-02 Andreas Schwab <schwab@suse.de>
3488
f7741ce9
AS
3489 * font.c (font_unparse_fcname): Fix use of uninitialized variable.
3490
1f625c6c
AS
3491 * doprnt.c (doprnt1): Fix size of charbuf.
3492
92bc2678
CY
34932008-12-02 Chong Yidong <cyd@stupidchicken.com>
3494
3495 * keyboard.c (timer_check): Revert last change.
3496
93b9e8cc
JB
34972008-12-02 Juanma Barranquero <lekktu@gmail.com>
3498
3499 * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
3500
fd7a37d5
JB
35012008-12-01 Juanma Barranquero <lekktu@gmail.com>
3502
3503 * makefile.w32-in: Update dependencies.
3504 (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
3505
c115043b
AS
35062008-12-01 Andreas Schwab <schwab@suse.de>
3507
3508 * font.c (register_font_driver): Use xmalloc.
3509 (font_put_frame_data): Likewise.
3510
f5668d2a
CY
35112008-12-01 Chong Yidong <cyd@stupidchicken.com>
3512
860d96be
CY
3513 * xfaces.c (realize_x_face): Make abort condition clearer.
3514
f5668d2a
CY
3515 * gtkutil.c (update_frame_tool_bar): Initialize variable.
3516
379c17e7
CY
35172008-11-30 Chong Yidong <cyd@stupidchicken.com>
3518
3519 * keyboard.c (timer_check): After a timer runs, ensure that the
3520 selected window's buffer is current.
3521
35f36d65
JB
35222008-11-30 Juanma Barranquero <lekktu@gmail.com>
3523
f952c61c
JB
3524 * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
3525 It was accidentally restored by the Unicode merge.
3526
35f36d65
JB
3527 * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
3528
b23077df
JB
35292008-11-29 Juanma Barranquero <lekktu@gmail.com>
3530
3531 * w32proc.c: Include "coding.h".
3532 (Fw32_short_file_name): Encode filename passed to Windows API.
3533 (Fw32_long_file_name): Encode filename passed to Windows API and
3534 decode back the result. (Bug#1433)
3535
b8ebe9dd
KH
35362008-11-29 Kenichi Handa <handa@m17n.org>
3537
8cc53f96
KH
3538 * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
3539 not before accessing it.
3540
b8ebe9dd
KH
3541 * charset.c (Fdefine_charset_internal): After calculating
3542 min_char, max_char, and fastmap, copy the charset structure again.
3543 (encode_char): Fix the previous change.
3544
59bc82c0
SZ
35452008-11-28 Seiji Zenitani <zenitani@mac.com>
3546
3547 * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
3548
3549 * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
3550
3551 * nsterm.m (x_set_frame_alpha): New function.
3552
32247e3d
EZ
35532008-11-27 Eli Zaretskii <eliz@gnu.org>
3554
3555 * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
3556
b003e5ff
JB
35572008-11-27 Juanma Barranquero <lekktu@gmail.com>
3558
3559 * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
3560 pointer to check_face_name.
3561
708550f5
KH
35622008-11-27 Kenichi Handa <handa@m17n.org>
3563
3564 * category.h (SET_CATEGORY_SET): Call set_category_set.
3565 (set_category_set): Extern it.
3566
3567 * category.c (hash_get_category_set): New function.
3568 (Fmodify_category_entry): Adjusted for the change of
3569 char_table_ref_and_range. Call hash_get_category_set to get a
3570 category set to store in the table.
3571
3572 * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
3573 Funify_charset.
3574
2ae37cf0 3575 * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
708550f5
KH
3576 (DECODE_CHAR): Check if the decoder vector is ready.
3577 (ENCODE_CHAR): Check if the encoder char-table is ready.
3578 (maybe_unify_char): Extern it.
3579
3580 * charset.c (Vchar_unified_charset_table): Delete it.
3581 (inhibit_load_charset_map): New variable.
3582 (temp_charset_work): New variable.
3583 (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
3584 (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
3585 New macros.
3586 (load_charset_map): Meaning of control_flag changed. If
3587 inhibit_load_charset_map is nonzero, setup a table in
3588 temp_charset_work.
3589 (load_charset): New argument control_flag.
3590 (map_charset_for_dump): New function.
3591 (map_charset_chars): If inhibit_load_charset_map is nonzero, use
3592 map_charset_for_dump.
3593 (Fdefine_charset_internal): If the charset method is MAP, load
3594 mapping tables by calling load_charset.
3595 (Funify_charset): Don't load a mapping table but directly set
3596 Vchar_unify_table.
3597 (maybe_unify_char): New function.
3598 (decode_char): Don't handle the deleted method MAP_DEFERRED.
3599 Handle the case of inhibit_load_charset_map being nonzero.
3600 (encode_char): Don't handle the deleted method MAP_DEFERRED.
3601 Handle the case of inhibit_load_charset_map being nonzero.
3602 (Fclear_charset_maps): Just free temp_charset_work.
3603 (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
3604 variable.
3605
3606 * chartab.c (sub_char_table_ref_and_range): Adjusted for the
3607 change of char_table_ref_and_range.
3608 (char_table_ref_and_range): Change the meaning of argument FROM
3609 and TO. Now the caller must provide initial values for *FROM
3610 and *TO.
3611
3612 * fontset.c (fontset_add): Adjusted for the change of
3613 char_table_ref_and_range.
3614 (fontset_get_font_group): Likewise.
3615 (Ffontset_info): Likewise.
3616
3617 * keymap.c (describe_vector): Adjusted for the change of
3618 char_table_ref_and_range. For char-table, put boundary between
3619 non-ASCII and 8-bit characters.
3620
3621 * print.c (print_object): For bool-vector, delete unnecessary
3622 check of ASCII_BYTE_P.
3623
9196133b
JR
36242008-11-26 Jason Rumney <jasonr@gnu.org>
3625
3626 * w32font.c (w32font_open_internal): Don't include external
9acef61c 3627 leading in font height. (Bug#879)
9196133b 3628
9f688acf
GM
36292008-11-26 Glenn Morris <rgm@gnu.org>
3630
3631 * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
3632 redefinition with ifdef. (Bug#1383)
3633
90d19aff
AR
36342008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
3635
3636 * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
3637
4ccfa1c0 36382008-11-24 Wolfgang Lux <wolfgang.lux@gmail.com> (tiny change)
90d19aff
AR
3639
3640 * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
3641 New EmacsView methods.
3642 (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
3643 Fixes bug #1048,1357,1414.
3644
36452008-11-24 Adrian Robert <Adrian.B.Robert@gmail.com>
3646
3647 Fix bug #1362.
3648 * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
3649 is not an indexed color.
3650 * nsterm.m (free_indexed_color): Add argument checking.
3651 * nsfns.m: Move config.h to before system includes (advised by Dan N.).
3652
e7d5ecb3
CY
36532008-11-24 Chong Yidong <cyd@stupidchicken.com>
3654
3655 * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
3656 Document confirm-after-completion value for
3657 minibuffer-completion-confirm.
3658
c285743c
JR
36592008-11-24 Jason Rumney <jasonr@gnu.org>
3660
3661 * w32font.c (check_face_name): Use xstrcasecmp. Avoid compiler
3662 warning.
3663
b0857706
JR
36642008-11-23 Jason Rumney <jasonr@gnu.org>
3665
3666 * w32uniscribe.c (uniscribe_encode_char): Ensure context is
3667 restored before returning.
3668
3669 * w32font.c (check_face_name): New function.
3670 (add_font_entity_to_list): Use it to filter out common substituted
9acef61c 3671 fonts. (Bug#642)
b0857706 3672
ee50ff07
MR
36732008-11-22 Martin Rudalics <rudalics@gmx.at>
3674
3675 * buffer.c (Fswitch_to_buffer): Reword and mention new option
3676 confirm-nonexistent-file-or-buffer in doc-string.
3677
b8ff72fa
SM
36782008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
3679
3680 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
3681 Fix copy/paste typo. Add checks.
3682
cee53ed4
KH
36832008-11-21 Kenichi Handa <handa@m17n.org>
3684
3685 * coding.c (detect_coding_iso_2022): Reject invalid composition
3686 sequence.
3687 (DECODE_COMPOSITION_START): If the current source is the last
3688 block, and the current composition doesn't end, regard this
3689 sequence as invalid.
3690 (decode_coding_iso_2022): Handle invalid composition sequence.
3691
f6ef1e65
MR
36922008-11-20 Martin Rudalics <rudalics@gmx.at>
3693
3694 * window.c (coordinates_in_window): Don't return
3695 ON_VERTICAL_BORDER for the rightmost position of a mode/header
3696 line when the window is not the rightmost one. (Bug#1372)
3697
e08b1705
MR
36982008-11-16 Ben North <ben@redfrontdoor.org> (tiny change)
3699
3700 * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
3701
ad98e89f
EZ
37022008-11-15 Eli Zaretskii <eliz@gnu.org>
3703
3704 * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
3705 and bright_bg if noninteractive is non-zero.
3706
fb098a4b
CY
37072008-11-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3708
3709 * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
3710 x_draw_glyph_string_background.
3711
3712 * w32term.c (x_draw_glyph_string): Likewise.
3713
ce952b6e
CY
37142008-11-15 Chong Yidong <cyd@stupidchicken.com>
3715
3716 * xterm.c (x_draw_glyph_string): Stop drawing the background of
3717 the next glyph string once past the overhang width.
3718
3719 * nsterm.m (ns_draw_glyph_string): Likewise.
3720
3721 * w32term.c (x_draw_glyph_string): Likewise.
3722
26ea7079
CY
37232008-11-14 Fabrice Popineau <fabrice.popineau@supelec.fr> (tiny change)
3724
3725 * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
3726 double file close.
3727
1c33c906
MR
37282008-11-14 Martin Rudalics <rudalics@gmx.at>
3729
3730 * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
3731 dedicated status of window before attempting to display another
3732 buffer in it.
3733
8fc29035
JB
37342008-11-14 Juanma Barranquero <lekktu@gmail.com>
3735
3736 * msdos.c (Fmsdos_long_file_names):
3737 (syms_of_msdos) <dos-unsupported-char-glyph>:
3738 * dosfns.c (Fint86): Fix typos in docstrings.
3739
55fb4286
EZ
37402008-11-14 Eli Zaretskii <eliz@gnu.org>
3741
3742 * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
3743
3fda0315
KY
37442008-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
3745
3746 * puresize.h (BASE_PURESIZE): Increase to 1260000.
3747
7e849c17
CY
37482008-11-12 Michal Nazarewicz <mina86@tlen.pl> (tiny change)
3749
3750 * frame.c (x_set_alpha): Set alpha to -1 if nil given.
3751
3752 * frame.h: Negative alpha means "don't touch".
3753
3754 * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
3755
3756 * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
3757
b9fd67bd
DN
37582008-11-12 Dan Nicolaescu <dann@ics.uci.edu>
3759
3760 * hftctl.c:
3761 * chpdef.h:
3762 * acldef.h: Remove files used only for systems no longer supported.
3763
3764 * Makefile.in: Fix .o alphabetical ordering.
3765 (hftctl.o): Remove dependency, file removed.
3766 (keymap.o, print.o): Depend on charset.h.
3767
d5998e03
KH
37682008-11-10 Kenichi Handa <handa@m17n.org>
3769
2ae37cf0 3770 * character.c (Fget_byte): Fix and make it faster for unibyte target.
d5998e03 3771
be70e183
CY
37722008-11-08 Chong Yidong <cyd@stupidchicken.com>
3773
3774 * dired.c (file_name_completion): If completion_ignore_case is
3775 enabled, ignore case when checking completion-regexp-list.
3776
7cf94eac
EZ
37772008-11-08 Eli Zaretskii <eliz@gnu.org>
3778
3779 * vm-limit.c (get_lim_data): Fix last change.
3780
ee107a89
KH
37812008-11-08 Kenichi Handa <handa@m17n.org>
3782
3783 * character.c (Fget_byte): New function.
3784 (syms_of_character): Defsubr Fget_byte.
3785
5fd15622
CY
37862008-11-07 Chong Yidong <cyd@stupidchicken.com>
3787
3788 * xdisp.c (try_window_reusing_current_matrix): Ensure that window
3789 cursor position is valid after scrolling.
3790
13d62fad
JB
37912008-11-06 Juanma Barranquero <lekktu@gmail.com>
3792
3793 * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
3794
a1dd2936
GM
37952008-11-06 Glenn Morris <rgm@gnu.org>
3796
3797 * xterm.c (handle_one_xevent): Don't let popup menus cause
3798 mouse-autoselect-window related window switching. (Bug#1261)
3799
860cd236
CY
38002008-11-04 David Smith <davidsmith@acm.org> (tiny change)
3801
3802 * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
3803
653a3150
AS
38042008-11-04 Andreas Schwab <schwab@suse.de>
3805
3806 * xfns.c (Fx_wm_set_size_hint): Add missing return value.
3807
870f5cac
CY
38082008-11-03 Chong Yidong <cyd@stupidchicken.com>
3809
3810 * xfns.c (Fx_wm_set_size_hint): New function.
3811
1e02f3cb
MR
38122008-11-03 Martin Rudalics <rudalics@gmx.at>
3813
3814 * textprop.c (Fprevious_single_char_property_change): Return 0
3815 when there's no change in a string. (Bug#1301)
3816
e630dfc6
MR
38172008-11-02 Martin Rudalics <rudalics@gmx.at>
3818
3819 * frame.c (do_switch_frame): New argument NORECORD passed to
3820 Fselect_window.
3821 (Fselect_frame): New argument NORECORD passed to
3822 do_switch_frame.
3823 (Fset_frame_selected_window): New argument NORECORD passed to
3824 Fselect_frame.
3825 (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
3826 in call of do_switch_frame.
3827 (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
3828 Handle NORECORD argument in call of Fselect_frame.
3829 * lisp.h (do_switch_frame, Fselect_frame)
3830 (Fset_frame_selected_window): Adjust declarations.
3831 * window.c (select_frame_norecord): New function.
3832 (run_window_configuration_change_hook): Use it and call
3833 Fselect_frame with NORECORD set.
3834 (Fselect_window): Pass NORECORD to Fselect_frame.
3835 (Fset_window_configuration): Handle NORECORD argument in call of
3836 do_switch_frame.
3837 * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
3838 Fset_frame_selected_window.
3839 * keyboard.c (command_loop_1): Handle NORECORD in call of
3840 Fselect_frame (currently ifdefd).
3841
9020b223
GM
38422008-11-02 Ulrich Mueller <ulm@kph.uni-mainz.de>
3843
3844 * emacs.c (USAGE2): Untabify.
3845
793ffee8
SM
38462008-11-01 Stefan Monnier <monnier@iro.umontreal.ca>
3847
3848 * composite.c (fill_gstring_header): Fix copy/paste typo.
3849
ab6d1131
MR
38502008-10-31 Martin Rudalics <rudalics@gmx.at>
3851
3852 * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
3853 (Fother_window): Rename argument and rewrite doc-string.
3854 (select_window_norecord): Fix return value. (Bug#1276)
3855
601a9cf1
JB
38562008-10-30 Juanma Barranquero <lekktu@gmail.com>
3857
3858 * w32fns.c (x_create_tip_frame): Prevent default foreground color for
3859 new frames overriding foreground for tooltips. Based on similar patch
3860 from Martin Rudalics <rudalics@gmx.at>. (Bug#1032)
3861
813b0652
CY
38622008-10-29 Chong Yidong <cyd@stupidchicken.com>
3863
3864 * emacs.c (Fdaemon_initialized): Initialize nfd.
3865
4414f58f
MR
38662008-10-29 Martin Rudalics <rudalics@gmx.at>
3867
3868 * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
3869 (Fwindow_text_height): Clarify doc-strings.
3870 * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
3871 doc-string of window-scroll-functions.
3872
ecdcaa09
RS
38732008-10-28 Reiner Steib <Reiner.Steib@gmx.de>
3874
3875 * category.c (syms_of_category): Fix typo in docstring.
3876
23fe745a
JB
38772008-10-28 Juanma Barranquero <lekktu@gmail.com>
3878
3879 * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
3880 (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
3881 Fix typos in docstrings.
3882
ff808935
DN
38832008-10-28 Dan Nicolaescu <dann@ics.uci.edu>
3884
3885 * emacs.c (daemon_pipe): Make non-static.
3886 (IS_DAEMON): Move definition ...
3887 * lisp.h (IS_DAEMON): ... here.
3888 (daemon_pipe): Declare.
3889 (is_daemon): Remove.
3890 * dispnew.c (init_display): Use IS_DAEMON.
3891
fc012771
SM
38922008-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
3893
3894 * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
3895 (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
3896
3897 * emacs.c (is_daemon): Remove.
3898 (main): Don't set is_daemon.
3899 (IS_DAEMON): New macro.
3900 (Fdaemonp, Fdaemon_initialized): Use it.
601a9cf1 3901 (Fdaemon_initialized): Write a char into the pipe to make sure the
fc012771
SM
3902 parent exits.
3903 (syms_of_emacs): Explicitly initialize daemon_pipe[1].
3904
d8bdbe6f
CY
39052008-10-27 Chong Yidong <cyd@stupidchicken.com>
3906
d1a072bf
CY
3907 * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
3908 over-sized glyph, draw it with the default glyph width.
3909
e2e325aa
CY
3910 * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
3911 glyph, draw it with the default glyph width.
3912
3913 * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
3914 glyph, draw it with the default glyph width.
3915
d8bdbe6f
CY
3916 * xdisp.c (try_scrolling): When computing the distance from the
3917 scroll margin to PT, try moving some distance past the window
3918 bottom before giving up.
3919
7bfac547
MR
39202008-10-27 Martin Rudalics <rudalics@gmx.at>
3921
3922 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
3923 (Fset_window_buffer): Explain in doc-string that a window can be
3924 "strongly" dedicated to its buffer.
3925
4ff029f6
DN
39262008-10-27 Dan Nicolaescu <dann@ics.uci.edu>
3927
3928 * emacs.c (daemon_name): New variable.
3929 (main): Deal with --daemon=SERVER_NAME.
3930 (Fdaemonp): Return a name if one was passed to --daemon.
3931
5790ef40
DN
39322008-10-26 Romain Francoise <romain@orebokech.com>
3933
f9bd0df9 3934 * emacs.c (daemon_pipe): New variable.
5790ef40
DN
3935 (main): Create a pipe before forking, make the parent exit only after
3936 the child has closed its end of the pipe. Move closing the
3937 descriptors ...
3938 (Fdaemon_initialized): ... here. New function.
3939
f5385255
SM
39402008-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
3941
4d632321
SM
3942 * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
3943 the previous unoptimized table.
3944
f5385255
SM
3945 * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
3946 the distinction between non-nil and non-t value of `dedicated'.
3947
6c56a0f3
CY
39482008-10-25 Chong Yidong <cyd@stupidchicken.com>
3949
3950 * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
f5385255 3951 read_char_minibuf_menu_text is large enough to hold the menu string.
6c56a0f3 3952
fec89261
MR
39532008-10-25 Martin Rudalics <rudalics@gmx.at>
3954
3955 * window.c (Fget_buffer_window, Fdelete_windows_on)
3956 (Freplace_buffer_in_windows): Make buffer argument optional and
3957 rename to buffer_or_name.
3958
34fcddd0
CY
39592008-10-24 Chong Yidong <cyd@stupidchicken.com>
3960
f5385255
SM
3961 * xdisp.c (handle_single_display_spec, handle_display_prop):
3962 Undo 2005-05-16 change.
34fcddd0
CY
3963 (handle_stop): Pop iterator if it's loaded with an empty string.
3964 (get_overlay_strings_1): Don't save iterator if it's loaded with
3965 an empty string (bug#1201).
3966
064766f2
KH
39672008-10-24 Kenichi Handa <handa@m17n.org>
3968
3969 * ftfont.c (ftfont_otf_features): Fix previous change.
3970 (ftfont_otf_capability): Check FeatureList.FeatureCount before
3971 calling ftfont_otf_features.
3972
f9bd0df9 39732008-10-24 Kenichi Handa <handa@m17n.org>
064766f2
KH
3974
3975 * font.c (font_match_p): Fix for the case that a vector of
3976 characters is in script-representative-chars.
3977
1dae9197
MA
39782008-10-24 Michael Albinus <michael.albinus@gmx.de>
3979
3980 * dbusbind.c (xd_in_read_queued_messages): New variable.
f5385255 3981 (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw Qdbus_error.
1dae9197
MA
3982 (xd_read_queued_messages): Catch Qdbus_error from the macros.
3983 (all): Replace xsignal1, xsignal2, xsignal3 by the respective
3984 macro. (Bug#1186).
3985
f9bd0df9 39862008-10-23 Ali Bahrami <ali_gnu@emvision.com> (tiny change)
9b3362b8
DN
3987
3988 * s/sol2-10.h: New file.
3989
878a4584
JB
39902008-10-23 Juanma Barranquero <lekktu@gmail.com>
3991
3992 * xdisp.c (fill_glyph_string): Fix typo in source (though the
3993 poor beast has survived 9+ years and the jump from xterm.c!).
3994
cd265ca6
MR
39952008-10-23 Martin Rudalics <rudalics@gmx.at>
3996
3997 * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
3998 Reword doc-string.
f5385255 3999 (Fbury_buffer): In doc-string say what happens to the buffer's window.
cd265ca6 4000
472a4dc9
JB
40012008-10-23 Juanma Barranquero <lekktu@gmail.com>
4002
4003 * character.c (syms_of_character) <script-representative-chars>:
4004 <unicode-category-table>: Doc fixes.
4005
159bd5a2
NF
40062008-10-23 Noah Friedman <friedman@splode.com>
4007
4008 * coding.c (make_conversion_work_buffer): Check that
4009 Vcode_conversion_reused_workbuf is a live buffer, otherwise call
4010 Fget_buffer_create.
4011
49f9c344
KH
40122008-10-23 Kenichi Handa <handa@m17n.org>
4013
4014 * font.c (font_add_log): Check the values of extra properties.
4015
12bb3111
MR
40162008-10-22 Martin Rudalics <rudalics@gmx.at>
4017
4018 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
4019 Reword doc-string.
4020 (Fset_window_parameter): Use NILP.
4021 (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
f5385255 4022 (Frecenter): Use "selected" instead of "current" window in doc-strings.
12bb3111 4023
bbeb4e99
JB
40242008-10-22 Juanma Barranquero <lekktu@gmail.com>
4025
4026 * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
4027
40282008-10-22 Adrian Robert <Adrian.B.Robert@gmail.com>
cb83c00b
AR
4029
4030 * nsfns.m (ns_appkit_version): New function.
4031 (x-server-version): Use it.
4032 (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
4033 (x-server-vendor): Don't check_ns().
4034
4035 * nsterm.m (syms_of_nsterm): Drop ns-version-string.
4036
a9b555d3
JB
40372008-10-22 Juanma Barranquero <lekktu@gmail.com>
4038
4039 * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
4040 Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
4041
4626499f
KH
40422008-10-22 Kenichi Handa <handa@m17n.org>
4043
e3681952
KH
4044 * syntax.c (scan_words): Call word_boundary_p instead of comparing
4045 scripts.
4046
4626499f
KH
4047 * category.c (word_boundary_p): Check scripts instead of charset.
4048 Handle nil value in word-separating-categories and
4049 word-combining-categories.
4050 (syms_of_category): Fix docstrings of word-separating-categories
4051 and word-combining-categories.
4052
1560f91a
EZ
40532008-10-21 Eli Zaretskii <eliz@gnu.org>
4054
4055 * coding.c (Fencode_coding_region, Fdecode_coding_region)
4056 (Fdecode_coding_string, Fencode_coding_string): Doc fix.
4057
f4668441
MR
40582008-10-21 Martin Rudalics <rudalics@gmx.at>
4059
4060 * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
4061 Rename arg "buffer" to "buffer_or_name".
4062 (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
4063 it optional.
4064 (no_switch_window): Remove since the return value is not used.
a9b555d3 4065 (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
f4668441
MR
4066 Consider window as dedicated when Fwindow_dedicated_p returns a
4067 non-nil value.
4068 * lisp.h: Remove prototype for no_switch_window.
4069
fd75ddb2
JD
40702008-10-21 Jan Djärv <jan.h.d@swipnet.se>
4071
4072 * emacs.c (main): Unconditionally set PER_LINUX32 and exec
2ae37cf0 4073 temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
fd75ddb2 4074
07295713
KH
40752008-10-21 Kenichi Handa <handa@m17n.org>
4076
4077 * coding.c (detect_coding_charset): For iso-8859-* coding systems,
4078 check Vlatin_extra_code_table.
4079
712adc82
EZ
40802008-10-20 Eli Zaretskii <eliz@gnu.org>
4081
4082 * fileio.c (Fset_file_modes): Doc fix.
4083
f549eb0b
MA
40842008-10-19 Michael Albinus <michael.albinus@gmx.de>
4085
4086 * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
4087 in arrays.
4088
aac0c6e3
MR
40892008-10-19 Martin Rudalics <rudalics@gmx.at>
4090
4091 * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
4092 Mention kill-buffer in doc-string.
4093 (Fset_window_buffer): Reinsert tem check removed in last commit.
4094 (Fenlarge_window, Fshrink_window): Have argument names and
4095 doc-string follow Elisp manual more closely.
4096
40972008-10-18 Eli Zaretskii <eliz@gnu.org>
4098
4099 * fileio.c (Fset_file_modes): Doc fix.
4100
41012008-10-18 Martin Rudalics <rudalics@gmx.at>
4102
4103 * window.c (Fwindow_width, Fset_window_start)
4104 (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
f5385255
SM
4105 (Fdelete_windows_on, Freplace_buffer_in_windows):
4106 Make doc-strings follow code and Elisp manual more closely.
aac0c6e3
MR
4107 (Fwindow_dedicated_p): Make window argument optional.
4108 (Fset_window_dedicated_p): Rename argument "arg" to "flag".
4109 (Fset_window_buffer): Respect any non-nil dedicated value for
4110 window. Rename "buffer" argument to "buffer_or_name".
4111
41122008-10-18 Ulrich Mueller <ulm@gentoo.org>
4113
4114 * m/sh3.h: New file, machine description for SuperH.
4115
41162008-10-17 Martin Rudalics <rudalics@gmx.at>
4117
4118 * window.c (Fsplit_window): Rename arg horflag to horizontal.
4119
41202008-10-17 Kenichi Handa <handa@m17n.org>
4121
4122 * ftfont.c (ftfont_otf_features): Fix indexing
4123 gsub_gpos->FeatureList.Feature. Check the validity of indices.
4124
41252008-10-16 Magnus Henoch <mange@freemail.hu>
4126
4127 * dbusbind.c (Fdbus_call_method): Unbreak usage line.
4128 (Fdbus_call_method_asynchronously): Ditto.
4129 This change makes C-h f display the argument list.
4130
41312008-10-16 Chong Yidong <cyd@stupidchicken.com>
4132
4133 * fileio.c (Fexpand_file_name): Doc fix.
4134
4135 * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
4136 of :foreground and :background equivalent to unspecified (20.x
4137 compatibility).
4138
41392008-10-15 Eli Zaretskii <eliz@gnu.org>
4140
4141 * buffer.c (syms_of_buffer): Doc fix.
4142
41432008-10-14 Kenichi Handa <handa@m17n.org>
4144
4145 * font.c (font_clear_prop): When clearing font width, clear the
4146 average width field too.
4147
41482008-10-12 Andreas Schwab <schwab@suse.de>
4149
4150 * ftfont.c (ftfont_shape_by_flt): Make static.
4151 * ftfont.h (ftfont_shape_by_flt): Don't declare.
4152
4153 * font.c: Don't include <m17n-flt.h>.
4154
41552008-10-10 Eli Zaretskii <eliz@gnu.org>
4156
4157 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
4158
41592008-10-09 Eli Zaretskii <eliz@gnu.org>
4160
4161 * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
4162 away code.
4163
41642008-10-09 Chong Yidong <cyd@stupidchicken.com>
4165
4166 * dispnew.c (update_text_area): Avoid looping due to large glyph
4167 overhangs (bug#1070).
4168
41692008-10-09 Kenichi Handa <handa@m17n.org>
4170
4171 * fontset.c (face_for_char): If face->fontset is negative, just
4172 return ascii_face.
4173
f5385255
SM
4174 * font.c (font_delete_unmatched): Fix previous change.
4175 Don't reject an entity if DPI and AVGWIDTH of an entity are 0.
aac0c6e3
MR
4176
41772008-10-09 Martin Rudalics <rudalics@gmx.at>
4178
4179 * frame.c (Fraise_frame): On text-only terminals select frame in
4180 order to make it visible. (Bug#1061)
4181
41822008-10-08 Chong Yidong <cyd@stupidchicken.com>
4183
4184 * fontset.c (fontset_find_font): Check frame validity.
4185
41862008-10-07 Chong Yidong <cyd@stupidchicken.com>
4187
a9b555d3 4188 * gtkutil.c (xg_display_open): Reset default display if none exists.
aac0c6e3
MR
4189 (xg_display_close): Allow Emacs to close all displays (bug#985).
4190
41912008-10-06 Andreas Schwab <schwab@suse.de>
4192
f5385255 4193 * sysdep.c (sys_signal): Always set SA_RESTART when noninteractively.
aac0c6e3
MR
4194
41952008-10-06 Chong Yidong <cyd@stupidchicken.com>
4196
f5385255 4197 * emacs.c (Vbefore_init_time, Vafter_init_time): Move from startup.el.
aac0c6e3 4198
a9b555d3 4199 * lisp.h (Vbefore_init_time, Vafter_init_time): Declare.
aac0c6e3
MR
4200
4201 * gtkutil.c (x_wm_set_size_hint): Return immediately if called
4202 during initialization.
4203
42042008-10-04 Eli Zaretskii <eliz@gnu.org>
4205
4206 * xdisp.c (redisplay_internal): If frame switched, redisplay the
4207 whole thing on MSDOS frames as well as on a TTY.
4208
4209 * dispnew.c (update_frame): Flush termscript for MSDOS frames as
4210 well as for TTY.
4211 (Fopen_termscript): Allow opening a termscript on MSDOS frames as
4212 well as on a TTY.
4213
4214 * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
4215 as well as for TTY.
4216
4217 * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
4218
4219 * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
4220 MSDOS frames as well.
4221
42222008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
4223
4224 * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
4225 correct arguments.
b71ac3dd 4226 * menu.c (find_and_return_menu_selection): Add cast.
aac0c6e3
MR
4227
42282008-10-03 Glenn Morris <rgm@gnu.org>
4229
4230 * emacs.c (USAGE1): Add --daemon.
4231
42322008-10-02 Eli Zaretskii <eliz@gnu.org>
4233
4234 * process.c (procfs_system_process_attributes): Multiply `pcpu' by
4235 100, so it's in percents as advertised.
4236
42372008-10-02 Adrian Robert <Adrian.B.Robert@gmail.com>
4238
4239 * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
4240 (ns_output.current_cursor, ns_output.desired_cursor)
4241 (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
4242 (FRAME_NEW_CURSOR_COLOR): Remove.
4243
4244 * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
a9b555d3 4245 (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core Emacs
aac0c6e3
MR
4246 enumeration (HOLLOW_BOX_CURSOR, etc.).
4247
4248 * nsterm.m (ns_frame_rehighlight): Remove commented code.
4249 (draw_window_cursor): Simplify code.
f5385255
SM
4250 (EmacsView-windowDidBecomeKey:,-windowDidResignKey:):
4251 Don't change cursor type. In latter, call rehighlight instead of doing
aac0c6e3 4252 updates manually.
a9b555d3
JB
4253 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
4254 Use core Emacs cursor types.
aac0c6e3 4255
b8ff72fa 4256 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
aac0c6e3
MR
4257
42582008-10-02 Martin Rudalics <rudalics@gmx.at>
4259
4260 * process.c (Faccept_process_output): Fix doc-string.
4261
42622008-10-02 Dan Nicolaescu <dann@ics.uci.edu>
4263
4264 * gmalloc.c (__sbrk): Also define for uClibc.
4265
4266 * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
4267 for uClibc.
4268
42692008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4270
4271 * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
4272 styles.
4273 (nsfont_open): Reenable the cache.
4274
42752008-10-01 Adrian Robert <Adrian.B.Robert@gmail.com>
4276
4277 * font.c (font_matching_entity): Reflect ATTRS in font selection.
4278 (font_find_for_lface) [HAVE_NS]: Don't ignore case.
4279
42802008-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
4281
4282 * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
4283 a suspended terminal.
4284
42852008-09-30 Michael Albinus <michael.albinus@gmx.de>
4286
4287 * dbusbind.c (xd_signature): Use strcat instead of sprintf.
4288
42892008-09-30 Eli Zaretskii <eliz@gnu.org>
4290
4291 * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
4292
42932008-09-30 Chong Yidong <cyd@stupidchicken.com>
4294
4295 * xdisp.c (move_it_to): Don't advance the iterator if the last tab
4296 in a continued line coincides with a line beginning.
4297
42982008-09-29 Adrian Robert <Adrian.B.Robert@gmail.com>
4299
4300 * nsfont.m (nsfont_trait_distance): Fix bug.
4301 (nsfont_list): Return a list rather than a vector (syncs with Handa
4302 changes of 2008-05-14).
4303 (nsfont_open): Improve logging.
4304
43052008-09-29 Andreas Schwab <schwab@suse.de>
4306
4307 * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
4308
43092008-09-28 Martin Rudalics <rudalics@gmx.at>
4310
4311 * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
4312 name as char-resolve-modifiers.
4313 Reported by: Markus Triska <markus.triska@gmx.at>
4314
43152008-09-28 Dan Nicolaescu <dann@ics.uci.edu>
4316
4317 * dispnew.c (init_display): Return earlier when running as a daemon.
4318
43192008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
4320
4321 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
4322
43232008-09-27 Eli Zaretskii <eliz@gnu.org>
4324
4325 * composite.c (Fcomposition_get_gstring)
4326 (Fcompose_region_internal, Fcompose_string_internal)
4327 (Ffind_composition_internal): Doc fix.
4328 (syms_of_composite) <compose-chars-after-function>: Doc fix.
4329 (syms_of_composite) <auto-composition-function>: Doc fix.
4330 (syms_of_composite) <composition-function-table>: Doc fix.
4331
43322008-09-25 Chong Yidong <cyd@stupidchicken.com>
4333
4334 * search.c (wordify): New argument for lax word-ends.
4335 (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
4336
43372008-09-24 Dan Nicolaescu <dann@ics.uci.edu>
4338
4339 * lisp.h (is_daemon): Declare.
4340 * dispnew.c (init_display): Do not try to initialize the terminal
4341 when running as a daemon.
4342
43432008-09-22 Chong Yidong <cyd@stupidchicken.com>
4344
4345 * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
4346 x_display_pixel_height.
4347
43482008-09-22 Martin Rudalics <rudalics@gmx.at>
4349
4350 * undo.c (record_point): Don't call Fundo_boundary for first
4351 change. (Bug#731)
4352
43532008-09-22 Juanma Barranquero <lekktu@gmail.com>
4354
4355 * emacs.c (Fdaemonp): Doc fix.
4356
43572008-09-22 Dan Nicolaescu <dann@ics.uci.edu>
4358
4359 * emacs.c (main): Place #ifdef in the proper place.
4360
43612008-09-21 Dan Nicolaescu <dann@ics.uci.edu>
4362
4363 * emacs.c (standard_args): Add --daemon.
4364 (main): Disconnect from the terminal when --daemon is passed.
4365 (is_daemon): New variable.
4366 (Fdaemonp): New function.
4367 (syms_of_emacs): Defsubr it.
4368
43692008-09-20 Chong Yidong <cyd@stupidchicken.com>
4370
4371 * xdisp.c (get_next_display_element): Handle string display
4372 correctly when checking for the end of a box run.
4373
43742008-09-20 Glenn Morris <rgm@gnu.org>
4375
4376 * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
4377 (syms_of_fileio): Add Qdelete_by_moving_to_trash.
4378 (Frename_file): Avoid copying to trash if a rename involves
4379 a delete. (Bug#964).
4380
43812008-09-20 Eli Zaretskii <eliz@gnu.org>
4382
4383 * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
4384 (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
4385 frames as well as termcap frames.
4386 (handle_interrupt): Remove "#ifndef MSDOS" around the call to
4387 get_named_tty.
4388
43892008-09-19 Eli Zaretskii <eliz@gnu.org>
4390
4391 * process.c (procfs_system_process_attributes): Fix cmdline in
4392 case /proc/PID/cmdline is empty.
4393
4394 * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
4395 x_display_pixel_height.
4396
43972008-09-19 Juanma Barranquero <lekktu@gmail.com>
4398
4399 * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
4400
4401 * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
4402 (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
4403
44042008-09-19 Dan Nicolaescu <dann@ics.uci.edu>
4405
4406 * dispextern.h (struct it): Move line_wrap away from the middle of
4407 bitfields. Move voffset in struct iterator_stack_entry after the
4408 bitfields. Move tab_width near after another short.
4409
44102008-09-18 Dan Nicolaescu <dann@ics.uci.edu>
4411
4412 * frame.h (struct frame): Move alpha from the middle of bitfields.
4413
4414 * window.h (struct window): Move frozen_window_start_p after the
4415 rest of the bitfields to reduce padding.
4416
44172008-09-18 Chong Yidong <cyd@stupidchicken.com>
4418
4419 * xterm.h (x_display_info): Remove `height' and `width' members.
4420
4421 * nsterm.h (ns_display_info): Remove `height' and `width' members.
4422
4423 * w32term.h (w32_display_info): Remove `height', `width',
4424 `height_in', and `width_in' members.
4425
b8ff72fa
SM
4426 * xterm.c (x_display_pixel_height, x_display_pixel_width):
4427 New functions.
aac0c6e3
MR
4428 (x_calc_absolute_position): Use them.
4429 (x_term_init): Omit removed `height' and `width' members.
4430
b8ff72fa
SM
4431 * w32term.c (x_display_pixel_height, x_display_pixel_width):
4432 New functions.
aac0c6e3
MR
4433 (w32_read_socket, x_calc_absolute_position): Use them.
4434 (w32_initialize_display_info, w32_term_init): Omit removed members
4435 of w32_display_info.
4436
b8ff72fa
SM
4437 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
4438 New functions.
4439 (ns_initialize_display_info): Omit removed members of ns_display_info.
aac0c6e3 4440
b8ff72fa
SM
4441 * xterm.c (x_display_pixel_height, x_display_pixel_width):
4442 New functions.
aac0c6e3
MR
4443 (x_calc_absolute_position): Use them.
4444 (x_term_init): Omit removed `height' and `width' members.
4445
4446 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
b8ff72fa
SM
4447 (compute_tip_xy):
4448 * frame.c (x_fullscreen_adjust):
aac0c6e3
MR
4449 * xmenu.c (menu_position_func): Use x_display_pixel_height and
4450 x_display_pixel_width.
4451
44522008-09-18 Kenichi Handa <handa@m17n.org>
4453
4454 * composite.c (fill_gstring_header): Don't check FROM and TO here.
4455 (composition_compute_stop_pos): Fix handling of static composition.
4456 (Fcomposition_get_gstring): Check FROM and TO at first.
4457
44582008-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
4459
46e722a9 4460 * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Object
aac0c6e3
MR
4461 mixup (YAILOM).
4462
44632008-09-17 Chong Yidong <cyd@stupidchicken.com>
4464
4465 * indent.c (Fvertical_motion): Use position reported by iterator
4466 instead of PT for determining screen motion (bug#943).
4467
44682008-09-17 Romain Francoise <romain@orebokech.com>
4469
4470 * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
4471
44722008-09-17 Kenichi Handa <handa@m17n.org>
4473
4474 * ftfont.c (ftfont_shape_by_flt): Downcase family name.
4475
4476 * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
4477 if necessary.
4478
44792008-09-16 Kenichi Handa <handa@m17n.org>
4480
4481 * coding.c (make_conversion_work_buffer): Avoid calling
4482 Fget_buffer_create if it is not necessary.
4483
44842008-09-15 Martin Rudalics <rudalics@gmx.at>
4485
4486 * window.c (Fselect_window): Don't update window_select_count and
4487 use_time when norecord is not nil.
4488
44892008-09-14 Kenichi Handa <handa@m17n.org>
4490
4491 * fileio.c (Finsert_file_contents): Delete incorrect decrement of
4492 specpdl_ptr.
4493
44942008-09-12 Kenichi Handa <handa@m17n.org>
4495
4496 * indent.c (scan_for_column): Don't handle automatic composition
4497 if the current buffer is not associated with a window.
4498
4499 * composite.c (composition_reseat_it): If the current buffer is
4500 not associated with a window, ignore the automatic composition.
4501 (find_automatic_composition): Likewise.
4502
45032008-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
4504
4505 * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
4506 (Fgpm_mouse_stop): Use it.
4507 * termhooks.h (close_gpm): Declare.
4508 * keyboard.c (tty_read_avail_input): Forcefully close the gpm
4509 connection if Gpm_GetEvent fails.
4510
4511 * window.c (set_window_buffer): Always preserve current-buffer.
4512
45132008-09-12 Glenn Morris <rgm@gnu.org>
4514
4515 * charset.c (init_charset): Warn if etc/charsets not found. (Bug#909)
4516
45172008-09-11 Glenn Morris <rgm@gnu.org>
4518
4519 * charset.c (charset-map-path): Doc fix.
4520
45212008-09-10 Kenichi Handa <handa@m17n.org>
4522
4523 * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
4524
4525 * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
4526 compose a grapheme cluster with the preceding base glyph.
4527
4528 * composite.c (composition_compute_stop_pos): Fix previous change.
4529 Reset cmp_it->id to -1 at first.
4530
45312008-09-10 Glenn Morris <rgm@gnu.org>
4532
4533 * Makefile.in (character.o, chartab.o): Fix config.h typo.
4534
45352008-09-09 Chong Yidong <cyd@stupidchicken.com>
4536
4537 * keyboard.c (read_key_sequence): Reapply translation maps when
4538 switching keyboards.
4539
45402008-09-09 Kenichi Handa <handa@m17n.org>
4541
4542 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
4543 characters.
4544
4545 * composite.c (FORWARD_CHAR): Fix calculation
4546 of (POSITION).pos_byte.
4547 (composition_compute_stop_pos): Limit the search of composition to
4548 at most 500 characters ahead. If we reach the limit or find a
4549 newline, set cmp_it->ch to -2 and return 0.
4550 (composition_reseat_it): Handle the case that cmp_it->ch is -2.
4551
45522008-09-08 Kenichi Handa <handa@m17n.org>
4553
4554 * indent.c (Fvertical_motion): Be sure to set
4555 it_overshoot_expected if it.cmp_it.id is non-negative.
4556
45572008-09-07 Andreas Schwab <schwab@suse.de>
4558
4559 * callproc.c (Fcall_process): Don't hold references to string data
4560 across garbage collection. Move initialisation of new_argv down
4561 to avoid compiler bug.
4562
45632008-09-07 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
4564
4565 * process.c (Fsystem_process_attributes): Doc fix.
4566
45672008-09-07 Chong Yidong <cyd@stupidchicken.com>
4568
4569 * callproc.c (Fcall_process): Canonicalize current directory name.
4570
4571 * xdisp.c (move_it_to): When moving by vpos, ensure that the
4572 iterator advances to the next line if the current line ends in a
4573 continued tab.
4574
45752008-09-07 Teodor Zlatanov <tzz@lifelogs.com>
4576
4577 * nsfont.m (nsfont_draw): Fix the references to missing gidx data
4578 member to point to cmp_from.
4579
4580 * xdisp.c: Doc fix for references to gidx data member.
4581
45822008-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
4583
4584 * buffer.c (Fbuffer_swap_text): Reset window->point markers.
4585
45862008-09-07 Kenichi Handa <handa@m17n.org>
4587
4588 * composite.c (FORWARD_CHAR): Check STOP after
4589 incrementing (POSITION).pos.
4590
45912008-09-06 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
4592
4593 * process.c (Fsystem_process_attributes): Doc fix.
4594
45952008-09-06 Chong Yidong <cyd@stupidchicken.com>
4596
4597 * keyboard.c (Ftop_level): Doc fix.
4598
45992008-09-06 Eli Zaretskii <eliz@gnu.org>
4600
4601 * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
4602 minibuffer, don't let lower part of menu invade the echo area.
4603
4604 * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
4605 "char *q" to access menu text and advance through it. Revert the
4606 change that displayed ">" instead of ASCII character 0x10.
4607
46082008-09-05 Eli Zaretskii <eliz@gnu.org>
4609
4610 * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
4611 toggle boxes and radio buttons on MS-DOS as well.
4612
46132008-09-05 Kenichi Handa <handa@m17n.org>
4614
4615 * composite.c (autocmp_chars): Check lookback count.
4616 (composition_compute_stop_pos): Set cmp_it->lookback.
4617 (composition_reseat_it): Check lookback count.
4618 (struct position_record): New struct.
4619 (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
4620 (find_automatic_composition): New function.
4621 (composition_adjust_point): Use find_automatic_composition.
4622
4623 * dispextern.h (struct composition_it): New member lookback.
4624
46252008-09-02 Chong Yidong <cyd@stupidchicken.com>
4626
4627 * indent.c (Fvertical_motion): Don't call move_it_by_lines again
4628 if moving by a single line.
4629
46302008-09-02 Andreas Schwab <schwab@suse.de>
4631
4632 * xterm.c (x_delete_display): Fix merge error.
4633
4634 * fileio.c (Fexpand_file_name): Remove unused variables.
4635
46362008-09-02 Eli Zaretskii <eliz@gnu.org>
4637
4638 * fileio.c (Fexpand_file_name): Copy argument `name' into local
4639 storage on all platforms, not just on DOS_NT.
4640
46412008-09-02 Jason Rumney <jasonr@gnu.org>
4642
b8ff72fa
SM
4643 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
4644 Ensure mouse is not grabbed after menu is finished.
aac0c6e3
MR
4645
46462008-09-01 Chong Yidong <cyd@stupidchicken.com>
4647
4648 * xfaces.c (Finternal_set_alternative_font_family_alist)
4649 (Finternal_set_alternative_font_registry_alist): Properly copy
4650 entire alist structure.
4651
46522008-09-01 Kenichi Handa <handa@m17n.org>
4653
d66c0241 4654 * ftfont.c (ftfont_spec_pattern): Don't create a charset if the
aac0c6e3 4655 representative chars of the script is a vector.
d66c0241
JB
4656 (ftfont_list): Handle the case where the representative chars of
4657 the script is a vector.
aac0c6e3
MR
4658
4659 * character.c (syms_of_character): Docstring of
4660 script-representative-chars fixed.
4661
46622008-08-31 Eli Zaretskii <eliz@gnu.org>
4663
4664 * msdos.c (BUILD_CHAR_GLYPH): New macro.
4665 (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
4666 the menu. Allocate larger buffer for `text', to account for
4667 possible ^C characters.
4668
46692008-08-31 Martin Rudalics <rudalics@gmx.at>
4670
4671 * xdisp.c (prepare_menu_bars): Don't call
4672 Vwindow_size_change_functions with arg Qt.
4673
46742008-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
4675
4676 * font.h (font_range):
4677 * fileio.c (report_file_error):
46e722a9
SM
4678 * composite.c (composition_update_it): Yet another int/Lisp_Object
4679 mixup (YAILOM).
aac0c6e3
MR
4680
46812008-08-30 Glenn Morris <rgm@gnu.org>
4682
4683 * data.c (Fmake_variable_frame_local): Doc fix.
4684
4685 * frame.c (Fmodify_frame_parameters): Doc fix.
4686
46872008-08-30 Eli Zaretskii <eliz@gnu.org>
4688
4689 * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
4690 needed by GetTokenInformation.
4691 (w32_system_process_attributes): Check return values of all system
4692 APIs.
4693
4694 * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
4695 only when the state changes.
4696 (IT_update_begin, IT_update_end): Add termscript trace.
4697
4698 * w16select.c (Fw16_set_clipboard_data): Don't encode text if
4699 clipboard is unavailable. Set dst to NULL if it doesn't point to
4700 malloc'ed data.
4701 (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
4702 passing random values to xfree.
4703
4704 * dispnew.c (init_display): Set `tty's association in frame's
b8ff72fa 4705 parameters alist to the name of the terminal device, if that is known.
aac0c6e3
MR
4706
47072008-08-29 Jason Rumney <jasonr@gnu.org>
4708
4709 * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
4710
47112008-08-29 Eli Zaretskii <eliz@gnu.org>
4712
4713 * composite.c (fill_gstring_body): Avoid compiler warnings.
4714
4715 * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
4716 LGLYPH_SET_CODE to avoid compiler warnings.
4717
2ae37cf0 4718 * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h.
aac0c6e3
MR
4719
4720 * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
4721
4722 * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
4723 LGLYPH_SET_CODE.
4724
47252008-08-29 Kenichi Handa <handa@m17n.org>
4726
4727 * fileio.c (report_file_error): Don't downcase the first character
4728 of errstring if it is still unibyte.
4729
47302008-08-29 Kenichi Handa <handa@m17n.org>
4731
4732 These changes are to re-implement the automatic composition so
4733 that it doesn't use text properties.
4734
4735 * Makefile.in (ftfont.o): Depend on composite.h.
4736 (composite.o): Depend dispextern.h, font.h, frame, and window.h.
4737
4738 * character.h (Vunicode_category_table): Extern it.
4739
4740 * character.c (Vunicode_category_table): New variable.
4741 (syms_of_character): DEFVAR_LISP Vunicode_category_table.
4742
4743 * chartab.c (optimize_sub_char_table): Perform more greedy
4744 optimization.
4745
b8ff72fa
SM
4746 * composite.h (enum composition_method):
4747 Delete COMPOSITION_WITH_GLYPH_STRING.
aac0c6e3
MR
4748 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
4749 (Vcomposition_function_table): Extern it.
4750 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
4751 (composition_gstring_put_cache, composition_gstring_from_id)
4752 (composition_gstring_p, composition_gstring_width)
4753 (composition_compute_stop_pos, composition_reseat_it)
4754 (composition_update_it, composition_adjust_point): Extern them.
4755 (Fcomposition_get_gstring): EXFUN it.
4756
d66c0241 4757 * composite.c: Include window.h, frame.h, dispextern.h, font.h.
aac0c6e3
MR
4758 (Vcomposition_function_table)
4759 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
b8ff72fa
SM
4760 (gstring_hash_table, gstring_work, gstring_work_headers):
4761 New variables.
aac0c6e3
MR
4762 (gstring_lookup_cache, composition_gstring_put_cache)
4763 (composition_gstring_from_id, composition_gstring_p)
4764 (composition_gstring_width, fill_gstring_header)
4765 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
4766 (composition_reseat_it, composition_update_it)
b8ff72fa 4767 (composition_adjust_point, Fcomposition_get_gstring): New functions.
aac0c6e3
MR
4768 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
4769 and gstring_work_headers. DEFVAR_LISP composition-function-table.
4770 Defsubr compostion_get_gstring.
4771
4772 * dispextern.h (struct glyph): New union u.cmp. Delete the member
4773 cmp_id.
4774 (struct glyph_string): Delete the member gidx. New members
4775 cmp_id, cmp_from, and cmp_to.
4776 (enum it_method): Delete GET_FROM_COMPOSITION.
4777 (struct composition_it): New struct.
4778 (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
4779 Delete c, len, cmp_id, cmp_len in u.comp.
4780
4781 * font.h (enum lgstring_indices): Delete it.
b8ff72fa 4782 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
aac0c6e3 4783 (enum lglyph_indices): Likewise.
b8ff72fa 4784 (font_range): Adjust extern.
aac0c6e3
MR
4785 (font_fill_lglyph_metrics): Extern it.
4786
4787 * font.c (QCf): New variable.
4788 (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
4789 (font_prepare_composition): Delete this function.
4790 (font_range): Type and arguments changed.
4791 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
4792 (font_fill_lglyph_metrics): New function.
b8ff72fa 4793 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
aac0c6e3 4794 (syms_of_font): DEFSYM QCf. Delete defsubr for
b8ff72fa
SM
4795 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
4796 Defsubr Sfont_shape_gstring.
aac0c6e3
MR
4797
4798 * fontset.h (font_for_char): Extern it.
4799
4800 * fontset.c (font_for_char): New function.
4801
4802 * ftfont.c: Include composite.h.
4803 (ftfont_resolve_generic_family): Add langset "en" to pattern.
b8ff72fa 4804 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
aac0c6e3
MR
4805
4806 * indent.c: Include composite.h and dispextern.h.
4807 (check_composition): Delete this function.
4808 (scan_for_column): Handle composition by
4809 composition_compute_stop_pos, composition_reseat_it, and
4810 composition_update_it.
4811 (compute_motion): Likewise.
4812 (Fvertical_motion): Fix checking of composition.
4813
4814 * keyboard.c (adjust_point_for_property): Check composition by
4815 composition_adjust_point.
4816
b8ff72fa 4817 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
aac0c6e3
MR
4818 struct glyph_string.
4819
b8ff72fa
SM
4820 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
4821 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3
MR
4822 struct glyph.
4823 (produce_composite_glyph): Likewise.
4824
b8ff72fa
SM
4825 * w32term.c (x_draw_composite_glyph_string_foreground):
4826 Adjust for the change of struct glyph_string.
aac0c6e3
MR
4827 (x_draw_glyph_string): Likewise.
4828
4829 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
4830 (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
4831
4832 * xdisp.c: Include font.h.
4833 (it_props): Delete the entry for Qauto_composed.
4834 (init_iterator): Initialize it->cmp_it.id to -1.
4835 (compute_stop_pos): Call composition_compute_stop_pos.
b8ff72fa 4836 (face_before_or_after_it_pos): Adjust for the change of struct it.
aac0c6e3
MR
4837 (handle_auto_composed_prop): Delete it.
4838 (handle_composition_prop): Handle only static composition.
4839 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
4840 from xassert. Initialize it->cmp_it.stop_pos.
b8ff72fa 4841 (push_it): Adjust for the change of struct it.
aac0c6e3
MR
4842 (pop_it): Likewise.
4843 (get_next_element): Delete next_element_from_composition.
4844 (CHAR_COMPOSED_P): New macro.
4845 (get_next_display_element): For automatic composition, get a face
4846 from the font in the glyph-string.
4847 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
b8ff72fa 4848 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
aac0c6e3
MR
4849 (next_element_from_string): Check if the character at the current
4850 position is composed by CHAR_COMPOSED_P.
4851 (next_element_from_buffer): Likewise.
d66c0241
JB
4852 (next_element_from_composition): Adjust for the change of struct it.
4853 Update it->cmp_it.
b8ff72fa
SM
4854 (dump_glyph): Adjust for the change of struct glyph.
4855 (fill_composite_glyph_string): Adjust for the change of struct
aac0c6e3
MR
4856 it and struct glyph. Don't handle automatic composition here.
4857 (fill_gstring_glyph_string): New function.
4858 (x_get_glyph_overhangs): Handle automatic composition.
b8ff72fa 4859 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
aac0c6e3
MR
4860 (BUILD_GSTRING_GLYPH_STRING): New macro.
4861 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
4862 automatic composition.
b8ff72fa 4863 (append_composite_glyph): Adjust for the change of struct it and
aac0c6e3 4864 struct glyph.
b8ff72fa 4865 (x_produce_glyphs): Adjust for the change of struct it.
aac0c6e3 4866
b8ff72fa 4867 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
aac0c6e3
MR
4868 the change of struct glyph_string.
4869 (x_draw_glyph_string): Likewise.
4870
48712008-08-29 Glenn Morris <rgm@gnu.org>
4872
4873 * buffer.c (word-wrap): Doc fix.
4874 * xdisp.c (truncate-partial-width-windows): Doc fix.
4875 Increase default to 50.
4876
48772008-08-29 Chong Yidong <cyd@stupidchicken.com>
4878
4879 * xdisp.c (update_tool_bar_unwind): New function.
4880 (update_tool_bar): Temporarily set selected frame before building
4881 tool-bar items.
4882
48832008-08-28 Michael Albinus <michael.albinus@gmx.de>
4884
4885 * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
4886 snprintf, respectively.
4887 (xd_append_arg): Convert strings with Fstring_make_unibyte.
4888
48892008-08-28 Chong Yidong <cyd@stupidchicken.com>
4890
4891 * Makefile.in: Revert (undocumented) 2008-08-20 change adding
4892 LDFLAGS to GNUstep CC invocation.
4893
48942008-08-27 Chong Yidong <cyd@stupidchicken.com>
4895
4896 * indent.c (Fvertical_motion): Revert last change. Handle the
4897 general case where we are moving forward, and PT spans multiple
4898 screen lines.
4899
4900 * eval.c (find_handler_clause): Temporarily increase
4901 max-lisp-eval-depth while printing the backtrace buffer, to
4902 guarantee that help-mode code can run.
4903
49042008-08-27 Eli Zaretskii <eliz@gnu.org>
4905
4906 * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
4907 colors under -rv.
4908 (IT_set_frame_parameters): Don't swap foreground and background
4909 colors if `(reverse . t)' is present in the frame properties.
4910 (internal_terminal_init): Call init_frame_faces only for the
4911 initial frame.
4912
49132008-08-27 Andreas Schwab <schwab@suse.de>
4914
4915 * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
4916
49172008-08-27 Andreas Schwab <schwab@suse.de>
4918
4919 * search.c (search_buffer): Set char_base to zero only at the end.
4920
49212008-08-27 Kenichi Handa <handa@m17n.org>
4922
b8ff72fa 4923 * fileio.c (report_file_error): Fix handling of multibyte error string.
aac0c6e3
MR
4924
49252008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
4926
4927 * xterm.c (x_term_init): Temporarily hide the partially
4928 initialized terminal while calling vendor-specific-keysyms.
4929
49302008-08-26 Eli Zaretskii <eliz@gnu.org>
4931
4932 * msdos.c (internal_terminal_init): Most initializations done only
4933 once, especially initial_screen_colors[] and termscript open.
4934
49352008-08-26 Chong Yidong <cyd@stupidchicken.com>
4936
4937 * eval.c (Fcondition_case): Doc fix.
4938
4939 * widgetprv.h (EmacsFramePart): Change font member to the new font
4940 struct.
4941
4942 * widget.c: Include character.h and font.h for XSETFONT.
4943 (setup_frame_gcs): Compute X font id from font struct, just once.
4944
49452008-08-26 Eli Zaretskii <eliz@gnu.org>
4946
4947 * term.c (get_named_tty): Fix last change.
4948
49492008-08-26 Chong Yidong <cyd@stupidchicken.com>
4950
4951 * indent.c (Fvertical_motion): If moving forward starting from a
b8ff72fa 4952 multi-line string, move the iterator to the last line of that string.
aac0c6e3
MR
4953
49542008-08-25 Eli Zaretskii <eliz@gnu.org>
4955
4956 * frame.c (do_switch_frame): Mark previously displayed frame as
4957 obscured for FRAME_MSDOS_P frames as well.
4958
49592008-08-24 Eli Zaretskii <eliz@gnu.org>
4960
4961 * frame.c (make_terminal_frame): Initialize f->terminal,
4962 f->terminal->reference_count, and scroll bars on MS-DOS as well.
4963 Set the top frame to newly created frame.
4964 (Fmake_terminal_frame): Reuse the_only_display_info.
4965
4966 * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
4967 estimating available memory.
4968
b97439ce 49692008-08-23 David Reitter <david.reitter@gmail.com>
aac0c6e3
MR
4970
4971 * nsterm.m (ns_draw_window_cursor): Don't call
4972 NSDisableScreenUpdates and NSEnableScreenUpdates on
4973 non-NS_IMPL_COCOA systems.
4974
49752008-08-23 Andreas Schwab <schwab@suse.de>
4976
4977 * process.c (procfs_system_process_attributes): Fix use of
4978 uninitialized variables.
4979
49802008-08-23 Eli Zaretskii <eliz@gnu.org>
4981
4982 * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
4983
4984 * dispnew.c (init_display): Remove MS-DOS specific conditions for
4985 calling tty-set-up-initial-frame-faces.
4986
b8ff72fa
SM
4987 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
4988 Allow MSDOS frames along with X frames.
aac0c6e3
MR
4989
4990 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
4991 addition to output_termcap.
4992
4993 * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
4994
4995 * termchar.h (FRAME_TTY): Support output_msdos_raw.
4996 (struct tty_display_info) [MSDOS]: Add fields related to mouse
4997 highlight.
4998
4999 * process.c [!subprocesses]: Define QCname.
5000 (syms_of_process): Intern and staticpro it.
5001
5002 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
b8ff72fa
SM
5003 Adjust for changes in encoding/decoding routines.
5004 Use encode_coding_object and decode_coding_object instead of
aac0c6e3
MR
5005 encode_coding and decode_coding.
5006
b8ff72fa 5007 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
aac0c6e3
MR
5008
5009 * dosfns.c: Include frame.h before termhooks.h.
5010 (dos_cleanup): Use CURTTY ()->termscript instead of a global
5011 variable termscript.
5012
5013 * s/msdos.h (USER_FULL_NAME): Define.
5014 (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
5015
5016 * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
5017 (Fuser_full_name): Use USER_FULL_NAME instead of a literal
5018 pw->pw_gecos.
5019
5020 * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
5021 SELECTED_FRAME as additional (1st) argument.
5022 (tty_read_avail_input): Handle output_msdos_raw in
5023 addition to output_termcap.
5024
5025 * msdos.c: Include frame.h before termhooks.h.
5026 (mouse_on, mouse_off, mouse_moveto, mouse_init)
5027 (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
5028 (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
5029 (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
5030 (IT_set_terminal_modes, IT_reset_terminal_modes)
5031 (IT_set_frame_parameters): Use tty->termscript instead of a global
5032 variable termscript.
5033 (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
5034 global variable terminal_coding. Don't refer to
5035 Vnonascii_translation_table.
5036 (internal_terminal_init): Set Vwindow_system in current_kboard.
5037 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
5038 Announce date and time of session start, if termscript is open.
5039 Don't zero out the_only_display_info (it is done in
b8ff72fa
SM
5040 term.c:init_tty). Open termscript only of not already open.
5041 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
aac0c6e3
MR
5042 here instead of dos_ttraw. Don't initialize display if this is an
5043 initial tty. Don't set FRAME_FONT.
5044 (Vwindow_system_version): Bump to 23.
5045 (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse
5046 is available, set up mouse_position_hook.
5047 (dos_ttraw, IT_set_terminal_modes): If called with initial
5048 terminal, do nothing.
5049 (IT_set_frame_parameters): Handle the Qtty_type frame
5050 parameter by calling internal_terminal_init.
5051 (dos_set_window_size, show_mouse_face)
5052 (clear_mouse_face, IT_note_mode_line_highlight)
5053 (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
5054 (dos_rawgetc): Use tty_display_info instead of x_display_info.
5055 (initialize_msdos_display): New function.
5056 (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
5057 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
5058 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
5059 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
b8ff72fa 5060 Accept additional argument: a pointer to a frame. Update all callers.
aac0c6e3
MR
5061 (request_sigio, unrequest_sigio): Don't define, now defined on
5062 sysdep.c.
5063 (IT_write_glyphs): Rewrite to use encode_terminal_code.
5064
5065 * term.c [MSDOS]: Include msdos.h.
5066 (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch. Change cpp
5067 conditional to DOS_NT. Allow only one call to this function in a
5068 session. Don't allocate a new struct tty_display_info; instead,
5069 reuse the_only_display_info. Call get_tty_size to get screen
5070 dimensions. Call init_baud_rate to set bad_rate.
5071 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
5072 (Fsuspend_tty) [MSDOS]: Don't close input and output.
b8ff72fa 5073 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
aac0c6e3
MR
5074 (get_tty_terminal, get_named_tty, Ftty_type)
5075 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
5076 output_termcap.
b8ff72fa
SM
5077 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
5078 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
2ae37cf0 5079 only when subprocesses are supported.
aac0c6e3
MR
5080
5081 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
5082 f->output_data.x.
5083 (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
5084 terminal devices.
5085
5582fbc7 5086 * msdos.h: Remove definition of struct x_display_info and struct
aac0c6e3
MR
5087 x_output.
5088 (FRAME_FONT): Use output_data.tty.
5089 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
b8ff72fa
SM
5090 (struct x_display_info): Rename from display_info. Update all users in
5091 msdos.c.
aac0c6e3 5092 (struct x_output): Remove background_pixel and foreground_pixel.
b8ff72fa 5093 (the_only_display_info): Rename from the_only_x_display.
aac0c6e3
MR
5094 (dos_ttraw): Update prototype.
5095
5096 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
5097 (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
5098
50992008-08-23 Jason Rumney <jasonr@gnu.org>
5100
5101 * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
5102 (fn_TIFFSetDirectory): New library function used.
5103 (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
5104 (tiff_load): Use :index to select among multiple images. Set count
5105 property when multiple images exist.
5106 (gif_format): Use :index, not :image.
5107
51082008-08-23 Chong Yidong <cyd@stupidchicken.com>
5109
5110 * xdisp.c (try_scrolling): Check INT_MAX instead of
5111 MOST_POSITIVE_FIXNUM for maximum integer value. Include limits.h
5112 to obtain INT_MAX.
5113
51142008-08-21 İsmail Dönmez <ismail@namtrac.org> (tiny change)
5115
5116 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
5117
51182008-08-21 Christian Faulhammer <opfer@gentoo.org> (tiny change)
5119
5120 * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
5121 GNUstep library location.
5122
51232008-08-21 Chong Yidong <cyd@stupidchicken.com>
5124
5125 * xfaces.c (x_update_menu_appearance): Check validity of menu font
5126 before using it.
5127
5128 * puresize.h (BASE_PURESIZE): Increase to 1250000.
5129
51302008-08-20 Adrian Robert <Adrian.B.Robert@gmail.com>
5131
5132 * nsfns.m (ns-read-file-name): Add casts to avoid warning.
5133 (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
5134 * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
5135 * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
5136 (EmacsApp-cursor_blink_handler): Remove declaration.
5137 * nsterm.m (ns_draw_glyph_string): Update first conditional body to
5138 match 01 Feb 2008 changes in xterm.c.
5139 (ns_read_socket): Add cast to avoid warning.
5140 (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
5141 GNUstep.
5142
51432008-08-20 Chong Yidong <cyd@stupidchicken.com>
5144
5145 * xselect.c (x_get_foreign_selection): Return nil if desired
5146 selection could not be obtained, instead of signalling an error.
5147
51482008-08-20 David Reitter <david.reitter@gmail.com>
5149
5150 * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
5151 * nsterm.m: Remove ns-specific code for cursor blinking.
5152 (ns_draw_window_cursor): Clear cursor properly rather than
5153 redrawing the area. Respect width of bar cursors.
5154 These changes enable the use of generic blink-cursor-mode and
5155 generic cursor types in NS and support smooth cursor movements (do
5156 not blink off after command).
5157 * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
5158 Nextstep, too.
5159
51602008-08-19 Kenichi Handa <handa@m17n.org>
5161
5162 * font.c (Vfont_log_deferred): New variable.
5163 (font_add_log): Check Vfont_log_deferred.
5164 (font_deferred_log): New function.
5165
5166 * font.h (font_deferred_log): Extern it.
5167
5168 * fontset.c (reorder_font_vector): Use encoding charset of fonts
5169 for sorting.
5170 (face_for_char): Use deferred log.
5171
51722008-08-18 Kenichi Handa <handa@m17n.org>
5173
5174 * fontset.c (face_for_char): Add font log.
5175
5176 * font.c (font_add_log): Add the font properties :script, :lang,
5177 and :otf in the log.
5178
51792008-08-17 Chong Yidong <cyd@stupidchicken.com>
5180
5181 * xdisp.c: Remove dead code.
5182 (handle_invisible_prop, next_overlay_string): Defer call to
5183 setup_for_ellipsis.
5184 (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
5185
51862008-08-15 Chong Yidong <cyd@stupidchicken.com>
5187
5188 * xfaces.c (lookup_derived_face): Properly handle possible zero
5189 return value of get_lface_attributes.
5190 (merge_faces): Don't tell lookup_derived_face to signal an error
5191 if face is not found.
5192
5193 * dired.c (Fdirectory_files): Doc fix.
5194
5195 * process.c (make_process): Initialize kill_without_query struct
5196 member.
5197
51982008-08-15 Eli Zaretskii <eliz@gnu.org>
5199
5200 * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
5201 Alternative calculation of totphys for Visual Studio 6.
5202
5203 * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
5204
5205 * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
5206 Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
5207 All users changed.
5208 (stat): Only root directory passed to GetDriveType. Allow RAM
5209 disk as well as local fixed disk when w32-get-true-file-attributes
5210 is set to `local'.
5211 (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
5212 (equal_sid, get_length_sid, copy_sid): New wrapper functions.
5213 (w32_cached_id, w32_add_to_cache): New functions.
5214 (get_name_and_id): Look account names in the cache before calling
5215 lookup_account_sid.
5216 (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
5217 New initialization flags.
5218 (globals_of_w32): Initialize them to zero.
5219 (w32_system_process_attributes): Use w32_cached_id and
5220 w32_add_to_cache.
5221
52222008-08-14 Lawrence Mitchell <wence@gmx.li>
5223
5224 * lread.c (Fread_char, Fread_char_exclusive): If no character
5225 event is read before timeout is reached, return nil, rather than
5226 converting to a number.
5227
52282008-08-14 Chong Yidong <cyd@stupidchicken.com>
5229
5230 * fns.c (use_dialog_box): Doc fix.
5231
5232 * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
5233 on OS X.
5234
52352008-08-13 Chong Yidong <cyd@stupidchicken.com>
5236
5237 * frame.c (Qns_parse_geometry): New var.
5238 (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
5239
52402008-08-11 Chong Yidong <cyd@stupidchicken.com>
5241
5242 * xdisp.c (x_produce_glyphs): Handle the case when font has no
5243 space character in calculating tabs.
5244
52452008-08-11 Dan Nicolaescu <dann@ics.uci.edu>
5246
5247 * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
5248
52492008-08-10 Glenn Morris <rgm@gnu.org>
5250
5251 * process.c (procfs_system_process_attributes): Use EMACS_INTs to
5252 silence gcc "limited range of data type" warnings in some
5253 make_fixnum_or_float calls.
5254
52552008-08-09 Eli Zaretskii <eliz@gnu.org>
5256
5257 * w32.c (w32_system_process_attributes): If the process does not
5258 exist, return nil.
5259
5260 * w32.c: Include thelp32.h, psapi.h and coding.h.
5261 (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
5262 declarations.
5263 (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
5264 (Process32Next_Proc): New typedefs.
5265 (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
5266 (g_b_init_process32_next, g_b_init_open_thread_token)
5267 (g_b_init_impersonate_self, g_b_init_revert_to_self)
5268 (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
5269 (g_b_init_get_process_working_set_size)
5270 (g_b_init_global_memory_status_ex): New static variables.
5271 (globals_of_w32): Initialize them.
5272 (create_toolhelp32_snapshot, process32_first, process32_next)
5273 (open_thread_token, impersonate_self, revert_to_self)
5274 (get_process_memory_info, get_process_working_set_size)
5275 (global_memory_status, global_memory_status_ex): New wrapper
5276 functions.
5277 (w32_list_system_processes, w32_system_process_attributes)
5278 (enable_privilege, restore_privilege, ltime, process_times):
5279 New functions.
5280 (convert_time_raw): New function.
5281 (convert_time): Remove conversion of FILETIME into time in 100
5282 nsec units, call convert_time_raw instead.
5283
5284 * process.h (w32_list_system_processes, w32_system_process_attributes):
5285 Add prototypes.
5286 (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
5287 (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
5288 (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
5289 (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
5290
5291 * process.c (Fsystem_process_attributes): Doc fix.
5292
52932008-08-08 Chong Yidong <cyd@stupidchicken.com>
5294
5295 * xdisp.c (move_it_to): When stopping at a charpos, check if that's
5296 a continued multi-char glyph; if so, advance to the actual glyph.
5297
52982008-08-07 Dan Nicolaescu <dann@ics.uci.edu>
5299
5300 * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
5301
5302 * Makefile.in (ALL_OBJC_CFLAGS): New variable.
5303 (.m.o): Use it.
5304 * config.in: Regenerate.
5305
53062008-08-07 Chong Yidong <cyd@stupidchicken.com>
5307
5308 * xdisp.c (redisplay_window): Revert last change.
5309 (try_window): Check bottom scroll margin too.
5310
53112008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
5312
5313 * config.in: Regenerate.
5314
5315 * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
5316 -list-load-path-shadows'.
5317 (nsgui.h): Reduce number of things depending on it.
5318
53192008-08-06 Chong Yidong <cyd@stupidchicken.com>
5320
5321 * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
5322 instead of window-end which does the wrong thing at eob.
5323 (try_cursor_movement): Minor optimization.
5324 (redisplay_window): If scroll margin is defined, don't assume
5325 window doesn't need scrolling.
5326
53272008-08-06 Adrian Robert <Adrian.B.Robert@gmail.com>
5328
5329 * config.in: Regenerate.
5330
5331 * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
5332 (mostlyclean): Don't delete *.d under NS.
5333
5334 * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
5335
53362008-08-06 Kenichi Handa <handa@m17n.org>
5337
5338 * xfont.c (xfont_list_family): Return a list of symbols, not strings.
5339
53402008-08-06 Andreas Schwab <schwab@suse.de>
5341
5342 * config.in: Regenerate.
5343
53442008-08-05 Chong Yidong <cyd@stupidchicken.com>
5345
5346 * xdisp.c (redisplay_window): Don't enforce scroll-margin when
5347 forcing a window start.
5348
5349 * fileio.c (Vauto_save_list_file_name): Move here from file.el.
5350 (auto_save_1): Update modtime when auto-save-list-file-name is on.
5351
53522008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5353
5354 * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
5355 argument.
5356
53572008-08-05 Juanma Barranquero <lekktu@gmail.com>
5358
5359 * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
5360 <scroll-down-aggressively, before-change-functions>:
5361 <after-change-functions>: Reflow docstrings.
5362
53632008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5364 Ken Raeburn <raeburn@gnu.org>
5365
5366 Dock menu customization, based on a patch by Ken Raeburn, plus some
5367 other fixes.
5368 * nsmenu.m (dockMenu): New variable.
5369 (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
5370
5371 * nsterm.h (dockMenu): Declare.
5372
5373 * nsterm.m (KEY_NS_NEW_FRAME): New definition.
5374 (ns_term_init): Initialize dockMenu.
5375 (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
5376 (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
5377 left.
5378
5379 * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
5380
53812008-08-04 Chong Yidong <cyd@stupidchicken.com>
5382
5383 * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
5384
5385 * config.in: Regenerate.
5386
53872008-08-04 Seiji Zenitani <zenitani@mac.com>
5388
5389 * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
5390
53912008-08-04 Chong Yidong <cyd@stupidchicken.com>
5392
5393 * nsterm.h (find_and_call_menu_selection): Fix prototype.
5394
53952008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
5396
5397 * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
5398
5399 * keyboard.h: Comment an #endif.
5400
5401 * lisp.h (have_menus_p): Adjust comment.
5402
5403 * menu.c (find_and_return_menu_selection): Fix comparison with
5404 client_data.
5405
5406 * nsmenu.m (popup_activated_flag): New variable.
5407 (popup_activated): New function.
5408 (menu-or-popup-active-p): New exported lisp definition.
5409 (ns_popup_menu): Set popup_activated_flag. Call discard_menu_items()
5410 when popup done.
5411 (ns_popup_dialog): Set popup_activated_flag.
5412
5413 * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
5414 version for GNUstep (handled by conditional typedef in nsterm.m).
5415 (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
5416 in rgb.txt).
5417
5418 * process.c (init_process): Use DARWIN_OS, not DARWIN.
5419
5420 * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
5421
5422 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
5423
5424 * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
5425 shortcircuit if popup_activated like GTK and X toolkit.
5426
5427 * m/inter386.h: Change DARWIN to DARWIN_OS.
5428
5429 * s/darwin.h: Add #define DARWIN_OS. Get rid of C_SWITCH_SYSTEM def.
5430 Change LIBS_MACGUI to LIBS_NSGUI. Move temacs-conditionalized defs
5431 closer to C_SWITCH_SYSTEM_TEMACS so usage is understood. Expand
5432 comment on NO_SOCK_SIGIO.
5433
54342008-08-03 Chong Yidong <cyd@stupidchicken.com>
5435
5436 * nsterm.m (windowDidResize): Remove stopModal call.
5437
54382008-08-03 Andreas Schwab <schwab@suse.de>
5439
5440 * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
5441 (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
5442
54432008-08-02 Chong Yidong <cyd@stupidchicken.com>
5444
5445 * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
5446 Don't use uninitialized pointer variable when using getrlimit.
5447
54482008-08-02 Jason Rumney <jasonr@gnu.org>
5449
5450 * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
5451
54522008-08-02 Eli Zaretskii <eliz@gnu.org>
5453
5454 * alloc.c (NSTATICS): Bump to 0x640.
5455
5456 * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
5457
5458 * lisp.h: Add prototype for directory_files_internal.
5459
5460 * process.c (Fsystem_processes_list, Fsystem_process_attributes):
5461 New functions.
5462 (syms_of_process): Defsubr them. Add initializations for various
5463 Q* symbols used in procfs_system_process_attributes.
5464 (procfs_list_system_processes, procfs_system_process_attributes)
5465 [HAVE_PROCFS]: New functions.
5466 (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
5467 (procfs_get_total_memory): New functions.
5468
54692008-08-01 Juanma Barranquero <lekktu@gmail.com>
5470
5471 * xfaces.c (Fx_load_color_file): Fix previous change;
5472 it is #ifdef WINDOWSNT, not WINDOWS_NT.
5473
54742008-08-01 Michael Albinus <michael.albinus@gmx.de>
5475
5476 * dbusbind.c (xd_read_message): Handle D-Bus error messages.
5477
54782008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5479
5480 * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
5481
54822008-08-01 Chong Yidong <cyd@stupidchicken.com>
5483
5484 * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
5485
5486 * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
5487 define NSApplicationDelegateReplySuccess.
5488 (EmacsView -converstationIdentifier): Use long instead of
5489 NSInteger for GNUstep, since it doesn't have NSInteger.
5490
5491 * xmenu.c: Revert last change.
5492
5493 * keyboard.h: Fix last change.
5494
54952008-08-01 Juanma Barranquero <lekktu@gmail.com>
5496
5497 * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
5498 on Windows.
5499
55002008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5501
5502 Warning clearing and clean-up in NS port.
5503 * keyboard.h (xmalloc_widget_value, digest_single_submenu):
5504 Add prototypes.
5505 * nsgui.h (FACE_DEFAULT): Remove, unused.
5506 (XGCValues): Change colors to unsigned long.
5507 * nsterm.h (EmacsApp): Add declaration of all methods implemented in
5508 nsterm.m.
5509 (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
5510 (ns_list_fonts): Remove, unused.
5511 (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
5512 * nsfns.m (interpret_services_menu): Use NSMenuItem class.
5513 * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
5514 (nsfont_draw): Compare face colors to 0, not nil.
5515 * nsmenu.m (struct widget_value): Drop unneeded declaration.
5516 (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
5517 (-addSubmenuWithTitle:): Use NSMenuItem class.
5518 (ns_popup_menu): Use NO, not NULL, for enabled setting.
5519 * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
5520 (ns_clip_to_row): Make gc arg a BOOL.
5521 (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
5522 ns_clip_to_row() call.
5523 (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
5524 used). Cast FRAME_FONT assignments.
5525 (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
5526 (ns_string_to_lispmod): Change arg to const char.
5527 (ns_term_init): Use NSMenuItem class.
5528 (EmacsApp -openFile:): Move to different section of file.
5529 (EmacsApp -application:openFiles:): Don't return a value, call
5530 -replyToOpenOrPrint:.
5531 (EmacsView -keyDown:): Fix up cast.
5532 (EmacsView -converstationIdentifier): Use NSInteger instead of long.
5533 (EmacsView -menuDown:): Cast tag in call to
5534 find_and_call_menu_selection().
5535 (ns_list_fonts): Remove, unused.
5536 (ns_font_to_xlfd): Make static. Cast result of UTF8String.
5537 (ns_fontname_to_xlfd): Make static.
5538 * w32menu.c (xmalloc_widget_value, digest_single_submenu):
5539 Remove prototypes (now in keyboard.h).
5540 (next_menubar_widget_id): Remove, unused.
5541 * xmenu.c (xmalloc_widget_value, digest_single_submenu):
5542 Remove prototypes (now in keyboard.h).
5543 * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
5544
55452008-08-01 Dan Nicolaescu <dann@ics.uci.edu>
5546
5547 * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
5548 (floatfns.o): Depend on syssignal.h.
5549 (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
5550
5551 * systty.h: Fix previous change that removed BSD_TERMIOS.
5552 Add comments to #ifdefs.
5553
55542008-08-01 Adrian Robert <Adrian.B.Robert@gmail.com>
5555
5556 * w32fns.c (w32-load-color-file): Remove.
5557 (x-open-connection): Use renamed Fx_load_color_file.
5558 * xfaces.c (x-load-color-file): Add.
5559 * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
5560 Emacs.clr.
5561 (hide_hourglass): BLOCK_INPUT before UNBLOCK.
5562
55632008-07-31 Michael Albinus <michael.albinus@gmx.de>
5564
5565 * dbusbind.c (Fdbus_call_method_asynchronously)
5566 (Fdbus_method_error_internal): New defuns.
5567 (xd_read_message): Handle also reply messages.
5568 (Vdbus_registered_functions_table): Extend docstring.
5569
55702008-07-31 Juanma Barranquero <lekktu@gmail.com>
5571
5572 * keyboard.c (gobble_input): Fix previous change.
5573
55742008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
5575
5576 * bitmaps/README:
5577 * xfns.c:
5578 * termcap.c:
5579 * term.c:
5580 * syswait.h:
5581 * systty.h:
5582 * systime.h:
5583 * syssignal.h:
5584 * sysdep.c:
5585 * process.h:
5586 * process.c:
5587 * print.c:
5588 * ndir.h:
5589 * lread.c:
5590 * keyboard.c:
5591 * getpagesize.h:
5592 * floatfns.c:
5593 * fileio.c:
5594 * emacs.c:
5595 * doc.c:
5596 * dispnew.c:
5597 * dired.c:
5598 * data.c:
5599 * callproc.c:
5600 * buffer.c:
5601 * README:
5602 * Makefile.in:
5603 * s/template.h:
5604 * s/msdos.h:
5605 * m/vax.h: Remove VMS support.
5606 * s/vms.h:
5607 * vlimit.h:
5608 * uaf.h:
5609 * temacs.opt:
5610 * param.h:
5611 * ioctl.h: Remove file.
5612
56132008-07-31 Dan Nicolaescu <dann@ics.uci.edu>
5614
5615 * s/ms-w32.h (MULTI_KBOARD): Remove.
5616 * xterm.c:
5617 * xselect.c:
5618 * xfns.c:
5619 * window.c:
5620 * w32term.c:
5621 * w32fns.c:
5622 * terminal.c:
5623 * termhooks.h:
5624 * term.c:
5625 * sysdep.c:
5626 * keyboard.h:
5627 * keyboard.c:
5628 * frame.h:
5629 * frame.c:
5630 * frame.c: Remove references to MULTI_KBOARD, it is now the default.
5631 * config.in: Regenerate.
5632
56332008-07-30 Jason Rumney <jasonr@gnu.org>
5634
5635 * w32font.h (struct w32font_info): Use unicode version of textmetrics.
5636
5637 * w32font.c (w32font_encode_char): Leave as unicode if in range.
5638 (w32font_open_internal): Get unicode version of textmetrics.
5639 Don't enable or disable glyph indices here.
5640 (w32font_open): Disable use of glyph indices.
5641
5642 * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
5643
56442008-07-30 Chong Yidong <cyd@stupidchicken.com>
5645
5646 * minibuf.c (Vread_buffer_function): Doc fix.
5647
56482008-07-30 John Paul Wallington <jpw@pobox.com>
5649
5650 * minibuf.c (read_buffer_completion_ignore_case): New var.
5651 (Fread_buffer): Use it.
5652
56532008-07-30 Dan Nicolaescu <dann@ics.uci.edu>
5654
5655 * systty.h (sensemode): Remove empty #if. Remove reference to
5656 BSD_TERMIOS, unused.
5657
5658 * sysdep.c: Remove reference to DGUX.
5659 (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
5660
5661 * config.in: Regenerate.
5662
56632008-07-30 Jason Rumney <jasonr@gnu.org>
5664
5665 * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
5666
56672008-07-29 Jason Rumney <jasonr@gnu.org>
5668
5669 * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
5670 is populated.
5671 (uniscribe_encode_char): Always use uniscribe.
5672 Avoid using context if cache is populated.
5673
56742008-07-29 Jan Djärv <jan.h.d@swipnet.se>
5675
5676 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
5677 open menu.
5678
5679 * gtkutil.c (menu_nav_ended): Remove.
5680 (create_menus): Remove signal connect for menu_nav_ended.
5681
56822008-07-28 Chong Yidong <cyd@stupidchicken.com>
5683
5684 * xdisp.c (redisplay_window): Check return value of
5685 compute_window_start_on_continuation_line before forcing a window
5686 start.
5687
56882008-07-28 Jason Rumney <jasonr@gnu.org>
5689
5690 * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
5691
5692 * w32term.c (w32_enable_unicode_output, cleartype_active):
5693 Remove obsolete display options.
5694 (x_draw_glyph_string_background): Don't use old cleartype_active
5695 workaround.
5696 (w32_initialize): Remove cleartype_active initialization.
5697 (syms_of_w32term): Remove w32_enable_unicode_output initialization.
5698
56992008-07-28 Andreas Schwab <schwab@suse.de>
5700
5701 * lisp.h (init_weak_hash_tables, syms_of_font)
5702 (xd_read_queued_messages, syms_of_dbusbind): Declare.
5703 (remove_hash_entry): Don't declare.
5704 * eval.c (maybe_call_debugger): Make static and move before use.
5705 * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
5706 * xdisp.c: Include "gtkutil.h" if USE_GTK.
5707 * xterm.h (x_set_frame_alpha): Declare.
5708
57092008-07-28 Jan Djärv <jan.h.d@swipnet.se>
5710
5711 * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
5712 (create_menus): Connect selection-done to menu_nav_ended.
5713
57142008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
5715
5716 * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
5717 Set Vx_resource_name to a fallback. Replace read of 'buffered'
5718 parameter with read of 'alpha' one.
5719 (Qns_frame_parameter): Remove.
5582fbc7 5720 * nsselect.m (selection-coding-system)
aac0c6e3
MR
5721 (next-selection-coding-system, Vselection_coding_system)
5722 (Vnext_selection_coding_system): Drop.
5723
57242008-07-27 Adrian Robert <Adrian.B.Robert@gmail.com>
5725
5726 * nsfns.m (do-applescript, do_applescript): Rename to
5727 ns-do-applescript, ns_do_applescript, and move within file.
5728
57292008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
5730
5731 Remove support for Mac Carbon.
5732 * mactoolbox.c:
5733 * macterm.h:
5734 * macterm.c:
5735 * macselect.c:
5736 * macmenu.c:
5737 * macgui.h:
5738 * macfns.c:
5739 * mac.c: Remove file.
5740 * s/darwin.h:
5741 * m/intel386.h:
5742 * xfaces.c:
5743 * xdisp.c:
5744 * window.c:
5745 * tparam.c:
5746 * termhooks.h:
5747 * termcap.c:
5748 * term.c:
5749 * syssignal.h:
5750 * sysselect.h:
5751 * sysdep.c:
5752 * process.c:
5753 * lread.c:
5754 * lisp.h:
5755 * keyboard.c:
5756 * image.c:
5757 * fringe.c:
5758 * frame.h:
5759 * frame.c:
5760 * fontset.c:
5761 * font.h:
5762 * font.c:
5763 * fns.c:
5764 * fileio.c:
5765 * emacs.c:
5766 * dispnew.c:
5767 * dispextern.h:
5768 * config.in:
5769 * atimer.c:
2ae37cf0 5770 * Makefile.in: Remove code for Carbon.
aac0c6e3 5771
f0131492 57722008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
aac0c6e3
MR
5773
5774 * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
5775
57762008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5777
5778 * macterm.h (kCGBitmapByteOrder32Host): New define for
5779 non-universal SDKs.
5780
5781 * image.c (mac_create_cg_image_from_image, image_load_image_io)
5782 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
5783
5784 * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
5785 [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
5786
57872008-07-26 David Robinow <drobinow@gmail.com> (tiny change)
5788
5789 * w32inevt.c: Include dispextern.h.
5790
57912008-07-26 Andreas Schwab <schwab@suse.de>
5792
5793 * print.c (print_object): Fix off-by-one in last change.
5794
57952008-07-25 Juanma Barranquero <lekktu@gmail.com>
5796
5797 * term.c (syms_of_term): Don't initialize default_orig_pair,
5798 default_set_foreground and default_set_background on Windows.
5799
58002008-07-25 Jason Rumney <jasonr@gnu.org>
5801
5802 * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
5803 ScriptItemize. Clean up return value checking. Remove unused
5804 variables.
5805 (uniscribe_encode_char): Encode non-BMP characters with uniscribe
5806 shaping engine.
5807
5808 * w32font.c (w32font_has_char): Handle the case where we can't
5809 determine the script for a character.
5810
58112008-07-25 Chong Yidong <cyd@stupidchicken.com>
5812
5813 * term.c (syms_of_term): Initialize default_orig_pair,
5814 default_set_foreground, and default_set_background.
5815
5816 * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
5817 clash (bug#86).
5818 (getloadavg): Callers changed.
5819
5820 * image.c (svg_load_image): Fix last change.
5821 (svg_load_image): Use rsvg_handle_get_dimensions to check that
5822 image size is valid. Use g_object_unref instead of deprecated
5823 rsvg_handle_free to free rsvg handle.
5824 (x_from_xcolors): Don't initialize pixmap (silence compiler).
5825
58262008-07-25 Jason Rumney <jasonr@gnu.org>
5827
5828 * w32font.c (w32font_encode_char): Encode characters outside BMP as
5829 surrogates before looking up glyph index.
5830 (w32font_text_extents): Encode as surrogates if falling back to
5831 functions that need UTF-16 wide chars.
5832
5833 * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
5834 BMP as surrogates before looking up glyph index.
5835
58362008-07-25 Chong Yidong <cyd@stupidchicken.com>
5837
5838 * image.c (svg_load_image): Check for failure in return value of
5839 rsvg_handle_get_pixbuf. Free rsvg handle when done.
5840
58412008-07-25 Jason Rumney <jasonr@gnu.org>
5842
5843 * w32font.c (Fx_select_font): Reverse sense of second arg.
5844
58452008-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
5846
5847 * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
5848 (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
5849
5850 * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
5851 (PURESIZE): Use it.
5852
58532008-07-24 Dan Nicolaescu <dann@ics.uci.edu>
5854
5855 * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
5856 * m/alpha.h (TEXT_END):
5857 * m/ibmrs6000.h (TEXT_END):
5858 * m/macppc.h (TEXT_END):
5859 * s/darwin.h (TEXT_END):
5860 * s/msdos.h (TEXT_END): Remove, unused.
5861 * s/gnu-linux.h (BSD_PGRPS): Add a comment.
5862 * s/cygwin.h: Remove comment.
5863
5864 * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
5865 (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
5866 * m/intel386.h (DOT_GLOBAL_START):
5867 * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
5868 (USG): Remove, file not used on USG platforms.
5869
5870 * Makefile.in (HAVE_X11): Remove empty #else.
5871
58722008-07-24 Andreas Schwab <schwab@suse.de>
5873
5874 * fileio.c (Finsert_file_contents): Properly adjust undo list
5875 after format conversion.
5876
58772008-07-24 Jan Djärv <jan.h.d@swipnet.se>
5878
5879 * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
5880 (menu_nav_ended): Remove.
5881 (create_menus): Remove signal connect for menu_nav_ended.
5882 (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
5883 create_menus.
5884 (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
5885
58862008-07-23 Jason Rumney <jasonr@gnu.org>
5887
5888 * w32font.c (w32_enumfont_pattern_entity): Return height consistent
5889 with opened font.
5890 (w32font_open): Set font type to gdi.
5891
5892 * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
5893
58942008-07-23 Dan Nicolaescu <dann@ics.uci.edu>
5895
5896 * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
5897 * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
5898 defines it.
5899 * unexec.c (ADDR_CORRECT): Define unconditionally.
5900
5901 * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
5902
5903 * unexec.c: Remove code depending on !COFF and USG, the file is
5904 not used for such systems.
5905
5906 * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
5907 * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
5908 (LD_SWITCH_SYSTEM_1): Remove, update users.
5909
5910 * s/darwin.h (DATA_END):
5911 * m/intel386.h (DATA_END):
5912 * m/ibmrs6000.h (DATA_END):
5913 * m/alpha.h (DATA_END): Remove, unused.
5914
5915 * config.in: Regenerate.
5916 * s/ms-w32.h (subprocesses): Define unconditionally.
5917 * s/template.h (subprocesses): Update comment.
5918 * s/vms.h (subprocesses):
5919 * s/usg5-4.h (subprocesses):
5920 * s/hpux10-20.h (subprocesses):
5921 * s/gnu-linux.h (subprocesses):
5922 * s/cygwin.h (subprocesses):
5923 * s/bsd-common.h (subprocesses):
5924 * s/aix4-2.h (subprocesses):
5925 * s/darwin.h (subprocesses): Do not define, defined by default now.
5926
5927 * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
5928 Remove all references.
5929 (temacs): Add GNUstep specific ld flags.
5930
5931 * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
5932 similarly to what X does.
5933
59342008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5935
5936 * nsfns.m (x-list-fonts): Remove.
5937 (syms_of_nsfns): Drop the x-list-fonts declaration.
5938 * nsterm.m: Get rid of remaining "//" comments.
5939
59402008-07-22 Chong Yidong <cyd@stupidchicken.com>
5941
5942 * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
5943
5944 * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
5945 (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
5946 (Fns_own_selection_internal, Fx_disown_selection_internal)
5947 (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
5948
5949 * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
5950 ... */' style of docstrings. Doc fixes.
5951
59522008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
5953
5954 * terminfo.c (UP, BC, PC): Undo previous change.
5955
5956 * nsfns.m: Rename ns prefixed functions/variables to the
5957 corresponding x versions. Update references.
5958
59592008-07-22 Stefan Monnier <monnier@iro.umontreal.ca>
5960
5961 * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
5962
59632008-07-22 Dan Nicolaescu <dann@ics.uci.edu>
5964
5965 * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
5966 Remove forwarding functions.
5967 (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
5968 non-static.
5969 (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
5970 non-static.
5971 (ns_frame_parm_handlers): Use the new names.
5972 (syms_of_nsfns): Move to the end of file.
5973
5974 * nsterm.m (syms_of_nsterm): Move to the end of file.
5975
5976 * dispnew.c (init_display): Remove code for X10.
5977
59782008-07-22 Jason Rumney <jasonr@gnu.org>
5979
5980 * w32proc.c (Fw32_long_file_name): Don't append dir separator to
5981 bare drive.
5982
59832008-07-22 Adrian Robert <Adrian.B.Robert@gmail.com>
5984
5985 * nsterm.m (syms_of_nsterm): Remove debugging println.
5986
59872008-07-22 David Reitter <david.reitter@gmail.com>
5988
5989 * nsfns.m (do_applescript, F_do_applescript): NS version of the
5990 Carbon implementation of the same functionality: execute arbitrary
5991 AppleScript code.
5992
59932008-07-21 Adrian Robert <Adrian.B.Robert@gmail.com>
5994
5995 * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
5996 (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
5997 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
5998 (Fx_display_mm_height, Fx_display_mm_width)
5999 (Fx_display_backing_store, Fx_display_visual_class)
6000 (Fx_display_save_under, Fx_open_connection)
6001 (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
6002 (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
6003 (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
6004 (Fx_display_pixel_width, Fx_display_pixel_height)
6005 (Fx_display_usable_bounds, Fx_display_planes)
6006 (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
6007 ... */' style of docstrings.
6008
60092008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
6010
6011 * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
6012 on this platform.
6013 (mips):
6014 * m/iris4d.h (mips): Do not define.
6015 * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
6016
6017 * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
6018
6019 * image.c:
6020 * nsfns.m:
6021 * nsselect.m:
6022 * nsterm.h:
6023 * nsterm.m: Rename ns prefixed functions/variables to the
6024 corresponding x versions. Update references.
6025
6026 * m/ibms390x.h (NO_REMAP): Do not undefine.
6027
6028 * m/amdx86-64.h: Use SOLARIS2 instead of sun.
6029
60302008-07-21 Chong Yidong <cyd@stupidchicken.com>
6031
6032 * nsfns.m: Change NS to Nextstep in docstrings and error messages.
6033 (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
6034 (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
6035 (Fns_server_vendor, Fns_server_version, Fns_display_screens)
6036 (Fns_display_mm_height, Fns_display_mm_width)
6037 (Fns_display_backing_store, Fns_display_visual_class)
6038 (Fns_display_save_under, Fns_open_connection)
6039 (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
6040 (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
6041 (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
6042 (Fns_display_pixel_width, Fns_display_pixel_height)
6043 (Fns_display_usable_bounds, Fx_display_planes)
6044 (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
6045
60462008-07-21 Ami Fischman <ami@fischman.org> (tiny change)
6047
6048 * print.c (print_object): Check print_depth before searching for
6049 circularities.
6050
60512008-07-21 Michael Albinus <michael.albinus@gmx.de>
6052
6053 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
6054 only sprintf.
6055
60562008-07-21 Kenichi Handa <handa@m17n.org>
6057
6058 * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
6059
60602008-07-20 Andreas Schwab <schwab@suse.de>
6061
6062 * syntax.c (find_start_pos, find_start_value)
6063 (find_start_value_byte, find_start_begv, find_defun_start)
6064 (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
6065
60662008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
6067
6068 * s/sol2-3.h: Insert contents of s/sol2.h.
6069 (LD_SWITCH_SYSTEM): Remove redundant definition.
6070 * s/sol2.h: Remove, unused.
6071
60722008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6073
6074 * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
6075
60762008-07-20 Adrian Robert <Adrian.B.Robert@gmail.com>
6077
6078 * Makefile.in (ns_appdir): Fix typo in find command.
6079
60802008-07-20 Dan Nicolaescu <dann@ics.uci.edu>
6081
6082 * m/intel386.h (NO_REMAP): Do no define for USG, not used.
6083
6084 * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
6085 added not supported anymore.
6086
6087 * s/usg5-4-2.h (LIBS_SYSTEM):
6088 * s/sol2.h (LIBS_SYSTEM): Do not undefine.
6089
6090 * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
6091 * s/lynxos.h (GETPGRP_NO_ARG):
6092 * s/hpux10-20.h (NO_SIOCTL_H):
6093 * s/gnu.h (GETPGRP_NO_ARG):
6094 * s/gnu-linux.h (NO_SIOCTL_H):
6095 * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
6096 * s/cygwin.h (GETPGRP_NO_ARG):
6097 * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
6098 (C_DEBUG_SWITCH): Remove duplicate definition.
6099
6100 * m/ibms390.h: Remove boilerplate comments.
6101
6102 * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
6103
6104 * process.c (HAVE_SERIAL): Consolidate ifdefs.
6105 (wait_reading_process_output): Remove code for SunOS, platform not
6106 supported anymore. Use SOLARIS2 instead of sun.
6107
61082008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6109
6110 * font.c (font_open_by_name): Under NS, default lface height to zero.
6111 (font_open_for_lface): Under NS, set size based on frame fontsize.
6112 * nsterm.m (EmacsView-changeFont:): Remove some commented code.
6113 * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
6114
61152008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6116
6117 * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
6118 (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
6119 DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
6120 YES/NO.
6121 * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
6122 * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
6123 * Makefile.in (clean): Clear out build destination dir.
6124
61252008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6126
6127 * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
6128 xterm, xselect.
6129 * lisp.h: Remove declaration of hash_remove.
6130 * nsgui.h: Remove redefinitions of hash_remove.
6131 * fns.c (hash_remove): Rename to hash_remove_from_table.
6132
61332008-07-19 Seiji Zenitani <zenitani@mac.com>
6134
6135 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
6136 strdup() the family UTF8String before modifying it.
6137
61382008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
6139
6140 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
6141 NS_FACE_BACKGROUND with 0 instead of nil.
6142 * nsfont.m (nsfont_draw): Same.
6143
61442008-07-19 Chong Yidong <cyd@stupidchicken.com>
6145
6146 * nsfns.m (ns_set_background_color): Fix crash.
6147
61482008-07-18 Chong Yidong <cyd@stupidchicken.com>
6149
6150 * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
6151
61522008-07-18 Dan Nicolaescu <dann@ics.uci.edu>
6153
6154 * puresize.h (BASE_PURESIZE): Increase to 1240000.
6155
61562008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6157
6158 * gtkutil.c: Include <config.h> instead of "config.h".
6159
6160 * lisp.h (Foverlay_buffer): Add EXFUN.
6161
6162 * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
6163 child process to complete child_setup. Undo 2005-09-21 change.
6164
6165 * s/darwin.h: Mention setsid after vfork.
6166
61672008-07-17 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6168
6169 * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
6170 Depend on macgui.h.
6171
6172 * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
6173 gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
6174
6175 * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
6176 and f19.
6177 [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
6178
6179 * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
6180 (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
6181 Remove enumerators.
6182
6183 * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
6184 Check if FACE_FROM_ID returns NULL.
6185
61862008-07-17 David Robinow <drobinow@gmail.com> (tiny change)
6187
6188 * w32inevt.c (change_frame_size): Remove extern declaration.
6189 (resize_event, maybe_generate_resize_event): Pass SAFE arg to
6190 change_frame_size.
6191
61922008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
6193
6194 * getloadavg.c: Revert last change (2008-07-15).
6195
61962008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
6197
6198 * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
6199 set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
6200 from configure.
6201
62022008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
6203
6204 * s/sol2.h:
6205 * s/sol2-4.h: Reorganize conditionals.
6206
6207 * ecrt0.c: Remove code depending on m68000, not used anymore.
6208
6209 * fns.c (hash_remove): Make static.
6210 * lisp.h (hash_remove): Don't prototype.
6211
6212 * m/ibmrs6000.h:
6213 * m/ibms390x.h:
6214 * m/macppc.h: Remove boilerplate comments.
6215
6216 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
6217 Solaris, which does not need them.
6218
6219 * m/vax.h: Remove comments about unsupported systems.
6220
6221 * s/darwin.h: Reorganize ifdefs.
6222
62232008-07-17 Andreas Schwab <schwab@suse.de>
6224
6225 * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
6226
62272008-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
6228
6229 Use SDATA. Follow coding convention of placing operators at
6230 beginning of next line rather than end of previous line, and placing
6231 spaces around infix operators.
6232
6233 * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
6234 in case it was defined already.
6235 USE @GNUSTEP_MAKEFILES@ rather than envvars.
6236 * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
6237 ns_default.
6238 (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
6239 Lisp_Objects.
6240 * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
6241 (ns_defined_color, ns_color_to_lisp): Declare.
6242 * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
6243 (Fns_own_selection_internal): Make the big ugly hack more explicit, so
6244 it's accepted even with USE_LISP_UNION_TYPE.
6245 * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
6246 (update_frame_tool_bar): Remove apparently obsolete tests for
6247 non-integerness of f->tool_bar_lines.
6248 (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
6249 hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
6250 * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
6251 (nsfont_open): Don't confuse NULL for Qnil.
6252 * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
6253 * menu.h (find_and_call_menu_selection):
6254 * menu.c (find_and_call_menu_selection): Use just int for vector size.
6255 (find_and_return_menu_selection): Always return something.
6256 * frame.h: Include dispextern.h for Display_Info.
6257 (display_x_get_resource): Declare.
6258
62592008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com>
6260
6261 * syntax.c: Remove stdio.h include accidentally introduced in
6262 Emacs.app commit.
6263 * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
6264 NS_IMPL_COCOA.
6265 * keyboard.c (handle_async_input, input_available_signal): Remove
6266 BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
6267
62682008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
6269
6270 * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
6271 (ns_lisp_to_color): Don't mess with internal Lisp data fields.
6272 (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
6273 Use SDATA.
6274
6275 * keymap.c: Remove all NS-specific code.
6276 (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
6277 (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
6278 where_is_preferred_modifier, return a different value depending on how
6279 preferred is the binding.
6280 (where_is_internal): Adjust accordingly.
6281 (Fwhere_is_internal): Refresh where_is_preferred_modifier.
6282 Adjust to new preferred_sequence_p.
6283 (syms_of_keymap): Declare `where-is-preferred-modifier'.
6284 * keyboard.c (parse_solitary_modifier): Not static any more.
6285 * keyboard.h (parse_solitary_modifier): Declare.
6286
62872008-07-16 Andreas Schwab <schwab@suse.de>
6288
6289 * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
6290 of easymenu.
6291
62922008-07-16 Chong Yidong <cyd@stupidchicken.com>
6293
6294 * xdisp.c (move_it_in_display_line): Account for word wrap, so
6295 that we don't move off the line.
6296
62972008-07-16 Stefan Monnier <monnier@iro.umontreal.ca>
6298
6299 * keyboard.c (Qsuper): Remove.
6300 (parse_menu_item): Don't call where_is_internal specially for NS.
6301
63022008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
6303
6304 * s/gnu-linux.h: Remove boilerplate comments.
6305
6306 * m/alpha.h (__ELF__): Consolidate conditions.
6307
6308 * m/m68k.h (linux): Use GNU_LINUX instead.
6309 Remove boilerplate comments.
6310
6311 * m/intel386.h: Undo refactoring from previous change.
6312 (LIB_STANDARD): All systems that define USG define LIB_STANDARD
6313 too, remove dead code.
6314 (linux): Use GNU_LINUX instead.
6315
63162008-07-16 Jason Rumney <jasonr@gnu.org>
6317
6318 * w32gui.h: Repeat 26 June changes lost by last change.
6319
63202008-07-16 Dan Nicolaescu <dann@ics.uci.edu>
6321
6322 * systty.h: Remove code for Aix on 386, unsupported platform.
6323
6324 * s/ms-w32.h: Remove boilerplate comments.
6325 (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
6326
6327 * s/gnu-linux.h (TERM): Remove support.
6328 (HAVE_SYSVIPC): Remove, unused.
6329 (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
6330 for this system.
6331
6332 * process.c: Remove support for IRIS, unused.
6333 Remove support for TERM, not relevant anymore.
6334
6335 * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
6336 used with the definition.
6337
6338 * s/aix4-2.h (static): Do not undef.
6339
6340 * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
6341 only used on Aix.
6342 (HAVE_SYSVIPC): Remove, unused.
6343
6344 * m/hp800.h (CANNOT_DUMP): Do not undef.
6345
6346 * m/alpha.h: Fix comment.
6347
6348 * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
6349 (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
6350 used by this configuration.
6351 * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
6352 * unexec.c: Remove code depending on HPUX and
6353 USG_SHARED_LIBRARIES, not used with this file. Remove code
6354 depending on IRIS, unused. Remove if 0-ed code.
6355
6356 * s/template.h: Remove comments about static.
6357
6358 * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
6359 Remove if 0-ed code.
6360 (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
6361 were the same as the default.
6362 * s/vms.h (BAUD_CONVERT): Remove, same as the default.
6363 Remove boilerplate comments.
6364 * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
6365 (HAVE_SYSVIPC): Remove, unused.
6366 (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
6367
6368 * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6369 Remove boilerplate comments.
6370 * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6371 Remove boilerplate comments.
6372 * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
6373 Remove boilerplate comments.
6374 * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
6375
6376 * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
6377 USG systems which do not use DATA_SEG_BITS.
6378 Refactor code. Remove boilerplate comments.
6379
6380 * m/ibms390.h:
6381 * m/m68k.h:
6382 * s/bsd-common.h:
6383 * s/cygwin.h:
6384 * s/darwin.h:
6385 * s/freebsd.h:
6386 * s/gnu.h:
6387 * s/msdos.h: Remove boilerplate comments.
6388
6389 * m/iris4d.h: Remove boilerplate comments and code for systems that
6390 do not use this file.
6391 (IRIS_4D): Remove, unused.
6392
6393 * m/mips.h: Remove boilerplate comments and code for systems that
6394 do not use this file.
6395 (SIGN_EXTEND_CHAR):
6396 * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
6397 * unexmips.c: Remove file, unused.
6398
6399 * editfns.c (Fuser_full_name): Replace the only use of
6400 USER_FULL_NAME with its value.
6401 * config.in: Regenerate.
6402
64032008-07-16 David Reitter <david.reitter@gmail.com>
6404
6405 * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
6406 easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
6407
64082008-07-16 Glenn Morris <rgm@gnu.org>
6409
6410 * emacs.c (system-type): Doc fix.
6411
64122008-07-15 Stefan Monnier <monnier@iro.umontreal.ca>
6413
6414 * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
6415 If the cache doesn't work, let's fix it, rather than work around it.
6416
64172008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6418
6419 * Makefile.in: Correct additions for nsfont.o in last commit.
6420 * nsfont.m: New file (forgot last commit).
6421
64222008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
6423
6424 * callproc.c (set_initial_environment): Initialize
6425 Vprocess_environment under CANNOT_DUMP (fixes crash when
6426 batch-compiling for bootstrap).
6427
64282008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
6429 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6430
6431 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
6432 fix crash due to different init order.
6433
64342008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6435
6436 Changes and additions for NeXTstep windowing system (Cocoa and
6437 GNUstep) support.
6438
6439 * Makefile.in:
6440 * config.in: Support defines and build commands for NS port.
6441 * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
6442 (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
6443 * dispextern.h: Include nsgui.h and add needed typedefs under NS
6444 windowing.
6445 (struct face): Add synth_ital field.
6446 * dispnew.c: Include nsterm.h when compiling under NS windowing.
6447 (init_display): Initialize Vinitial_window_system to "ns" when so
6448 compiled.
6449 * emacs.c: Include GSConfig.h when compiling under GNUstep.
6450 (display_arg): Use under NS.
6451 (main): Under NS, allocate autorelease pool and handle command line
6452 args. Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
6453 (standard_args): Add NS-specific args.
6454 (shut_down_emacs): Shut down NS terminal if compiled under NS.
6455 * font.c (DEFAULT_ENCODING): New variable.
6456 (font_find_for_lface): Use it.
6457 (syms_of_font): Load syms_of_nsfont under NS.
6458 * font.h: Declare nsfont_driver when compiled under NS.
6459 * fontset.c: When compiling under NS, include nsterm.h.
6460 (fontset_from_font): Autoconstruct fontset under NS.
6461 * frame.c (various): Under NS, include nsterm.h, add Qns window system
6462 symbol, document and use it.
6463 (do_switch_frame): When for_deletion under Cocoa, add
6464 Fraise_frame(Qnil).
6465 (x_set_frame_parameters): Ensure font attribute changes are picked up.
6466 (x_get_arg): Allow "yes" and "no" as boolean values.
6467 (syms_of_frame): Declare Qns. Init Vdefault_frame_scroll_bars to
6468 Qright under Cocoa.
6469 (focus-follows-mouse): Default to 0 under NS.
6470 * frame.h (enum output_method): Add output_ns.
6471 (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
6472 (FRAME_EXTERNAL_MENU_BAR): Use under NS.
6473 (FRAME_WINDOW_P): NS-specific definition.
6474 * fringe.c (max_used_fringe_bitmap): Make public.
6475 * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
6476 (getloadavg): Use NeXT code under descendant OS's.
6477 * image.c (includes and header section, x_create_bitmap_from_data)
6478 (x_create_bitmap_from_file, free_bitmap_record, image_background)
6479 (image_background_transparent, x_clear_image_1)
6480 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
6481 (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
6482 (x_to_xcolors, x_from_xcolors, x_disable_image)
6483 (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
6484 other GUIs, including XPM support using code originally written for
6485 Carbon GUI.
6486 (png_load, jpeg_load, tiff_load, gif_load): Add implementations
6487 using NS API.
6488 (image_ascent): Use font metrics macros instead of direct struct field
6489 access.
6490 * keyboard.c (includes): Add nsterm.h when compiling under NS.
6491 (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
6492 Also, handle NS as GTK for menu bar purposes.
6493 (make_lispy_event): Handle NS as other GUI windowing systems, and as X
6494 toolkit where they differ.
6495 (parse_menu_item): Prefer keybindings using 'super' modifier. Also,
6496 use cachelist, still needed under NS.
6497 * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
6498 (struct widget_value): Define it here for menu.c.
6499 * keymap.c (includes): Include modifier internals.
6500 (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
6501 NS.
6502 (where_is_internal, Fwhere_is_internal): When compiled under NS, add
6503 support for preferring sequences using certain modifiers, specified by
6504 the FIRSTONLY argument.
6505 * lisp.h (hash_remove): Rename to avoid name clash when compiling
6506 under NS GNUstep implementation.
6507 (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
6508 * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
6509 * menu.c: Include nsterm.h under NS.
6510 (single_menu_item, parse_single_submenu, xmalloc_widget_value)
6511 (free_menubar_widget_tree_value, update_submenu_strings)
6512 (find_and_call_menu_selection): Treat NS as X and NT.
6513 (find_and_return_menu_selection): New function, used for popup menus.
6514 * nsgui.h:
6515 * nsterm.h:
6516 * nsfns.m:
6517 * nsimage.m:
6518 * nsmenu.m:
6519 * nsselect.m:
6520 * nsterm.m: New files.
6521 * process.c (wait_reading_process_output): Under NS, call ns_select()
6522 instead of plain select().
6523 * syntax.c (char_quoted): Under NS, avoid a crash when called near
6524 beginning of buffer.
6525 * sysselect.h (init_process): Rename when compiling under Cocoa to
6526 avoid name conflict.
6527 * termhooks.h (display_info): Add ns_display_info to union.
6528 * terminal.c (Fterminal_live_p): Add ns to terminal types.
6529 * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
6530 COCOA environment.
6531 * unexnext.c: Update to work with mach API on Mac OS X, and to use new
6532 unexec() signature. (Note, this will dump, but the resulting file
6533 crashes; unexosx is used instead; keeping around for reference and
6534 possible aid in getting dump working under GNUstep.)
6535 * w32gui.h (button_type, widget_value): Remove definitions (now in
6536 keyboard.h).
6537 * window.c: Include nsterm.h when compiling under NS.
6538 * xdisp.c (includes): Include nsterm.h when compiling under NS.
6539 (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
6540 other GUI windowing systems.
6541 (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
6542 GTK.
6543 (x_consider_frame_title): Under NS, set icon type and frame
6544 modified-state indicator; use ns_set_name_as_filename() when using
6545 formatted title.
6546 (update_window_cursor): Make public when compiling under NS.
6547 (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
6548 (hourglass_atimer, Vhourglass_delay
6549 * xfaces.c (header section, init_frame_faces, clear_font_table)
6550 (defined_color, unload_color, x_face_list_fonts)
6551 (prepare_face_for_display): Add NS support parallel to other GUIs.
6552 Emulate GCs like other non-X GUIs.
6553 (split_font_name): Don't lowercase font name under NS.
6554 (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
6555 under NS.
6556 * s/darwin.h: Add support for compilation under NS.
6557
65582008-07-15 Jason Rumney <jasonr@gnu.org>
6559
6560 * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
6561 (w32_show_hourglass): Rename from show_hourglass.
6562 (w32_hide_hourglass): Rename from hide_hourglass.
6563 (DEFAULT_HOURGLASS_DELAY): Revert from last change.
6564 (Vhourglass_delay): Declare extern.
6565 (hourglass_started): Remove.
6566
6567 * xdisp.c (Vhourglass_delay): Remove static.
6568 (hourglass_started, start_hourglass, cancel_hourglass):
6569 Don't include these versions on WINDOWSNT.
6570
65712008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
6572
6573 * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
6574 variables (formerly in xfns.c).
6575 (show_hourglass, hide_hourglass): New prototypes (same).
6576 * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
6577 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
6578 in xfns.c).
6579 (syms_of_xdisp): Declare/initialize display-hourglass,
6580 hourglass-delay. Initialize hourglass_atimer, hourglass_shown_p.
6581 (hourglass_started, start_hourglass, cancel_hourglass): New functions,
6582 formerly in xfns.c.
6583 * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
6584 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
6585 (start_hourglass, cancel_hourglass): Remove.
6586 (show_hourglass, hide_hourglass): Remove prototypes and static
6587 modifiers.
6588 (syms_of_xfns): Remove display-hourglass, hourglass-delay,
6589 hourglass_atimer, hourglass_shown_p declaration/initialization.
6590 * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
6591 (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
6592 (start_hourglass, cancel_hourglass): Remove.
6593 (show_hourglass, hide_hourglass): Remove prototypes and static
6594 modifiers.
6595 (syms_of_macfns): Remove display-hourglass, hourglass-delay,
6596 hourglass_atimer, hourglass_shown_p declaration/initialization.
6597 * w32fns.c (display_hourglass_p, Vhourglass_delay)
6598 (DEFAULT_HOURGLASS_DELAY): Remove.
6599 (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
6600 hourglass_shown_p declaration/initialization.
6601
66022008-07-14 Jason Rumney <jasonr@gnu.org>
6603
6604 * w32fns.c (w32_get_arg): Remove wrapper function.
6605 (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
6606 directly.
6607 (Fx_create_frame): Sync with xfns.c. Use x_get_arg directly.
6608
66092008-07-14 Kenichi Handa <handa@m17n.org>
6610
6611 * xfont.c (xfont_open): Add workaround for X's bug.
6612
66132008-07-14 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
6614
6615 * fontset.c: Include <stdio.h> unconditionally.
6616
66172008-07-13 Michael Albinus <michael.albinus@gmx.de>
6618
6619 * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
6620 for filtering.
6621
66222008-07-13 Dan Nicolaescu <dann@ics.uci.edu>
6623
6624 * s/vms.h: Use __GNUC__ instead of _GNUC_.
6625
6626 * m/macppc.h:
6627 * m/alpha.h: Use GNU_LINUX instead of LINUX. Reorganize conditionals.
6628
6629 * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
6630 (SPECIAL_EMACS_INT):
6631 * m/ia64.h (SPECIAL_EMACS_INT):
6632 * m/amdx86-64.h (SPECIAL_EMACS_INT):
6633 * s/gnu.h (NLIST_STRUCT):
6634 * s/aix4-2.h (X11R5_INHIBIT_I18N):
6635 * s/gnu-linux.h (LINUX):
6636 * s/msdos.h (HAVE_FACES):
6637 * s/ms-w32.h (HAVE_FACES): Don't define, unused.
6638
6639 * systty.h:
6640 * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
6641 anymore.
6642
66432008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
6644
6645 * syswait.h: Remove old if 0 code. Do not define WAITTYPE, it was
6646 always defined as int.
6647
6648 * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
6649 * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
6650 * s/gnu-linux.h (HAVE_WAIT_HEADER):
6651 * s/freebsd.h (HAVE_WAIT_HEADER):
6652 * s/bsd-common.h (HAVE_UNION_WAIT):
6653 * s/aix4-2.h (HAVE_WAIT_HEADER):
6654 * m/mips.h (HAVE_UNION_WAIT):
6655 * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
6656 (COFF, static): Do not define, they are undefined later in the file.
6657
6658 * process.c (update_status): Don't use a union.
6659 (status_convert):
6660 (sigchld_handler): Use int instead of WAITTYPE.
6661
66622008-07-12 Chong Yidong <cyd@stupidchicken.com>
6663
6664 * indent.c (Fvertical_motion): Restore hscroll before moving to
6665 goal column.
6666
66672008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
6668
6669 * lisp.h: Remove left over code.
6670
66712008-07-11 Andreas Schwab <schwab@suse.de>
6672
6673 * lisp.h: Fix logic in last change.
6674
6675 * menu.h: New file.
6676 * menu.c: Include it.
6677 * xmenu.c: Likewise.
6678 * Makefile.in: Update dependencies.
6679
66802008-07-11 Kenichi Handa <handa@m17n.org>
6681
6682 * fontset.c (fontset_from_font): Cancel the previous change.
6683
66842008-07-11 Dan Nicolaescu <dann@ics.uci.edu>
6685
6686 * lisp.h:
6687 * w32heap.c:
6688 * emacs.c:
6689 * alloc.c: Replace all references of NO_UNION_TYPE with
6690 USE_LISP_UNION_TYPE.
6691
6692 * m/xtensa.h (NO_UNION_TYPE):
6693 * m/vax.h (NO_UNION_TYPE):
6694 * m/template.h (NO_UNION_TYPE):
6695 * m/sparc.h (NO_UNION_TYPE):
6696 * m/mips.h (NO_UNION_TYPE):
6697 * m/macppc.h (NO_UNION_TYPE):
6698 * m/m68k.h (NO_UNION_TYPE):
6699 * m/iris4d.h (NO_UNION_TYPE):
6700 * m/intel386.h (NO_UNION_TYPE):
6701 * m/ibms390x.h (NO_UNION_TYPE):
6702 * m/ibms390.h (NO_UNION_TYPE):
6703 * m/ibmrs6000.h (NO_UNION_TYPE):
6704 * m/ia64.h (NO_UNION_TYPE):
6705 * m/hp800.h (NO_UNION_TYPE):
6706 * m/arm.h (NO_UNION_TYPE):
6707 * m/amdx86-64.h (NO_UNION_TYPE):
6708 * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
6709 defining it the same.
6710
67112008-07-10 Chong Yidong <cyd@stupidchicken.com>
6712
6713 * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
6714
67152008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
6716
6717 * fileio.c:
6718 * sysdep.c
6719 * systty.h:
6720 * m/ibmrs6000.h:
6721 * m/iris4d.h:
6722 * s/aix4-2.h:
6723 * s/freebsd.h:
6724 * s/gnu-linux.h:
6725 * s/hpux10-20.h:
6726 * s/hpux11.h:
6727 * s/netbsd.h:
6728 * s/sol2-3.h:
6729 * s/sol2-4.h:
6730 * s/sol2.h:
6731 * s/usg5-4.h:
6732 * s/vms.h: Remove references to unused variables.
6733
67342008-07-10 Andreas Schwab <schwab@suse.de>
6735
6736 * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
6737 pattern before matching the generic family.
6738
67392008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
6740
6741 * unexec.c:
6742 * s/vms.h:
6743 * s/usg5-4-2.h:
6744 * s/sol2-5.h:
6745 * s/freebsd.h:
6746 * s/darwin.h: Remove dead code.
6747
6748 * m/template.h:
6749 * m/sparc.h:
6750 * m/mips.h:
6751 * m/m68k.h:
6752 * m/iris4d.h:
6753 * m/intel386.h:
6754 * m/ibms390x.h:
6755 * m/ibms390.h:
6756 * m/ia64.h:
6757 * m/hp800.h:
6758 * m/arm.h:
6759 * m/amdx86-64.h: Remove dead code and references to unused
6760 and compiler defined symbols.
6761
6762 * unexmips.c:
6763 * unexelf.c: Remove references to desupported systems.
6764
6765 * m/powermac.h: Remove file, it is now identical to m/macppc.h.
6766
6767 * m/powermac.h: Remove boilerplate comments.
6768 (NO_REMAP): Remove unused definition.
6769
6770 * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
6771 define them.
6772
67732008-07-10 Kenichi Handa <handa@m17n.org>
6774
6775 * xfont.c (xfont_open): Log the reason of failure.
6776
67772008-07-09 Stefan Monnier <monnier@iro.umontreal.ca>
6778
6779 * fontset.c (fontset_get_font_group):
6780 * font.c (font_check_otf): Specify argument types.
6781
67822008-07-09 Kenichi Handa <handa@m17n.org>
6783
6784 * coding.c (detect_coding_utf_8): Set detect_info->found only when
6785 non-ASCII char is found.
6786
6787 * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
6788 (reorder_font_vector): Change the arg preferred_family to font.
6789 Prefer the spec matching with font.
6790 (fontset_get_font_group): New function.
6791 (fontset_find_font): Change the format of an element of a realized
6792 fontset. Use fontset_get_font_group.
6793 (fontset_font): Try the current fontset, the default fontset, the
6794 fallbacks of the current fontset, and the fallbacks of the default
6795 fontset in this order.
6796 (face_for_char): Delete the shortcut to use the current font.
6797 (fontset_from_font): Don't set fonts for Latin in the fontset.
6798
6799 * font.h (font_make_object, font_match_p): Adjust prototypes.
6800
6801 * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
6802
6803 * font.c (font_make_object): New arg entity and pixelsize.
6804 (font_check_otf_features, font_check_otf): New functions.
6805 (font_match_p): Check :lang, :script, and :otf properties.
6806
6807 * xfont.c (xfont_open): Adjust it for the change of
6808 font_make_object.
6809 (xfont_text_extents): Fix initial setting of metrics.
6810
6811 * ftfont.c (struct ftfont_info): New member index, delete member
6812 fc_charset_idx. Make the member order compatible with struct
6813 xftfont_info.
6814 (fc_charset_table): Change charset names to registry names.
6815 (ftfont_pattern_entity): Delete the args registry and
6816 fc_charset_idx. Change the value of :font-entity property
6817 to (FONTNAME . INDEX). Always set :registry property to
6818 `iso10646-1'.
6819 (struct ftfont_cache_data): New struct.
6820 (ftfont_lookup_cache): New arg for_face.
6821 (ftfont_get_fc_charset, ftfont_get_otf): New functions.
6822 (ftfont_driver): Set the member otf_capability.
6823 (ftfont_get_charset): Adjust it for the change of
6824 fc_charset_table.
6825 (OTF_TAG_SYM): New macro.
6826 (ftfont_spec_pattern): Delete the arg fc_charset_idx. Adjust it
6827 for the change of fc_charset_table.
6828 (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
6829 ftfont_pattern_entity. Add FC_INDEX to objset.
6830 (ftfont_match): Adjust it for the change of ftfont_spec_pattern
6831 and ftfont_pattern_entity.
6832 (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
6833 font_make_object, struct ftfont_info.
6834 (ftfont_has_char): Use ftfont_get_fc_charset.
6835 (ftfont_otf_features, ftfont_otf_capability): New functions.
6836 (ftfont_shape): Use ftfont_get_otf.
6837 (ftfont_text_extents): Fix initial setting of metrics.
6838
6839 * xftfont.c (struct xftfont_info): New member ft_size. Make the
6840 member order compatible with struct ftfont_info.
6841 (xftfont_open): Add FC_CHARSET to the pattern. Set
6842 xftfont_info->ft_size. Don't unlock the face. Check BDF
6843 properties if appropriate.
6844 (xftfont_close): Unlock the face.
6845 (xftfont_anchor_point, xftfont_shape): Deleted.
6846 (syms_of_xftfont): Don't set members anchor_point and shape of
6847 xftfont_driver.
6848
6849 * w32uniscribe.c (uniscribe_open): Adjust it for the change of
6850 font_make_object.
6851
6852 * w32font.c (w32font_open): Adjust it for the change of
6853 font_make_object.
6854 (w32font_open_internal): Don't set properties of font_object here.
6855
68562008-07-08 Chong Yidong <cyd@stupidchicken.com>
6857
6858 * macfns.c (x_create_tip_frame):
6859 * w32fns.c (x_create_tip_frame):
6860 * xfns.c (x_create_tip_frame): Pass parameter argument to
6861 face-set-after-frame-default.
6862
6863 * xfaces.c (Finternal_merge_in_global_face): Save merged
6864 attributes for the default face back into the face vector.
6865
68662008-07-08 Andreas Schwab <schwab@suse.de>
6867
6868 * fontset.h: Declare fontset_from_font. Don't declare
6869 new_fontset_from_font and fontset_from_font_name.
6870 * xterm.c: Include "fontset.h".
6871 * Makefile.in (xterm.o): Update dependencies.
6872
68732008-07-08 Glenn Morris <rgm@gnu.org>
6874
6875 * m/sparc.h: Define __sparc__ rather than sparc. (Bug#507.)
6876 * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
6877
68782008-07-07 Chong Yidong <cyd@stupidchicken.com>
6879
6880 * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
6881 (x_set_frame_parameters): Don't bind it.
6882
68832008-07-07 Juanma Barranquero <lekktu@gmail.com>
6884
6885 * w32fns.c (map_w32_filename): Declare extern.
6886
68872008-07-07 Jason Rumney <jasonr@gnu.org>
6888
6889 * w32term.c (WS_EX_LAYERED): Define if not already.
6890
68912008-07-06 Chong Yidong <cyd@stupidchicken.com>
6892
6893 * xfaces.c (set_font_frame_param): Don't try to set the font
6894 parameter if it is still unspecified in the lface.
6895
68962008-07-05 Chong Yidong <cyd@stupidchicken.com>
6897
6898 * xfaces.c (Finternal_merge_in_global_face): Don't realize default
6899 face if it didn't already exist.
6900
6901 * xdisp.c (try_window_id): Give up if word-wrapping is on.
6902
69032008-07-05 Andreas Schwab <schwab@suse.de>
6904
6905 * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
6906
69072008-07-05 Chong Yidong <cyd@stupidchicken.com>
6908
6909 * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
6910 word-wrapping.
6911 (IT_DISPLAYING_WHITESPACE): New macro.
6912 (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
6913 when word-wrapping. Simplify word-wrapping logic. Use correct
6914 pixel positions when saving copies of the iterator.
6915 (display_line): Use proper wrap point if the last character on a
6916 line was preceded by whitespace.
6917
69182008-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
6919
6920 * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
6921
69222008-07-04 Kenichi Handa <handa@m17n.org>
6923
6924 * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
6925
6926 * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
6927
69282008-07-02 Jason Rumney <jasonr@gnu.org>
6929
6930 * xfns.c (syms_of_xfns): Only define x-select-font when both
2ae37cf0 6931 HAVE_FREETYPE and USE_GTK.
aac0c6e3
MR
6932
6933 * xdisp.c (next_element_from_display_vector): Move assignment out
6934 of if statement.
6935
69362008-07-02 Toru Tsuneyoshi <t_tuneyosi@hotmail.com>
6937
6938 * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
6939
6940 * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
6941 (syms_of_fileio): Initialize and export them.
6942 (Fdelete_directory, Fdelete_file): Optionally delete via trash.
6943
6944 * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
6945 (Fsystem_move_file_to_trash): New function.
6946 (syms_of_w32fns): Export it to lisp.
6947
69482008-07-01 Jason Rumney <jasonr@gnu.org>
6949
6950 * w32font.c (w32font_text_extents): Don't count overhang as part
6951 of width.
6952
69532008-06-30 Miles Bader <miles@gnu.org>
6954
6955 * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
6956 Add `avoid_cursor_p' field.
6957
6958 * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
6959 (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
6960 (append_glyph, append_composite_glyph, produce_image_glyph)
6961 (append_stretch_glyph): Initialize avoid_cursor_p.
6962 (get_it_property): Rename from `get_line_height_property'.
6963 (x_produce_glyphs): Use get_it_property.
6964 (handle_line_prefix, push_display_prop): New functions.
6965 (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
6966 (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
6967 New variables.
6968 (syms_of_xdisp): Initialize them.
6969
69702008-06-30 Kenichi Handa <handa@m17n.org>
6971
6972 * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
6973 XftDefaultSubstitute (they are called in XftFontMatch).
6974 (xftfont_open): Fix args to ftfont_font_format.
6975
6976 * ftfont.c (fc_charset_table): New member lang.
6977 (ftfont_resolve_generic_family): New arg pattern.
60612c8f 6978 (ftfont_spec_pattern): Check fc_charset_table[]->lang.
aac0c6e3
MR
6979 (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
6980 (ftfont_open): Fix args to ftfont_font_format.
6981 (ftfont_font_format): New arg filename.
6982
69832008-06-30 Chong Yidong <cyd@stupidchicken.com>
6984
6985 * xfaces.c (Finternal_merge_in_global_face): If default face was
6986 modified, realize it again. Update the font face attribute.
6987
69882008-06-29 Jason Rumney <jasonr@gnu.org>
6989
6990 * w32term.c (x_set_frame_alpha): Fix logic.
6991
69922008-06-29 Kenichi Handa <handa@m17n.org>
6993
6994 * fontset.c (Finternal_char_font): Return font-object instead of
6995 font-name.
6996
6997 * composite.c (get_composition_id): Fix the width calculation for TAB.
6998
69992008-06-29 Stefan Monnier <monnier@iro.umontreal.ca>
7000
7001 * indent.c (Fvertical_motion): Properly handle float column arg.
7002
70032008-06-28 Jason Rumney <jasonr@gnu.org>
7004
7005 * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
7006 (pfnSetLayeredWindowAttributes): New function pointer.
7007 (w32_initialize): Initialize it when supported.
7008 (x_set_frame_alpha): New function.
7009
7010 * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
7011 (w32_frame_parm_handlers): Set alpha handler.
7012
7013 * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
7014
70152008-06-27 Jason Rumney <jasonr@gnu.org>
7016
7017 * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
7018 (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
7019 (w32_to_x_charset, x_to_w32_charset)
7020 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
7021 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
7022 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
7023 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
7024 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
7025 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
7026 (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
7027 (Qw32_charset_unicode): Remove.
7028 (syms_of_w32fns): Update for above changes.
7029
7030 * w32font.c (w32_to_x_charset, x_to_w32_charset)
7031 (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
7032 (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
7033 (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
7034 (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
7035 (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
7036 (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
7037 (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
7038 (syms_of_w32font): Update for above changes.
7039
70402008-06-27 Dan Nicolaescu <dann@ics.uci.edu>
7041
7042 * s/usg5-4.h: Fix previous change: keep the correct branch of a
7043 removed #if.
7044 (USG_SHARED_LIBRARIES): Remove duplicate definition.
7045
70462008-06-26 Juanma Barranquero <lekktu@gmail.com>
7047 Eli Zaretskii <eliz@gnu.org>
7048
7049 * makefile.w32-in (LOCAL_FLAGS):
7050 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
7051
7052 * sysdep.c (_spawnlp, _getpid):
7053 Declare with explicit _cdecl instead of _CRTAPI1.
7054
7055 * editfns.c (Fget_internal_run_time):
7056 Check for WINDOWSNT with #ifdef, not #if.
7057
70582008-06-26 Jason Rumney <jasonr@gnu.org>
7059
7060 * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
7061
7062 * w32term.c (x_draw_glyph_string_foreground)
7063 (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
7064 Use FONT_HANDLE macro.
7065 (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
7066
7067 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
7068 (uniscribe_encode_char): Use FONT_HANDLE macro.
7069
7070 * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
7071 (w32font_text_extents): Use precast w32_font.
7072 (w32font_close): Free cached metrics.
7073 (w32font_open_internal): Allocate space for name on stack.
7074
70752008-06-26 Chong Yidong <cyd@stupidchicken.com>
7076
7077 * xdisp.c (extend_face_to_end_of_line): Fix last change.
7078
70792008-06-26 Jason Rumney <jasonr@gnu.org>
7080
7081 * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
7082 (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
7083
70842008-06-26 Juanma Barranquero <lekktu@gmail.com>
7085
7086 * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
7087
70882008-06-26 Jason Rumney <jasonr@gnu.org>
7089
7090 * w32bdf.c, w32bdf.h: Remove obsolete files.
7091
7092 * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
7093
7094 * w32gui.h: Don't include w32bdf.h.
7095 (XCharStruct, enum w32_char_font_type, W32FontStruct):
7096 Remove obsolete font support.
7097
7098 * w32font.h (struct w32font_info): Remove compat_w32_font.
7099 Add hfont member.
7100 (FONT_COMPAT): Remove obsolete macro.
7101
7102 * w32font.c (w32font_close): Remove compat code. Delete hfont member.
7103 (w32font_encode_char, w32font_text_extents): Use new hfont member.
7104 (w32font_open_internal): Remove compat code. Set new hfont member.
7105 (Fx_select_font): Use new hfont member.
7106
7107 * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
7108 (uniscribe_encode_char): Use new hfont member.
7109
7110 * w32term.c (x_draw_glyph_string_foreground)
7111 (x_draw_composite_glyph_string_foreground): Use new hfont member.
7112 (x_draw_glyph_string): Use metrics in w32font_info.
7113
71142008-06-26 Kenichi Handa <handa@m17n.org>
7115
7116 * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
7117
71182008-06-26 Dan Nicolaescu <dann@ics.uci.edu>
7119
7120 * unexnext.c:
7121 * m/ews4800.h:
7122 * m/hp9000s300.h:
7123 * m/ibm370aix.h:
7124 * m/mips-siemens.h:
7125 * m/ncr386.h:
7126 * m/next.h:
7127 * m/pmax.h:
7128 * m/powerpcle.h:
7129 * m/tandem-s2.h:
7130 * s/386bsd.h:
7131 * s/bsd386.h:
7132 * s/bsd4-1.h:
7133 * s/bsd4-2.h:
7134 * s/bsdos2-1.h:
7135 * s/bsdos2.h:
7136 * s/bsdos3.h:
7137 * s/bsdos4.h:
7138 * s/nextstep.h:
7139 * s/ultrix4-3.h:
7140 * s/usg5-0.h:
7141 * s/usg5-2-2.h:
7142 * s/usg5-2.h:
7143 * s/usg5-4-3.h:
7144 * s/ux4800.h:
7145 * s/uxpds.h:
7146 * s/uxpv.h: Remove support for obsolete systems.
7147 * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
8f3a3ac2 7148 Remove, insert contents in s/hpux10-20.h.
aac0c6e3
MR
7149 * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
7150 Remove, insert contents in s/aix4-2.h.
7151 * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
7152 * s/bsd4-3.h: Rename to ...
7153 * s/bsd-common.h: ... this.
7154 * data.c:
7155 * doc.c:
7156 * ecrt0.c:
7157 * emacs.c:
7158 * fileio.c:
7159 * floatfns.c:
7160 * keyboard.c:
7161 * mem-limits.h:
7162 * print.c:
7163 * process.c:
7164 * sysdep.c:
7165 * syssignal.h:
7166 * systty.h:
7167 * syswait.h:
7168 * term.c:
7169 * unexec.c:
7170 * unexelf.c:
7171 * unexhp9k800.c:
7172 * m/hp800.h:
7173 * m/ibmrs6000.h:
7174 * m/mips.h:
7175 * m/vax.h:
7176 * s/darwin.h:
7177 * s/freebsd.h:
7178 * s/gnu.h:
7179 * s/ms-w32.h:
7180 * s/msdos.h:
7181 * s/netbsd.h:
7182 * s/template.h: Remove references to obsolete variables.
7183
7184 * Makefile.in: Add dependencies for all unexec files.
7185 (admindir): Remove unused variable.
7186 (UNEXEC_SRC): Remove references.
7187
71882008-06-25 Chong Yidong <cyd@stupidchicken.com>
7189
7190 * xfns.c (x_default_font_parameter): If Xft is available, first
7191 try Monospace-12 for the default font.
7192
71932008-06-25 Jason Rumney <jasonr@gnu.org>
7194
7195 * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
7196
71972008-06-25 Stefan Monnier <monnier@iro.umontreal.ca>
7198
7199 * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
7200
7201 * buffer.c (syms_of_buffer): Remove default-word-wrap.
7202
72032008-06-25 Juanma Barranquero <lekktu@gmail.com>
7204
7205 * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
7206 <scroll-conservatively>: Fix typo in docstring.
7207
7208 * xselect.c (Fx_send_client_event): Doc fix.
7209
72102008-06-25 Kenichi Handa <handa@m17n.org>
7211
7212 * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
7213
7214 * font.c (font_parse_fcname): Remove unused variables.
7215 (font_sort_entites): Delete the arg SPEC. Caller changed.
7216 Fix for the case of ! best_only.
7217 (font_delete_unmatched): Check DPI and AVGWIDTH too.
7218
7219 * lisp.h (Fstring_to_unibyte): EXFUN it.
7220
7221 * character.h (str_to_unibyte): Extern it.
7222
7223 * character.c (str_to_unibyte): New function.
7224
7225 * fns.c (Fstring_to_unibyte): New function.
7226 (syms_of_fns): Defsubr it.
7227
72282008-06-24 Kenichi Handa <handa@m17n.org>
7229
7230 * font.c (font_score): Even if the PIXEL_SIZE is the same, check
7231 DPI too.
7232 (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
7233
72342008-06-24 Andreas Schwab <schwab@suse.de>
7235
7236 * Makefile.in (${lispsource}loaddefs.el): Rename from
7237 ../lisp/loaddefs.el.
7238 (bootstrap-clean): Do what distclean does but don't remove
7239 Makefile.
7240 (distclean): Depend on bootstrap-clean and remove Makefile.
7241
72422008-06-24 Chong Yidong <cyd@stupidchicken.com>
7243
7244 * buffer.h (struct buffer): New member word_wrap.
7245
7246 * buffer.c (syms_of_buffer): New variables default-word-wrap and
7247 word-wrap.
7248 (init_buffer_once): Initialize them.
7249
7250 * dispextern.h (struct it): Replace bool truncate_lines_p with a
7251 line_wrap enum possessing three possible values.
7252
7253 * termopts.h: Replace truncate_partial_width_windows with
7254 Vtruncate_partial_width_windows.
7255
7256 * dispnew.c (direct_output_for_insert): Avoid direct output when
7257 inserting a space with word wrap on.
7258
7259 * indent.c (compute_motion): Obey integer values of
7260 truncate-partial-width-windows.
7261
7262 * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
7263 replacing truncate_partial_width_windows.
7264 (init_iterator): If Vtruncate_partial_width_windows is an integer,
7265 truncate only if the window width is below that integer.
7266 (start_display, resize_mini_window, produce_stretch_glyph)
7267 (display_string, move_it_in_display_line_to): Use line_wrap.
7268 (back_to_previous_visible_line_start, reseat_1): Reset
7269 string_from_display_prop_p.
7270 (display_line): Extend default face to end of line when wrapping.
7271
72722008-06-24 Kim F. Storm <storm@cua.dk>
7273
7274 * xdisp.c (display_line, move_it_in_display_line_to): Add ability
7275 to wrap continued lines at word boundaries.
7276
72772008-06-24 Jason Rumney <jasonr@gnu.org>
7278
7279 * font.c (Ffont_face_attributes): Multiply pixel size before point
7280 conversion to avoid multiplying rounding error.
7281
72822008-06-23 Jason Rumney <jasonr@gnu.org>
7283
7284 * w32term.c (x_draw_glyph_string_background)
7285 (x_draw_glyph_string): Remove old bdf font code.
7286
7287 * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
7288
72892008-06-22 Kenichi Handa <handa@m17n.org>
7290
7291 * font.c (font_find_for_lface): Try the adstyle specified in
7292 the property of LFACE_FONT of LFACE (if any).
7293
72942008-06-21 Seiji Zenitani <zenitani@mac.com>
7295 Ryo Yoshitake <ryo@shiftmode.net>
7296
7297 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
7298
72992008-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
7300
7301 * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
7302 Use $(BOOTSTRAPEMACS) rather than witness-emacs.
7303 (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
7304 (witness-emacs): Remove.
7305 (lisp, shortlisp): Move loaddefs.el earlier.
7306 (mostlyclean): Forget about witness-emacs.
7307
73082008-06-22 Glenn Morris <rgm@gnu.org>
7309
7310 * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
7311 (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
7312
73132008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
7314
7315 * Makefile.in (PRECOMP): Remove.
7316 (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
7317 (witness-emacs): Run `compile-first'.
7318 (.el.elc): Use the new compile-onefile target.
7319
73202008-06-21 Kenichi Handa <handa@m17n.org>
7321
7322 * xftfont.c (xftfont_open): Handle QCembolden only when
7323 FC_EMBOLDEN is defined.
7324
73252008-06-21 Andreas Schwab <schwab@suse.de>
7326
7327 * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
7328 (.el.elc): Likewise.
7329
73302008-06-21 Miles Bader <miles@gnu.org>
7331
7332 * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
7333 build dir, not the lisp source dir.
7334
73352008-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
7336
7337 * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
7338 (bootstrapclean): Remove.
7339 (.el.elc): New rule.
7340 (PRECOMP): New var.
7341 (../lisp/subdirs.el): Remove.
7342 (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
7343 (witness-emacs): New target.
7344 (mostlyclean): Remove witness-emacs as well.
7345 (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
7346 Add witness-emacs dependency.
7347
73482008-06-20 Chong Yidong <cyd@stupidchicken.com>
7349
7350 * font.c (Ffont_face_attributes): Omit key-attribute pairs not
7351 defined by the font.
7352
73532008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7354
7355 * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
7356 (bootstrap-clean): New target that keeps TAGS around.
7357 (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
7358 (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
7359
73602008-06-20 Jason Rumney <jasonr@gnu.org>
7361
7362 * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
7363 Remove obsolete font code.
7364
7365 * w32font.c (font_matches_spec): Use csb bitfield from font signature
7366 to determine language support.
7367
73682008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7369
7370 * sysdep.c (cfsetspeed): New fun extracted from the code.
7371 (cfmakeraw): Move before first use.
7372
73732008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
7374
7375 * sysdep.c (cfmakeraw): Provide fallback implementation.
7376 (serial_configure): Provide fallback implementation of cfsetspeed.
7377
73782008-06-20 Kenichi Handa <handa@m17n.org>
7379
7380 * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
7381 the pattern.
7382
7383 * fontset.c (fontset_from_font): Copy font_spec before changing
7384 the elements.
7385
7386 * xfns.c (x_default_font_parameter): Try "monospace-12" too.
7387
73882008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
7389
7390 * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
7391 for explicit `font' parameters.
7392
7393 * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
7394
73952008-06-19 Kenichi Handa <handa@m17n.org>
7396
7397 * frame.c: Include <ctype.h>.
7398 (x_set_font_backend): Allow spacing characters in the X resource
7399 for FontBackend.
7400
74012008-06-19 Stefan Monnier <monnier@iro.umontreal.ca>
7402
7403 * w32fns.c, xfns.c (Qfont_param): New var.
7404 (syms_of_w32fns): Initialize it.
7405 (x_default_font_parameter): Record explicit `font' into
7406 `font-parameter'.
7407
74082008-06-18 Kenichi Handa <handa@m17n.org>
7409
7410 * font.c (font_parse_xlfd): Fix previous change.
7411 (font_parse_fcname): Don't use :fc-unknown-spec.
7412 (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
7413 (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
7414 (font_add_log): Prepend the driver name to the resulting fonts.
7415
7416 * ftfont.c (ftfont_pattern_entity): New arg extra. Caller changed.
7417 (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
7418 (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
7419
7420 * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
7421 (QCembolden): New variables.
7422 (syms_of_xftfont): DEFSYM them.
7423 (xftfont_open): Call XftFontMatch. Don't trust the result of
7424 XftTextExtents8 if the pixel_size is less than 5.
7425
74262008-06-18 Andreas Schwab <schwab@suse.de>
7427
7428 * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
7429 (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
7430
74312008-06-18 Jason Rumney <jasonr@gnu.org>
7432
7433 * w32font.c (w32font_list, w32font_match): Add logging.
7434
7435 * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
7436
74372008-06-17 Chong Yidong <cyd@stupidchicken.com>
7438
7439 * font.c (font_parse_fcname): Store divider characters for
7440 unknown-spec list. For known key symbols, intern using correct
7441 symbol name.
7442
74432008-06-17 Kenichi Handa <handa@m17n.org>
7444
7445 * xfaces.c (realize_default_face): If the frame is not on window
7446 system, set the fontset of face to nil.
7447
74482008-06-17 Naohiro Aota <nao.aota@gmail.com> (tiny change)
7449
7450 * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
7451
74522008-06-16 Juanma Barranquero <lekktu@gmail.com>
7453
7454 * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
7455 (build_font_name_from_vector): Delete externs.
7456
7457 * xfaces.c (struct font_name): Don't declare.
7458
74592008-06-16 Stefan Monnier <monnier@iro.umontreal.ca>
7460
7461 * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
7462
74632008-06-16 Chong Yidong <cyd@stupidchicken.com>
7464
7465 * font.c (font_parse_fcname): Fix handling of unknown-spec string.
7466
74672008-06-16 Juanma Barranquero <lekktu@gmail.com>
7468
7469 * font.c (Ffont_spec): Fix usage in docstring.
7470 (Ffont_face_attributes): Doc fix.
7471
74722008-06-16 Andreas Schwab <schwab@suse.de>
7473
7474 * font.c (Ffont_face_attributes): Fix definition.
7475
74762008-06-16 Jason Rumney <jasonr@gnu.org>
7477
7478 * font.h (font_style_symbolic_from_value): Remove.
7479
7480 * font.c (font_style_symbolic_from_value): Remove.
7481 (font_style_symbolic): Revert to pre 2008-06-13 version.
7482
7483 * w32font.c (w32_to_fc_weight): New function.
7484 (w32font_full_name, logfont_to_fcname): Use it.
7485
74862008-06-16 Kenichi Handa <handa@m17n.org>
7487
7488 * font.c (font_check_object): Delete it.
7489 (font_clear_cache): Check if a font-object is alive.
7490 (font_open_entity): Likewise. Set FONT_OBJLST_INDEX of a
7491 font-object to nil.
7492 (font_close_object): Don't check FONT_CLOSE_OBJECT.
7493 (font_at): Don't call font_check_object.
7494 (Ffont_get): Return a symbol for :weight, :slant, and :width.
7495
74962008-06-16 Katsumi Yamaoka <yamaoka@jpl.org>
7497
7498 * puresize.h (BASE_PURESIZE): Increase to 1230000.
7499
75002008-06-16 Chong Yidong <cyd@stupidchicken.com>
7501
7502 * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
7503
75042008-06-15 Chong Yidong <cyd@stupidchicken.com>
7505
7506 * font.c (font_parse_fcname): Only one decimal point.
7507 (font_unparse_fcname): Handle data in family and foundry indices
7508 as symbols, not strings.
7509 (font_unparse_gtkname, Ffont_face_attributes): New functions.
7510
7511 * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
7512
7513 * font.h (font_unparse_gtkname): Add prototype.
7514
75152008-06-15 Naohiro Aota <nao.aota@gmail.com> (tiny change)
7516
7517 * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
7518
75192008-06-15 Andreas Schwab <schwab@suse.de>
7520
7521 * font.c (font_update_drivers): Fix crash when no drivers match.
7522
75232008-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
7524
7525 * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
7526 * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
7527
75282008-06-14 Stefan Monnier <monnier@iro.umontreal.ca>
7529
7530 * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
7531
75322008-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
7533
7534 * process.c (Fserial_process_configure, Fprocess_send_eof):
7535 Use EQ to compare Lisp_Objects.
7536
75372008-06-13 Jason Rumney <jasonr@gnu.org>
7538
7539 * w32fns.c (Fw32_select_font): Remove old font API function.
7540
7541 * w32font.c (logfont_to_fcname): New function.
7542 (Fx_select_font): New font dialog function compatible with
7543 GTK/fontconfig version.
7544
7545 * font.c (font_style_symbolic_from_value): New function.
7546 (font_style_symbolic): Use it.
7547
7548 * font.h (font_style_symbolic_from_value): Declare new function.
7549
75502008-06-13 Juanma Barranquero <lekktu@gmail.com>
7551
7552 * font.c (syms_of_font) <font-weight-table, font-slant-table>:
7553 <font-width-table>: Fix typos in docstrings.
7554
75552008-06-13 Daniel Engeler <engeler@gmail.com>
7556
7557 These changes add serial port access.
7558 * process.c: Add HAVE_SERIAL.
7559 (Fdelete_process, Fprocess_status, Fset_process_buffer)
7560 (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
7561 (list_processes_1, select_wrapper, Fstop_process)
7562 (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
7563 (status_notify): Modify to handle serial processes.
7564 [HAVE_SERIAL] (Fserial_process_configure)
7565 [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
7566 New functions.
7567 * process.h (struct Lisp_Process): Add `type'.
7568 * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
7569 New functions.
7570 * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
7571 serial ports.
b71ac3dd 7572 (serial_open, serial_configure): New functions.
aac0c6e3
MR
7573 * w32.h: Add FILE_SERIAL.
7574 (struct _child_process): Add ovl_read, ovl_write.
7575
75762008-06-13 Kenichi Handa <handa@m17n.org>
7577
7578 * dispextern.h (enum lface_attribute_index): New member
7579 LFACE_FOUNDRY_INDEX.
7580
7581 * font.c (font_score): Delete arg alternate_families. Check only
7582 weight, slant, width, and size. Ignore the difference of alias
7583 style symbols.
7584 (font_sort_entites): Adjust for the above change. Reflect the
7585 order of font-driver to scores.
7586 (font_list_entities): Don't check alternate_familes here.
7587 (font_clear_prop): Handle foundry.
7588 (font_update_lface): Don't parse "foundry-family" form here.
7589 Handle FONT_FOUNDRY_INDEX.
7590 (font_find_for_lface): Likewise. Handle alternate families here.
7591 If registry is nil, try iso8859-1 and ascii-0.
7592 (font_open_for_lface): Pay attention to size in ENTITY.
7593 (font_open_by_name): Simplify by calling font_load_for_lface.
7594 (free_font_driver_list): Delete it.
7595 (font_update_drivers): Preserve the order of backends.
7596 (syms_of_font): Setting of sort_shift_bits adjusted for the change
7597 of font_score and font_sort_entites.
7598 (font_update_sort_order): Likewise.
7599
7600 * xfaces.c (LFACE_FOUNDRY): New macro.
7601 (check_lface_attrs): Check foundry.
7602 (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
7603 (merge_face_vectors): Check foundry.
7604 (merge_face_ref): Likewise.
7605 (Finternal_set_lisp_face_attribute): Likewise.
7606 (x_update_menu_appearance): Likewise.
7607 (Finternal_get_lisp_face_attribute): Likewise.
7608 (lface_hash): Likewise.
7609 (lface_same_font_attributes_p): Likewise.
7610 (x_supports_face_attributes_p): Likewise.
7611 (tty_supports_face_attributes_p): Likewise.
7612 (Finternal_set_alternative_font_family_alist): Intern strings.
7613 (Finternal_set_alternative_font_registry_alist): Downcase strings.
7614 (realize_default_face): Set LFACE_FOUNDRY (lface).
7615
7616 * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
7617 font-driver at first.
7618
7619 * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
7620
76212008-06-12 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
7622
7623 * lread.c (Fload): Use xfree, not free on saved_doc_string.
7624
76252008-06-12 Jim Meyering <meyering@redhat.com>
7626
7627 Make unexec_free handle NULL the same way free does.
7628 * unexmacosx.c (unexec_free): Ignore a NULL argument.
7629
76302008-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
7631
7632 * character.h (CHAR_TO_BYTE_SAFE): New macro.
7633 * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
7634 * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
7635 (WEAK_ALIAS): Simplify.
7636 * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
7637 when searching a unibyte buffer.
7638
76392008-06-12 Chong Yidong <cyd@stupidchicken.com>
7640
7641 * xfns.c (Fx_select_font): Rename from x-font-dialog.
7642
76432008-06-12 Juanma Barranquero <lekktu@gmail.com>
7644
7645 * w32font.c: Include ctype.h.
7646
76472008-06-11 Jason Rumney <jasonr@gnu.org>
7648
7649 * w32font.c (w32font_encode_char): Detect missing glyphs that are
7650 misreported as space.
7651 (add_font_entity_to_list): Support unicode-bmp and unicode-sip
7652 as aliases for registry iso10646-1.
7653
76542008-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
7655
7656 * buffer.c (clone_per_buffer_values): Skip `name'.
7657
76582008-06-11 Chong Yidong <cyd@stupidchicken.com>
7659
7660 * font.c (font_parse_fcname): Fix last change; accept decimal
7661 points in font size.
7662
76632008-06-10 Jason Rumney <jasonr@gnu.org>
7664
7665 * w32uniscribe.c (add_opentype_font_name_to_list):
7666 Skip non unicode fonts.
7667
76682008-06-10 Chong Yidong <cyd@stupidchicken.com>
7669
7670 * xfns.c (Fx_font_dialog): New function.
7671
7672 * gtkutil.c (xg_dialog_response_cb): Rename from
7673 xg_file_response_callback.
7674 (pop_down_dialog): Rename from pop_down_file_dialog.
7675 (xg_get_file_name): Callers changed.
7676 (xg_get_font_name): New function.
7677
7678 * gtkutil.h (xg_get_font_name): Insert prototype.
7679
76802008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
7681
7682 * xdisp.c (underline_minimum_offset): Rename from xterm.c's
7683 x_underline_minimum_display_offset.
7684 (syms_of_xdisp): Declare it here rather than in xterm.c.
7685 * dispextern.h (underline_minimum_offset): Declare it.
7686 * w32term.c (x_draw_glyph_string): Use it.
7687 * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
7688 (syms_of_xterm): Don't declare it any more.
7689 (x_draw_glyph_string): Adjust to the new name.
7690
76912008-06-10 David De La Harpe Golden <david@harpegolden.net> (tiny change)
7692
7693 * xterm.c (x_underline_minimum_display_offset): New var.
7694 (x_draw_glyph_string): Use it.
7695 (syms_of_xterm): Declare it.
7696
76972008-06-10 Chong Yidong <cyd@stupidchicken.com>
7698
7699 * font.c (font_parse_fcname): Accept GTK-style font names too.
7700
77012008-06-10 Stefan Monnier <monnier@iro.umontreal.ca>
7702
7703 * dired.c (file_name_completion): Don't return t if the match is exact
7704 but with different capitalization.
7705 * minibuf.c (Ftry_completion): Simplify.
7706
7707 * window.c (Vwindow_point_insertion_type): New var.
7708 (set_window_buffer): Use it.
7709 (syms_of_window): Init and export it to Lisp.
7710
77112008-06-10 Kenichi Handa <handa@m17n.org>
7712
7713 * font.h (font_intern_prop): Prototype adjusted.
7714
7715 * font.c (font_intern_prop): New arg force_symbol.
7716 (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
7717 Adjust for the change of font_intern_prop.
7718
7719 * ftfont.c (ftfont_pattern_entity):
7720 * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
7721 (w32_registry):
7722 * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
7723 the change of font_intern_prop.
7724
77252008-06-09 Juanma Barranquero <lekktu@gmail.com>
7726
7727 * w32menu.c (digest_single_submenu): Declare extern.
7728
77292008-06-09 Jason Rumney <jasonr@gnu.org>
7730
7731 * w32term.c (x_make_frame_visible): Use alternate restore flags.
7732
7733 * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
7734 (parse_single_submenu): Remove.
7735 (digest_single_submenu): Remove.
7736 (syms_of_w32menu): Don't initialise variables that have moved
7737 to menu.c.
7738 (set_frame_menubar): Sync with version in xmenu.c.
7739 (w32_menu_show): Sync with xmenu_show in xmenu.c.
7740
7741 * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
7742 Make static again.
7743
77442008-06-09 Jason Rumney <jasonr@gnu.org>
7745
7746 Changes to w32 files related to the move of common menu code
7747 to menu.c on 2008-06-08 by Chong Yidong.
7748
7749 * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
7750 defs to w32gui.h.
7751 (single_keymap_panes, push_menu_item, push_menu_pane):
7752 Make globally visible.
7753
7754 * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
7755 (local_free, malloc_widget_value, free_widget_value)
7756 (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
7757 (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
7758 (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
7759 (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
7760 (menu_items, menu_items_allocated, menu_items_used)
7761 (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
7762 (init_menu_items, finish_menu_items, discard_menu_items)
7763 (grow_menu_items, push_submenu_start, push_submenu_end)
7764 (push_left_right_boundary, push_menu_pane, push_menu_item)
7765 (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
7766 (free_menubar_widget_tree_value, parse_single_submenu)
7767 (update_submenu_strings): Remove functions.
7768 (xmalloc_widget_value): Remove and declare extern.
7769
7770 * makefile.w32-in ($(SRC)/menu.$(O)): New target.
7771 (OBJ1): Build it.
7772
7773 * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
7774 (local_heap, local_alloc, local_free, malloc_widget_value)
7775 (free_widget_value): Define here.
7776
77772008-06-09 Kenichi Handa <handa@m17n.org>
7778
7779 * font.h (Qascii_0): Extern it.
7780
7781 * font.c (Qascii_0): New variable.
7782 (syms_of_font): DEFSYM it.
7783 (font_open_by_name): If the registry "iso8859-1" fails, try also
7784 "ascii-0".
7785
7786 * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
7787
77882008-06-08 Kenichi Handa <handa@m17n.org>
7789
7790 * .gdbinit (xfont): New command.
7791
77922008-06-08 Andreas Schwab <schwab@suse.de>
7793
7794 * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
7795 * Makefile.in (menu.o): Update dependencies.
7796
7797 * Makefile.in (obj): Always add menu.o.
7798 * emacs.c (main): Always call syms_of_menu.
7799 * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
7800
78012008-06-08 Chong Yidong <cyd@stupidchicken.com>
7802
7803 * Makefile.in: Compile menu.c.
7804
7805 * lisp.h: Declare syms_of_menu.
7806
7807 * emacs.c (main): Call syms_of_menu.
7808
7809 * keyboard.h: Relocate platform-independent menu definitions from
7810 xmenu.c.
7811
7812 * menu.c: New file. Relocate platform-independent menu
7813 definitions from xmenu.c. Suggested by Adrian Robert.
7814
7815 * xmenu.c: Remove platform-independent menu definitions.
7816 (menu_items menu_items_inuse, menu_items_allocated)
7817 (menu_items_used, menu_items_n_panes)
7818 (menu_items_submenu_depth): Move to keyboard.h.
7819 (init_menu_items, finish_menu_items, unuse_menu_items)
7820 (discard_menu_items, restore_menu_items, save_menu_items)
7821 (grow_menu_items, push_submenu_start, push_submenu_end)
7822 (push_left_right_boundary, push_menu_pane, push_menu_item)
7823 (keymap_panes, single_keymap_panes, single_menu_item)
7824 (list_of_panes, list_of_items, find_and_call_menu_selection)
7825 (xmalloc_widget_value, free_menubar_widget_value_tree)
7826 (parse_single_submenu, digest_single_submenu)
7827 (update_submenu_strings): Move to menu.c.
7828
78292008-06-07 Stefan Monnier <monnier@iro.umontreal.ca>
7830
7831 * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
7832
78332008-06-06 Miles Bader <miles@gnu.org>
7834
7835 * xdisp.c (x_produce_glyphs): Calculate tab width based on current
7836 face, not frame default.
7837
78382008-06-05 Martin Rudalics <rudalics@gmx.at>
7839
7840 * window.c (pop_up_windows, pop_up_frames)
7841 (display_buffer_reuse_frames, Vpop_up_frame_function)
7842 (Vdisplay_buffer_function, Veven_window_heights)
7843 (Vspecial_display_buffer_names, Vspecial_display_regexps)
7844 (Vspecial_display_function, Vsame_window_buffer_names)
7845 (Vsame_window_regexps, split_height_threshold)
7846 (Vsplit_window_preferred_function): Move those vars to window.el.
7847 (display_buffer_1, Fspecial_display_p, Fsame_window_p)
7848 (Fdisplay_buffer): Move those functions to window.el.
7849 (syms_of_window): Remove corresponding declarations.
7850 (display_buffer): New function.
7851 (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
7852 * dispnew.c (Flast_nonminibuf_frame): New function.
7853 * buffer.c (Fpop_to_buffer): Move to window.el.
7854
78552008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
7856
7857 * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
7858
78592008-06-05 Kenichi Handa <handa@m17n.org>
7860
7861 * coding.c (detect_coding): Fix previous change.
7862 (detect_coding_system): Likewise.
7863
78642008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
7865
7866 * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
7867
7868 * keymap.c (Vminibuffer_local_filename_must_match_map):
7869 Rename from Vminibuffer_local_must_match_filename_map.
7870 (syms_of_keymap):
7871 * minibuf.c (Fcompleting_read): Adjust accordingly.
7872 * commands.h: Rename declaration as well.
7873
78742008-06-05 Kenichi Handa <handa@m17n.org>
7875
7876 * font.c (Ffont_spec): Don't use font_parse_family_registry for
7877 family name.
7878 (Ffont_put): Likewise.
7879
7880 * fontset.c (fontset_find_font): Call font_open_for_lface with the
7881 current font-spec.
7882
7883 * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
7884 is unspecified.
7885
7886 * xfaces.c (realize_x_face): If the font-related face attributes
7887 are the same as those of default face, realize a new fontset from
7888 default->fontset.
7889 (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
7890
78912008-06-05 Stefan Monnier <monnier@iro.umontreal.ca>
7892
7893 * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
7894 (move_it_in_display_line): New wrapper.
7895
7896 * window.c (window_scroll_pixel_based_preserve_x)
7897 (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
7898 (window_scroll_pixel_based, window_scroll_line_based):
7899 Use them to preserve column positions.
7900 (syms_of_window): Initialize them.
7901
7902 * indent.c (Fvertical_motion): Extend first arg to allow passing an
7903 (HPOS . VPOS) pair.
7904
7905 * dispextern.h (move_it_in_display_line): Declare.
7906
79072008-06-05 Juanma Barranquero <lekktu@gmail.com>
7908
7909 * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
7910 (Fwindow_parameters): Return copy of parameter alist. Doc fix.
7911 (Fset_window_parameter): Return VALUE, not parameter alist. Doc fix.
7912
79132008-06-04 Juanma Barranquero <lekktu@gmail.com>
7914
7915 * window.c (Fset_window_parameter): Doc fix.
7916 (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
7917
79182008-06-04 Joakim Verona <joakim@verona.se>
7919
7920 * window.h (struct window): Add new member window_parameters.
7921
7922 * window.c (Fwindow_parameters, Fwindow_parameter)
7923 (Fset_window_parameter): New defuns.
7924 (syms_of_window): Defsubr the new defuns.
7925 (make_window): Initialize window_parameters to nil.
7926
79272008-06-04 John Paul Wallington <jpw@pobox.com>
7928
7929 * eval.c (Fdefmacro): Doc fix.
7930
79312008-06-04 Kenichi Handa <handa@m17n.org>
7932
7933 * coding.c (detect_coding): Fix handling of coding->head_ascii.
7934 Be sure to call setup_coding_system when we find a proper coding system.
7935 (detect_coding_system): Fix handling of coding->head_ascii.
7936
79372008-06-03 Andreas Schwab <schwab@suse.de>
7938
7939 * font.c (font_prop_validate_spacing): Fix last change.
7940
79412008-06-03 Kenichi Handa <handa@m17n.org>
7942
7943 * font.c (font_prop_validate_spacing): Handle uppercase symbols.
7944 (font_parse_fcname): Fix handling of unknown key.
7945
7946 * xfont.c (xfont_list): Try an alias.
7947
7948 * charset.c (char_charset): Return NULL if the arg charset_list is
7949 specified and C doesn't belong to any of them.
7950
79512008-06-02 Chip Coldwell <coldwell@redhat.com>
7952
7953 * font.c (font_pixel_size): Don't take cdr of an integer.
7954
79552008-06-02 Jim Meyering <meyering@redhat.com>
7956
7957 Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
7958 * alloc.c (xfree): Return right away for a NULL arg.
7959 * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
7960 * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
7961 * mac.c (create_apple_event_from_event_ref): Likewise.
7962 (create_apple_event_from_drag_ref, cfstring_create_normalized):
7963 Likewise.
7964 * doprnt.c (doprnt1): Likewise.
7965 * frame.c (frame): Likewise.
7966 * keyboard.c (wipe_kboard): Likewise.
7967 * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
7968 (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
7969 * term.c (tty_default_color_capabilities, maybe_fatal)
7970 (delete_tty): Likewise.
7971 * w16select.c (string): Likewise.
7972 * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
7973 * w32bdf.c (w32_free_bdf_font): Likewise.
7974 * w32fns.c (w32_unload_font): Likewise.
7975 * w32font.c (w32font_close): Likewise.
7976 * window.c (size_window): Likewise.
7977 * xselect.c (receive_incremental_selection): Likewise.
7978 * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
7979 * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
7980 * w32.c (stat): Likewise.
7981
7982 Remove useless if-before-free tests.
7983 * editfns.c (Fset_time_zone_rule): Likewise.
7984 * lread.c (nosuffix): Likewise.
7985 * ralloc.c (get_bloc): Likewise.
7986 * regex.c (reg_free): Likewise.
7987 * xftfont.c (xftfont_open, xftfont_close): Likewise.
7988 * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
7989 * xsmfns.c (smc_save_yourself_CB): Likewise.
7990
79912008-06-02 Kenichi Handa <handa@m17n.org>
7992
7993 * font.c (font_find_for_lface): Handle float font size.
7994 (font_open_for_lface): Likewise.
7995
7996 * xfaces.c (x_supports_face_attributes_p): Check face->font before
7997 comparing the properties.
7998
79992008-06-01 Jason Rumney <jasonr@gnu.org>
8000
8001 * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
8002 Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
8003 Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
8004 Don't add empty script list.
8005 (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
8006
80072008-06-01 Dan Nicolaescu <dann@ics.uci.edu>
8008
8009 * Makefile.in (dot, dotdot): Remove, update users.
8010 ".." has been used elsewhere in the file for a long time.
8011 (LIBXT_STATIC): Remove conditional based on unused variable.
8012
80132008-06-01 Miles Bader <miles@gnu.org>
8014
8015 * xfaces.c (Vface_remapping_alist): New variable.
8016 (syms_of_xfaces): Initialize it.
8017 (enum named_merge_point_kind): New type.
8018 (struct named_merge_point): Add `named_merge_point_kind' field.
8019 (push_named_merge_point): Make cycle detection respect different
8020 named-merge-point kinds.
8021 (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
8022 Remove face-name alias resolution.
8023 (lface_from_face_name): New definition using
8024 `lface_from_face_name_no_resolve'.
8025 (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
8026 Call lface_from_face_name_no_resolve instead of lface_from_face_name.
8027 (get_lface_attributes): New definition that layers face-remapping on
8028 top of get_lface_attributes_no_remap. New arg `named_merge_points'.
8029 (lookup_basic_face): New function.
8030 (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
8031 (realize_named_face): Call `get_lface_attributes_no_remap' instead of
8032 `get_lface_attributes'.
8033 (face_at_buffer_position): Use `lookup_basic_face' to lookup
8034 DEFAULT_FACE_ID if necessary. When optimizing the default-face case,
8035 return default_face's face-id instead of the constant DEFAULT_FACE_ID.
8036
8037 * xdisp.c (init_iterator): Pass base_face_id through
8038 `lookup_basic_face' when we actually use it as a face-id.
8039 (handle_single_display_prop): Use `lookup_basic_face' to lookup
8040 DEFAULT_FACE_ID.
8041
8042 * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
8043 lookup the initial face-id.
8044
8045 * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
8046
80472008-06-01 Juanma Barranquero <lekktu@gmail.com>
8048
8049 * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
8050 (Fremove_text_properties): Fix typos in docstrings.
8051
80522008-05-31 Kenichi Handa <handa@m17n.org>
8053
8054 * font.c (font_list_entities): Fix the car part of data to be
8055 stored in the cache.
8056
8057 * ftfont.c (ftfont_font_format): Don't use strcasestr.
8058
80592008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
8060
8061 * chartab.c (Foptimize_char_table, optimize_sub_char_table):
8062 Add a `test' argument so another predicate than `equal' can be used.
8063 (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
8064 (map_char_table): Remove unused vars `c' and `i'.
8065 * lisp.h (Foptimize_char_table): Adjust declaration.
8066 * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
8067
80682008-05-30 Kenichi Handa <handa@m17n.org>
8069
8070 * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
8071 (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
8072 defined.
8073
80742008-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
8075
8076 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
8077 (Fmake_variable_frame_local): Disallow mixing buffer-local and
8078 frame-local settings for the same variable.
8079
80802008-05-30 Kenichi Handa <handa@m17n.org>
8081
8082 * fontset.c (Ffont_info): Move to font.c.
8083 (syms_of_fontset): Delete defsubr of Sfont_info.
8084
8085 * font.c (font_style_to_value, font_score): Delete casting of the
8086 args to xstcasecmp.
8087 (register_font_driver): Increment num_font_drivers only when
8088 registering the driver globally.
8089 (Ffont_info): Move from fontset.c. Handle a font object too.
8090 (syms_of_font): Defsubr Sfont_info.
8091
80922008-05-29 Kenichi Handa <handa@m17n.org>
8093
8094 * coding.h (enum define_coding_utf8_arg_index): New enum.
8095 (enum coding_attr_index): Change coding_attr_utf_16_bom to
8096 coding_attr_utf_bom.
8097 (enum utf_bom_type): Rename from utf_16_bom_type.
8098 (struct utf_16_spec): Adjust for the above change.
8099 (struct coding_system): Add utf_8_bom in `spec' union.
8100
8101 * coding.c (CODING_UTF_8_BOM): New macro.
8102 (enum coding_category): Delete coding_category_utf_8, add
8103 coding_category_utf_8_auto, coding_category_utf_8_nosig, and
8104 coding_category_utf_8_sig.
8105 (CATEGORY_MASK_UTF_8): Delete it.
8106 (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
8107 (CATEGORY_MASK_UTF_8_SIG): New macros.
8108 (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
8109 CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
8110 CATEGORY_MASK_UTF_8_SIG.
8111 (CATEGORY_MASK_UTF_8): New macro.
8112 (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
8113 (detect_coding_utf_8): Check BOM.
8114 (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
8115 (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
8116 (encode_coding_utf_16): Likewise.
8117 (setup_coding_system): Likewise. Set CODING_UTF_8_BOM (coding).
8118 (detect_coding, detect_coding_system): Handle utf-8-auto.
8119 (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
8120 (syms_of_coding): Fix setting up of Vcoding_category_table.
8121
81222008-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
8123
8124 * process.c (Faccept_process_output): If `millisec' is non-nil,
8125 `seconds' default to 0.
8126 (wait_reading_process_output): Also return non-nil if we read output
8127 from a non-running process.
8128
81292008-05-29 Jason Rumney <jasonr@gnu.org>
8130
8131 * w32font.c (w32font_open_internal): Prefer truetype fonts unless
8132 `raster' specified.
8133 (add_font_entity_to_list): Allow non-opentype truetype fonts back
8134 in the uniscribe backend, but disallow any font that has no
8135 unicode subrange support.
8136
81372008-05-29 Juanma Barranquero <lekktu@gmail.com>
8138
8139 * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
8140 Fix typos in docstrings.
8141
81422008-05-29 Kenichi Handa <handa@m17n.org>
8143
8144 * xfaces.c (Fx_list_fonts): Make it return a list of font names.
8145 (Fx_family_fonts): Set frame correctly.
8146
81472008-05-28 Jason Rumney <jasonr@gnu.org>
8148
8149 * w32term.c (x_draw_glyph_string): Use clipmask if specified.
8150
81512008-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
8152
8153 * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
8154 calling build_annotations.
8155
81562008-05-28 Juanma Barranquero <lekktu@gmail.com>
8157
8158 * coding.c (Fdecode_coding_region, Fencode_coding_region)
8159 (Fencode_coding_string):
8160 (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
8161 <latin-extra-code-table>: Fix typos in docstrings.
8162 (syms_of_coding) <coding-system-alist>: Doc fix.
8163 (syms_of_coding) <translation-table-for-input>: Reflow docstring.
8164
81652008-05-28 Kenichi Handa <handa@m17n.org>
8166
8167 * fontset.c (Ffont_info): Don't call font_close_object.
8168
8169 * font.c (font_parse_family_registry): Use Ffont_put to validate
8170 foundry and family.
8171 (font_delete_unmatched): Don't check spacing.
8172 (font_list_entities): Add spacing to the spec to list fonts.
8173
8174 * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
8175 (ftfont_list): Check spacing here. Don't include FC_CHARSET in objset.
8176
8177 * coding.c (encode_coding_raw_text): Fix previous change.
8178 (encode_coding_object): When the dst_object is a buffer and is
8179 different from src_object, move gap to PT.
8180
81812008-05-27 Chong Yidong <cyd@stupidchicken.com>
8182
8183 * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
8184
81852008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
8186
8187 * coding.c (encode_coding_raw_text): Set coding->produced_char for
8188 all branches. Compute it differently.
8189
8190 * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
8191
81922008-05-27 Juanma Barranquero <lekktu@gmail.com>
8193
8194 * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
8195 into "else if () ... else ...".
8196
81972008-05-27 Jason Rumney <jasonr@gnu.org>
8198
8199 * w32font.c (w32font_open_internal): Determine if glyph indices
8200 are likely to work here.
8201
82022008-05-27 Chong Yidong <cyd@stupidchicken.com>
8203
8204 * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
8205 draw overlap glyphs with appropriate highlighting.
8206
82072008-05-27 Kenichi Handa <handa@m17n.org>
8208
8209 * xfont.c (xfont_open): Fix calculation of font->average_width.
8210
82112008-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
8212
8213 * casefiddle.c (casify_object): Try to guess better whether the
8214 argument is a byte or a char.
8215
82162008-05-26 Andreas Schwab <schwab@suse.de>
8217
8218 * xselect.c (x_reply_selection_request): Properly handle format == 32.
8219 Always send multiples of format size.
8220
8221 * xterm.c (x_set_frame_alpha): Fix type mismatch.
8222
82232008-05-26 Jason Rumney <jasonr@gnu.org>
8224
8225 * w32font.c (w32font_text_extents): Zero whole metrics struct first.
8226 (compute_metrics): Don't set failure if we just cleared the cache.
8227 (w32_weight_table): Remove unused variable.
8228 (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
8229 backwards compatibility.
8230
82312008-05-25 Kenichi Handa <handa@m17n.org>
8232
8233 * w32term.c (x_draw_glyph_string):
8234 * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
8235
8236 * xfaces.c: Delete unused function prototypes.
8237 (xstrlwr, font_frame): Delete them.
8238 (clear_face_cache): Delete unused variable.
8239
8240 * xftfont.c (xftfont_open): Delete unused variable.
8241 If underline_thickness is not 1, adjust underline_position.
8242
8243 * ftxfont.c (ftxfont_open): Delete unused variable.
8244
8245 * fontset.c (face_for_char): Optimize for the case of no charset
8246 property.
8247
8248 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
8249 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
8250 (otf_open, font_otf_capability, generate_otf_features)
8251 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
8252 Comment out by surrounding "#if 0" and "#endif" for the moment.
8253 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
8254 (syms_of_font): Codes for accessing above commented out.
8255
82562008-05-24 Eli Zaretskii <eliz@gnu.org>
8257
8258 * w32proc.c: Include dispextern.h.
8259
8260 * w32.c: Include dispextern.h.
8261
82622008-05-23 Juanma Barranquero <lekktu@gmail.com>
8263
8264 * charset.c (Fencode_char, Fsplit_char): Doc fixes.
8265 (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
8266 Fix typos in docstrings.
8267
82682008-05-23 Jason Rumney <jasonr@gnu.org>
8269
8270 * xsmfns.c: Remove includes that are already included by config.h.
8271
82722008-05-23 Kenichi Handa <handa@m17n.org>
8273
8274 * charset.c (Qemacs, charset_emacs): New variables.
8275 (char_charset): Fix for non-Unicode characters.
8276 (syms_of_charset): Define charset_emacs.
8277
8278 * w32term.c (x_draw_glyph_string): Be sure to update
8279 s->underline_thickness and s->underline_position. Be sure to draw
8280 underline within the current line area.
8281
8282 * xterm.c (x_draw_glyph_string): Be sure to update
8283 s->underline_thickness and s->underline_position. Be sure to draw
8284 underline within the current line area.
8285
8286 * fontset.c: Delete unused variables and add casting for char *
8287 throughout the file.
8288 (fontset_font): Try the fallback fonts of the current fontset
8289 before consulting the default fontset.
8290
8291 * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
8292
8293 * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
8294
82952008-05-22 Jason Rumney <jasonr@gnu.org>
8296
8297 * font.c: Don't include strings.h.
8298
8299 * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
8300
8301 * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
8302 * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
8303 * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
8304 to call xstrcasecmp.
8305
8306 * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
8307
8308 * fontset.c (fs_query_fontset): Use xstrcasecmp.
8309
8310 * font.c (font_style_to_value, font_score): Use xstrcasecmp.
8311
8312 * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
8313
83142008-05-22 Kenichi Handa <handa@m17n.org>
8315
8316 * puresize.h (BASE_PURESIZE): Increase to 1220000.
8317
8318 * font.c (font_prop_validate_style): Adjust for the format
8319 change of font_style_table.
8320
8321 * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
8322 two args.
8323
8324 * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
8325 two args.
8326
83272008-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
8328
8329 * minibuf.c (keys_of_minibuf): Delete.
8330 * lisp.h (keys_of_minibuf): Delete.
8331 * emacs.c (main): Don't call keys_of_minibuf.
8332
83332008-05-22 Kenichi Handa <handa@m17n.org>
8334
8335 * ftfont.c (ftfont_resolve_generic_family): Rename from
8336 ftfont_list_generic_family. Return a single family for each
8337 generic family.
8338 (ftfont_spec_pattern): Add FC_FAMILY to pattern.
8339 (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
8340 Call font_add_log.
8341 (ftfont_match): Call font_add_log.
8342
8343 * font.h (Ffont_xlfd_name): EXFUN adjusted.
8344 (FONT_DEBUG): Define it.
8345 (font_add_log): Extern it.
8346 (font_assert): Rename from xassert.
8347
8348 * xfont.c (xfont_get_pcm): Change xassert to font_assert.
8349 (xfont_list_family): Call font_add_log.
8350 (xfont_match): Likewise.
8351 (memq_no_quit): Delete.
8352
8353 * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
8354 call of Ffont_xlfd_name.
8355
8356 * xfaces.c (struct table_entry, slant_table, weight_table)
8357 (swidth_table): Move to font.c.
8358
8359 * font.c: Checking of FONT_DEBUG is moved to font.h. All calls of
8360 xassert are changed to font_assert. Delete many unused variables.
8361 (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
8362 New variables.
8363 (struct table_entry): Move from xfaces.c and modified.
8364 (weight_table, slant_table, width_table): Move from xfaces.c and
8365 contents adjusted for the change of struct table_entry.
8366 (font_style_to_value, font_style_symbolic): Adjust for the
8367 format change of font_style_table.
8368 (font_parse_family_registry): Don't overwrite existing foundry and
8369 family of font_spec.
8370 (font_score): Fix calculation of diff for sizes.
8371 (font_sort_entites): Call font_add_log.
8372 (font_delete_unmatched): Return a newly created list.
8373 (font_list_entities): Fix previous change. Call font_add_log.
8374 (font_matching_entity, font_open_entity, font_close_entity):
8375 Call font_add_log.
8376 (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
8377 (Finternal_set_font_style_table): Delete.
8378 (BUILD_STYLE_TABLE): New macro.
8379 (build_style_table): New function.
8380 (Vfont_log, font_log_env_checked): New variables.
8381 (font_add_log): New function.
8382 (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
8383 Declare Lisp variables "font-weight-table", "font-slant-table",
8384 "font-width-table", and "font-log". Initialize font_style_table.
8385
83862008-05-21 Dan Nicolaescu <dann@ics.uci.edu>
8387
8388 * xterm.c (x_set_frame_alpha): Move declarations before statements.
8389
83902008-05-21 Seiji Zenitani <zenitani@mac.com>
8391 Ryo Yoshitake <ryo@shiftmode.net>
8392
8393 * frame.c (Qalpha): Add a new frame parameter `alpha'.
8394 (Vframe_alpha_lower_limit): New variable.
8395 (x_set_alpha): New function.
8396
8397 * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
8398
8399 * xfns.c (x-create-frame, Qalpha):
8400 Initialize the frame parameter `alpha'.
8401 * xterm.c (OPAQUE, OPACITY): New.
8402 (x_set_frame_alpha): New function.
8403 (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
8404
8405 * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
8406 * w32fns.c (w32_frame_parm_handlers): Likewise.
8407
84082008-05-20 Jason Rumney <jasonr@gnu.org>
8409
8410 * w32font.c (add_font_entity_to_list): Don't add non-opentype
8411 truetype fonts to opentype list.
8412
84132008-05-20 Juanma Barranquero <lekktu@gmail.com>
8414
8415 * fontset.c (Ffontset_info): Doc fix.
8416 (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
8417 <ignore-relative-composition>: Fix typos in docstrings.
8418
8419 * font.c (syms-of-font) <font-encoding-alist>:
8420 (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
8421 (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
8422 (Ffont_otf_alternates): Doc fixes.
8423
84242008-05-20 Kenichi Handa <handa@m17n.org>
8425
8426 * Makefile.in (FONTSRC): Delete it. Change all $(FONTSRC) to
8427 font.h through out the file.
8428 (FONT_DRIVERS): Rename from FONTOBJ.
8429 (obj): Change $(FONTOBJ) to $(FONT_DRIVERS). Add font.o.
8430 (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
8431
8432 * emacs.c (main): Call syms_of_font unconditionally.
8433
8434 * font.h (find_font_encoding): Extern it.
8435
8436 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
8437 fontset.c.
8438 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
8439 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
8440 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
8441 only when HAVE_WINDOW_SYSTEM is defined.
8442 (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
8443 when HAVE_WINDOW_SYSTEM is defined.
8444
8445 * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
8446 (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
8447
8448 * xfaces.c: Include font.h unconditionally.
8449 (merge_face_ref, merge_face_vectors)
8450 (Finternal_set_lisp_face_attribute): Cancel the previous change.
8451
84522008-05-20 Stefan Monnier <monnier@iro.umontreal.ca>
8453
8454 * xdisp.c (select_frame_for_redisplay): Adjust for last change to
8455 indirect_variable.
8456 * eval.c (lisp_indirect_variable): New fun.
8457 (Fuser_variable_p): Use it.
8458
84592008-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
8460
8461 * lisp.h (indirect_variable):
8462 * data.c (indirect_variable, let_shadows_buffer_binding_p):
8463 Use Lisp_Symbol pointers rather than Lisp_Object.
8464 Adjust callers.
8465 * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
8466 To this end, change calling-convention.
8467
8468 * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
8469 if some non-hidden buffers are selected by string&pred.
8470
84712008-05-19 Chong Yidong <cyd@stupidchicken.com>
8472
8473 * process.c (wait_reading_process_output): Always check status
8474 when in batch mode.
8475
84762008-05-19 Kenichi Handa <handa@m17n.org>
8477
8478 * font.c (font_list_entities): Fix handling of cache.
8479 (font_matching_entity): Likewise.
8480
8481 * ftfont.c (cs_iso8859_1): Delete.
8482 (ft_face_cache): New variable.
8483 (struct ftfont_info): New member fc_charset_idx.
8484 (ftfont_build_basic_charsets): Delete.
8485 (fc_charset_table): New variable.
8486 (ftfont_pattern_entity): New arg fc_charset_idx. Store (FILENAME
8487 . FC_CHARSET_IDX) as :font-entity property in the font entity.
8488 Callers changed.
8489 (ftfont_lookup_cache, ftfont_get_charset): New functions.
8490 (ftfont_spec_pattern): New argument fc_charset_idx.
8491 Check registry more rigidly. Change callers.
8492 (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
8493 change of :font-entity property of the font.
8494
8495 * xftfont.c (xftfont_open): Adjust for the change of :font-entity
8496 property of the font.
8497
84982008-05-18 Juanma Barranquero <lekktu@gmail.com>
8499
8500 * coding.c (Fcoding_system_p): Rename argument to match docstring.
8501 (Funencodable_char_position, Fcheck_coding_systems_region)
8502 (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
8503 (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
8504 (Ffind_operation_coding_system, Fset_coding_system_priority)
8505 (Fcoding_system_eol_type): Doc fixes.
8506
85072008-05-17 Glenn Morris <rgm@gnu.org>
8508
8509 * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
8510
85112008-05-16 Eli Zaretskii <eliz@gnu.org>
8512
8513 * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
8514 and st_gid.
8515
8516 * frame.c (Fdelete_frame): Don't call font_update_drivers if
8517 HAVE_WINDOW_SYSTEM is not defined.
8518
8519 * xfaces.c (merge_face_ref, merge_face_vectors)
8520 (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
8521 HAVE_WINDOW_SYSTEM is defined.
8522 (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
8523
85242008-05-16 Stefan Monnier <monnier@iro.umontreal.ca>
8525
8526 * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
8527
85282008-05-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8529
8530 * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
8531
85322008-05-15 Kenichi Handa <handa@m17n.org>
8533
8534 * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
8535 preference.
8536
85372008-05-15 Glenn Morris <rgm@gnu.org>
8538
8539 * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
8540
85412008-05-15 Chong Yidong <cyd@stupidchicken.com>
8542
8543 * fns.c (init_fns): Don't initialize weak_hash_tables here.
8544 (init_weak_hash_tables): New fun. Initialize weak_hash_tables.
8545
8546 * alloc.c (init_alloc_once): Call init_weak_hash_tables.
8547
85482008-05-15 Kenichi Handa <handa@m17n.org>
8549
8550 * ftfont.c (ftfont_list): Downcase family name to check generic
8551 families.
8552
8553 * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
8554 font-spec for QCfont value.
8555
8556 * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
8557 buffer. Check the return value of it.
8558
85592008-05-14 Jason Rumney <jasonr@gnu.org>
8560
8561 * w32term.c (w32_get_glyph_overhangs): Remove.
8562 (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
8563
85642008-05-14 Kenichi Handa <handa@m17n.org>
8565
8566 * font.c (font_prop_validate): Make nil a valid value.
8567 (font_clear_cache): Check if the cached vector of entities is nil
8568 or not.
8569
85702008-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
8571
8572 * emacs.c (main_thread): Conditionalize on
8573 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
8574 (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
8575
8576 * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
8577 (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
8578 FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
8579
85802008-05-14 Kenichi Handa <handa@m17n.org>
8581
8582 * coding.c (detect_coding_iso_2022): Ignore a coding category that
8583 has no corresponding coding system.
8584
85852008-05-14 Jason Rumney <jasonr@gnu.org>
8586
8587 * font.h (struct font) [WINDOWSNT]: Remove codepage member.
8588
8589 * w32font.h (w32font_open_internal): Update declaration.
8590
8591 * w32font.c (w32font_open_internal): Change last argument from
8592 w32font_info struct to font object. Fill in font object from
8593 font_entity. Get Outline metrics if possible. Use them to
8594 calculate underline position and thickness. Use xlfd name as name
8595 property. Don't set codepage.
8596 (w32font_open): Pass font_object to w32font_open_internal. Don't
8597 update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
8598 (w32font_draw): Use s->font.
8599 (clear_cached_metrics): Don't clear non-existent blocks.
8600
8601 * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
8602 font was not found.
8603 (x_draw_glyph_string): Use underline position and thickness from font.
8604
8605 * w32uniscribe.c (uniscribe_open): Pass font_object to
8606 w32font_open_internal.
8607
86082008-05-14 Kenichi Handa <handa@m17n.org>
8609
8610 These changes are to delete all legacy font-handling codes, and
8611 make Emacs use only font-backends.
8612
8613 * Makefile.in: Delete USE_FONT_BACKEND conditionals.
8614 (frame.o, image.o, print.o): Depend on $(FONTSRC).
8615
8616 * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
8617
8618 * charset.h (Vcharset_non_preferred_head)
8619 (Vcurrent_iso639_language): Extern them.
8620
8621 * charset.c (Vcharset_non_preferred_head): New variable.
8622 (Vcurrent_iso639_language): New variable.
8623 (syms_of_charset): Declare it as a Lisp variable.
8624 (char_charset): Don't check non preferred charsets. As a last
8625 resort, return charset_unicode.
8626 (Fset_charset_priority): Update Vcharset_non_preferred_head.
8627
8628 * composite.c: Throughout the file, delete all USE_FONT_BACKEND
8629 conditionals. Don't check enable_font_backend. Delete all codes
8630 used only when USE_FONT_BACKEND is not defined.
8631
8632 * dispextern.h (struct glyph_string): Change type of `font' to
8633 `struct font *'.
8634 (struct glyph_string): New member underline_position and
8635 underline_thickness.
8636 (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
8637 (struct face): Change type of `font' to `struct font *'. Remove
8638 members `font_name', `font_info_id'.
8639 (per_char_metric, encode_char): Delete externs.
8640 (calc_pixel_width_or_height): Adjust the prototype.
8641
8642 * emacs.c (enable_font_backend): Delete extern.
8643 (main): Don't set enable_font_backend. Don't check the command
8644 line argument "-disable-font-backend".
8645
8646 * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
8647 (enum font_property_index): New members FONT_DPI_INDEX,
8648 FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
8649 FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
8650 FONT_OBJECT_MAX. Delete FONT_FRAME_INDEX.
8651 (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
8652 (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
8653 (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
8654 (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
8655 (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
8656 (struct font_spec, struct font_entity): New structs.
8657 (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
8658 (struct font): Many members from old "struct font_info" moved to
8659 here. Members font and entity deleted.
8660 (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
8661 the new font-related objects.
8662 (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
8663 (CHECK_FONT_GET_OBJECT): Likewise.
8664 (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
8665 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
8666 (struct font_driver): New members case_sensitive anc check. Type
8667 of the member list and open changed.
8668 (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
8669 (font_symbolic_width, font_find_object, font_get_spec)
8670 (font_set_lface_from_name): Delete extern.
8671 (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
8672
8673 * font.c: Include <strings.h>.
8674 (enable_font_backend): Delete it.
8675 (Qfont_spec, Qfont_entity, Qfont_object): New variables.
8676 (CHECK_VALIDATE_FONT_SPEC): Delete it.
8677 (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
8678 (null_string): Delete it.
8679 (null_vector): Make it static.
8680 (font_family_alist): Delete it.
8681 (Qnormal): Extern it.
8682 (QCextra, QClanguage): Delete it.
8683 (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
8684 (font_make_spec, font_make_entity, font_make_object)
8685 (font_intern_prop): Renamed from intern_downcase. Don't downcase
8686 the string. Callers changed.
8687 (font_pixel_size): Adjusted for the format change of font-related
8688 objects.
8689 (prop_name_to_numeric, prop_numeric_to_name): Delete them.
8690 (font_style_to_value, font_style_symbolic): New function.
8691 (build_font_family_alist): Delete it.
8692 (font_registry_charsets): Use Fassoc_string instead of
8693 assq_no_quit.
8694 (font_prop_validate_symbol): Don't return null_string.
8695 (font_prop_validate_style): Adjusted for the change of
8696 style-related values in a font vector.
8697 (font_property_table): Delete entries for QClanguage and
8698 QCantialias, add entries for QCavgwidth.
8699 (get_font_prop_index): Delete the 2nd argument FROM.
8700 (font_prop_validate): Arguments changed.
8701 (font_put_extra): Adjusted for the change of font-related objects.
8702 (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
8703 (font_parse_fcname, font_unparse_fcname)
8704 (font_prepare_composition): Likewise.
8705 (font_parse_family_registry): Renamed from font_merge_old_spec.
8706 (otf_open): Delete the 1st arg entity.
8707 (font_otf_capability): Adjusted for the above change.
8708 (font_score): New arg alternate_families. Adjusted for the change
8709 of font-related objects.
8710 (font_sort_entites): New arg best_only.
8711 (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
8712 Delete them.
8713 (font_match_p): Check alternate families.
8714 (font_find_object): Delete it.
8715 (font_check_object): New function.
8716 (font_clear_cache): Adjusted for the change of font-related objects.
8717 (font_delete_unmatched): New arg.
8718 (font_list_entities): Call font_driver->list with a spec that
8719 doesn't specify style-related properties.
8720 (font_matching_entity): Arguments changed. Caller changed.
8721 (font_open_entity): Adjusted for the change of font-related objects.
8722 (font_close_object, font_has_char, font_encode_char)
8723 (font_get_name, font_get_spec): Likewise.
8724 (font_spec_from_name, font_clear_prop, font_update_lface):
8725 New functions.
8726 (font_find_for_lface, font_open_for_lface, font_load_for_lface)
8727 (font_prepare_for_face, font_done_for_face, font_open_by_name)
8728 (font_at): Adjusted for the change of font-related objects.
8729 (font_range): New function.
8730 (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
8731 (Ffont_xlfd_name): Adjusted for the change of font-related objects.
8732 (Fcopy_font_spec, Fmerge_font_spec): New function.
8733 (Ffont_family_list): Renamed from list-families.
8734 (Finternal_set_font_style_table): Arguments changed.
8735 (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
8736 (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
8737 change of font-related objects.
8738 (syms_of_font): Delete "ifdef USE_FONT_BACKEND". DEFSYM new symbols.
8739
8740 * fontset.h (struct font_info): Delete it. Most members go to
8741 struct font.
8742 (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
8743 (enum FONT_SPEC_INDEX): Delete it.
8744 (font_info, list_fonts_func, load_font_func, query_font_func)
8745 (set_frame_fontset_func, find_ccl_program_func)
8746 (get_font_repertory_func, new_fontset_from_font_name): Delete
8747 externs.
8748 (fontset_from_font_name): Extern it.
8749 (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
8750 (FONT_INFO_FROM_FACE): Deleted.
8751 (face_for_font): Adjust prototype.
8752
8753 * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
8754 conditionals. Don't check enable_font_backend. Delete all codes
8755 used only when USE_FONT_BACKEND is not defined.
8756 (get_font_info_func, list_font_func, load_font_func)
8757 (query_font_func, set_frame_fontset_func, find_ccl_program_func)
8758 (get_font_repertory_func): Delete them.
8759 (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
8760 (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
8761 (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
8762 (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
8763 (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
8764 (fontset_compare_rfontdef): New function.
8765 (reorder_font_vector): Remove the argument CHARSET-ID. Sort
8766 rfont-defs by qsort. Adjusted for the change of font-group vector.
8767 (load_font_get_repertory): Deleted.
8768 (fontset_find_font): Use new macros to ref/set elements of
8769 font-def and rfont-def.
8770 (fontset_font): Fix the timing of remembering that no font for C.
8771 (free_face_fontset): Do nothing if the face has no fontset.
8772 (face_suitable_for_char_p): Use new macros to ref/set elements of
8773 rfont-def.
8774 (face_for_char): Likewise. Call face_for_char with font_object.
8775 (fs_load_font): Delete. Delete #pragma surrounding it.
8776 (fs_query_fontset): Use strcasecmp instead of strcmp.
8777 (generate_ascii_font_name): Adjusted for the format change of
8778 font-spec.
8779 (Fset_fontset_font): Likewise. Use new macros to set elements of
8780 font-def.
8781 (Fnew_fontset): Use font_unparse_xlfd to generate
8782 FONTSET_ASCII (fontset).
8783 (new_fontset_from_font_name): Deleted.
8784 (fontset_from_font): Renamed from new_fontset_from_font. Check if
8785 a fontset is already created for the font. FIx updating of
8786 Vfontset_alias_alist.
8787 (fontset_ascii_font): Deleted.
8788 (Ffont_info): Adjusted for the format change of font-spec.
8789 (Finternal_char_font): Likewise.
8790 (Ffontset_info): Likewise.
8791 (syms_of_fontset): Don't check load_font_func.
8792
8793 * fns.c (internal_equal): Handle PREV_FONT.
8794
8795 * frame.h: Delete USE_FONT_BACKEND conditional.
8796
8797 * frame.c: Throughout the file, delete all USE_FONT_BACKEND
8798 conditionals. Don't check enable_font_backend. Delete all codes
8799 used only when USE_FONT_BACKEND is not defined.
8800 (x_set_font): Call x_new_font, not x_new_fontset2.
8801 (x_set_font_backend): Use FRAME_FONT macro to check if a font is
8802 already set for the frame.
8803
8804 * ftfont.c (ftfont_pattern_entity): Argument FRAME removed. Make
8805 a font-entity by font_make_entity. Use font_intern_prop instead
8806 of intern_downcase. Use FONT_SET_STYLE to set a style-related
8807 font property. If a font is scalable, set avgwidth property to 0.
8808 Set font-entity property by font_put_extra.
8809 (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
8810 (ffont_driver): Adjusted for the change of struct font_driver.
8811 (ftfont_spec_pattern): New function.
8812 (ftfont_list): Return a list, not vector.
8813 (ftfont_match): Use ftfont_spec_pattern to get a pattern.
8814 (ftfont_list_family): Don't downcase names.
8815 (ftfont_free_entity): Deleted.
8816 (ftfont_open): Return a font-object. Adjusted for the change of
8817 struct font. Get underline_thickness and underline_position from
8818 font property. Don't update dpyinfo->smallest_font_height and
8819 dpyinfo->smallest_char_width.
8820 (ftfont_close): Don't free `struct font'.
8821 (ftfont_has_char): Adjusted for the format change of font-entity.
8822 (ftfont_encode_char, ftfont_text_extents): Likewise.
8823
8824 * ftxfont.c (ftxfont_list): Return a list, not vector.
8825 (ftxfont_open): Return a font-object. Adjusted for the change of
8826 struct font. Get underline_thickness and underline_position from
8827 font property. Don't update dpyinfo->smallest_font_height and
8828 dpyinfo->smallest_char_width.
8829 (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
8830 (ftxfont_draw): Adjusted for the change of struct font.
8831
8832 * image.c (image_ascent): Don't include "charset.h". Include
8833 "character.h" and "font.h".
8834
8835 * lisp.h (enum pvec_type): New member PREV_FONT.
8836 (Fassoc_string): EXFUN it.
8837
8838 * print.c: Include font.h.
8839 (print_object): Handle font-related objects.
8840
8841 * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
8842 conditionals. Don't check enable_font_backend. Delete all codes
8843 used only when USE_FONT_BACKEND is not defined.
8844 (handle_auto_composed_prop): Do nothing if it->f is not on a
8845 window system. Check how many following characters can be
8846 displayed by the same font.
8847 (calc_pixel_width_or_height): Type of the 4th arg is changed to
8848 'struct font *'.
8849 (get_char_face_and_encoding): Assign the whole encoding task to
8850 the `encode-char' method of a font driver.
8851 (fill_composite_glyph_string): Adjusted for the change of `struct
8852 face' and `struct glyph_string'.
8853 (fill_glyph_string): Likewise.
8854 (get_per_char_metric): Arguments changed.
8855 (x_get_glyph_overhangs): Adjusted for the change of `struct face'
8856 and `struct glyph_string'.
8857 (produce_stretch_glyph, calc_line_height_property)
8858 (x_produce_glyphs): Likewise.
8859
8860 * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
8861 conditionals. Don't check enable_font_backend. Delete all codes
8862 used only when USE_FONT_BACKEND is not defined. Use
8863 FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
8864 (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
8865 (Qp): Extern them.
8866 (clear_font_table, load_face_font, xlfd_lookup_field_contents):
8867 Deleted.
8868 (struct font_name): Deleted.
8869 (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
8870 (compare_fonts_by_sort_order): New function.
8871 (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
8872 (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
8873 Deleted.
8874 (Fx_family_fonts): Use font_list_entities, and sort fonts by
8875 compare_fonts_by_sort_order.
8876 (Fx_font_family_list): Call Ffont_family_list.
8877 (face_numeric_value, face_numeric_weight, face_numeric_slant)
8878 (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
8879 (face_symbolic_slant, face_symbolic_swidth)
8880 (split_font_name_into_vector, build_font_name_from_vector)
8881 (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
8882 (font_rescale_ratio, split_font_name, build_font_name)
8883 (free_font_names, sort_fonts, x_face_list_fonts)
8884 (face_font_available_p, sorted_font_list, cmp_font_names)
8885 (font_list_1, concat_font_list, font_list, remove_duplicates):
8886 Deleted.
8887 (Fx_list_fonts): Use Ffont_list.
8888 (LFACE_AVGWIDTH): Deleted.
8889 (check_lface_attrs): Don't check LFACE_AVGWIDTH. Check LFACE_FONT
8890 by FONTP.
8891 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
8892 (set_lface_from_font_name): Delete it.
8893 (set_lface_from_font): Renamed from
8894 set_lface_from_font_and_fontset. Caller changed. Don't set
8895 LFACE_AVGWIDTH. Use FONT_XXX_FOR_FACE to get a symbol suitable
8896 for face.
8897 (merge_face_vectors): Copy font-spec if necessary.
8898 Clear properties of the font-spec if necessary.
8899 (merge_face_ref): Clear properties of the font-spec if necessary.
8900 (Finternal_set_lisp_face_attribute): Likewise.
8901 (set_font_frame_param): Use font_load_for_lface to load a
8902 font-object, and call Fmodify_frame_parameters with it.
8903 (x_update_menu_appearance): Don't check LFACE_AVGWIDTH. Get XLFD
8904 font name by Ffont_xlfd_name.
8905 (Finternal_lisp_face_attribute_values): Don't check QCweight,
8906 QCslant, and QCwidth.
8907 (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
8908 (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
8909 Compare fonts by EQ.
8910 (lookup_non_ascii_face): Deleted.
8911 (face_for_font): The 2nd argument changed.
8912 (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
8913 Check atomic font properties by case insensitive.
8914 (realize_non_ascii_face): Set face->overstrike correctly.
8915 (realize_x_face): Likewise. Check if LFACE_FONT is a font_object.
8916 (dump_realized_face): Get font name from
8917 font->props[FONT_NAME_INDEX]. Don't print font_info_id.
8918
8919 * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
8920 conditionals. Don't check enable_font_backend. Delete all codes
8921 used only when USE_FONT_BACKEND is not defined.
8922 (xic_create_xfontset): Original code deleted and renamed from
8923 xic_create_xfontset2. Use FRAME_FONT, not FRAME_FONT_OBJECT.
8924 (x_make_gc): Don't set GCFont in GCs.
8925 (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
8926 opened by "fixed".
8927 (syms_of_xfns): Don't set get_font_info_func, load_font_func,
8928 find_ccl_program_func, query_font_func, set_frame_fontset_func,
8929 get_font_repertory_func.
8930
8931 * xfont.c: Include <stdlib.h> and "ccl.h".
8932 (struct xfont_info): New structure.
8933 (xfont_query_font): Deleted.
8934 (xfont_find_ccl_program): Renamed from x_find_ccl_program and
8935 moved from xterm.c.
8936 (xfont_driver): Adjusted for the change of struct font_driver.
8937 (compare_font_names): New function.
8938 (xfont_list_pattern): Sort font names case insensitively. Make
8939 font_entity by calling font_make_entity. Avoid auto-scaled fonts.
8940 (xfont_list): Return a list, not vector.
8941 (xfont_match): If the font doesn't have QCname property, generate
8942 a name from the other font properties.
8943 (xfont_open): Return a font-object. Adjusted for the change of
8944 struct font. Get underline_thickness and underline_position from
8945 font property. Don't update dpyinfo->smallest_font_height and
8946 dpyinfo->smallest_char_width.
8947 (xfont_close): Don't free struct font.
8948 (xfont_prepare_face): Adjusted for the change of struct font.
8949 (xfont_done_face): Deleted.
8950 (xfont_has_char): Adjusted for the change of struct font.
8951 (xfont_encode_char, xfont_draw): Likewise.
8952 (xfont_check): New function.
8953
8954 * xftfont.c (xftfont_list): Adjusted for the change of `list'
8955 callback function.
8956 (xftfont_match): Adjusted for the format change of font-entity.
8957 (xftfont_open): Adjusted for the format change of font-entity and
8958 font-object. Adjusted for the change of struct font. Return a
8959 font-object. Don't update dpyinfo->smallest_font_height and
8960 dpyinfo->smallest_char_width.
8961 (xftfont_close): Block input while calling XftFontClose.
8962 (xftfont_prepare_face): Don't block input while calling
8963 xftfont_get_colors. Adjusted for the change of struct font.
8964 (xftfont_shape): Return value of error case fixed.
8965
8966 * xrdb.c (x_load_resources): Don't setup a fontset resource.
8967
8968 * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
8969 conditionals.
8970 (FONT_WIDTH): Return (f)->max_width.
8971 (struct x_display_info): Delete member `font'.
8972 (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
8973 (x_find_ccl_program, x_get_font_repertory): Delete externs.
8974 (struct x_output): Change type of `font' to `struct font *'.
8975
8976 * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
8977 conditionals. Don't check enable_font_backend. Delete all codes
8978 used only when USE_FONT_BACKEND is not defined. Don't include ccl.h.
8979 (x_per_char_metric, x_encode_char): Deleted.
8980 (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
8981 (x_compute_glyph_string_overhangs): Adjusted for the change of
8982 `struct face'.
8983 (x_draw_glyph_string_foreground)
8984 (x_draw_composite_glyph_string_foreground): Likewise.
8985 (x_draw_glyph_string): Likewise. Use font->underline_position and
8986 font->underline_thickness.
8987 (x_new_font): Renamed from x_new_fontset2.
8988 (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
8989 (x_check_font): Call `check' method of a font driver.
8990 (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
8991 (x_query_font, x_get_font_repertory): Deleted.
8992 (x_find_ccl_program): Renamed and moved to xfont.c.
8993 (x_redisplay_interface): Adjusted for the change of `struct
8994 redisplay_interface'.
8995
8996 * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
8997 conditionals. Don't check enable_font_backend. Delete all codes
8998 used only when USE_FONT_BACKEND is not defined. Surround non-used
8999 code by "#ifdef OLD_FONT" and "endif".
9000 (Fw32_select_font): Use FONT_COMPAT to get old font structure.
9001
9002 * w32font.h (struct w32font_info): New member.
9003 (FONT_COMPAT): New macro.
9004 (w32font_open_internal): Prototype adjusted.
9005
9006 * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
9007 OLD_FONT" and "endif".
9008
9009 * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
9010 conditionals. Don't check enable_font_backend. Delete all codes
9011 used only when USE_FONT_BACKEND is not defined.
9012 (w32font_open): Return a font-object. Make a font-object by
9013 font_make_object. Adjusted for the change of struct w32font_info.
9014 (w32font_close): Don't free struct font. Adjusted for the change
9015 of struct w32font_info.
9016 (w32font_encode_char, w32font_text_extents, w32font_draw):
9017 Adjusted for the change of struct w32font_info.
9018 (w32font_draw): Likewise.
9019 (w32font_list_internal): Return a list, not vector.
9020 (w32font_open_internal): Change the 4th arg to font-object.
9021 Adjusted for the change of struct w32font_info and font-object format.
9022 (add_font_name_to_list): Don't downcase names.
9023 (w32_enumfont_pattern_entity): Make a font-entity by
9024 font_make_entity. Adjusted for the format change of font-entity.
9025 Use FONT_SET_STYLE to set a style-related font property. If a
9026 font is scalable, set avgwidth property to 0. Set font-entity
9027 property by font_put_extra.
9028 (font_matches_spec): Adjusted for the format change of font-entity.
9029 (w32_weight_table, w32_decode_weight): New variables.
9030 (w32_encode_weight): New function.
9031 (fill_in_logfont): Adjusted for the format change of font-spec.
9032 (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
9033 weight value.
9034 (w32font_driver): Adjusted for the change of struct font_driver.
9035
9036 * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
9037 conditionals. Don't check enable_font_backend. Surround non-used
9038 code by "#ifdef OLD_FONT" and "endif".
9039 (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
9040 (FONT_AVG_WIDTH): Adjusted for the change of struct font.
9041
9042 * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
9043 conditionals. Don't check enable_font_backend. Delete all codes
9044 used only when USE_FONT_BACKEND is not defined. Surround non-used
9045 code by "#ifdef OLD_FONT" and "endif".
9046
9047 * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
9048 (uniscribe_open): Return value changed to font-object.
9049 Adjusted for the format change of font-object.
9050 (uniscribe_otf_capability): Adjusted for the change of struct font.
9051 (add_opentype_font_name_to_list): Don't downcase names.
9052 (uniscribe_font_driver): Adjusted for the change of struct
9053 font_driver.
9054
90552008-05-13 Chong Yidong <cyd@stupidchicken.com>
9056
9057 * dispnew.c (update_frame_1): Check if tty output is still valid
9058 before flushing it.
9059
90602008-05-13 Jan Djärv <jan.h.d@swipnet.se>
9061
9062 * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
9063 to Gtk+ menus.
9064
90652008-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
9066
9067 * dired.c (file_name_completion): Tweak the code so as to always do it
9068 in a single pass. Tighten the scope of some variables.
9069
9070 * dired.c (Qdefault_directory): New var.
9071 (file_name_completion): Use it instead of Fexpand_file_name.
9072 (syms_of_dired): Initialize it.
9073
90742008-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
9075
9076 * fileio.c (double_dollars): Remove dead code.
9077
90782008-05-10 Eli Zaretskii <eliz@gnu.org>
9079
9080 * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
9081 Mention w32-get-true-file-attributes in doc string.
9082
9083 * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
9084
90852008-05-09 Glenn Morris <rgm@gnu.org>
9086
9087 * fileio.c (Fread_file_name): Remove reference to insdef, deleted
9088 2008-04-23.
9089
90902008-05-09 Eli Zaretskii <eliz@gnu.org>
9091
9092 Support for reporting owner and group of each file on MS-Windows:
9093 * dired.c (stat_uname, stat_gname): New functions, with special
9094 implementation for w32.
9095 (Ffile_attributes): Use them instead of getpwuid and getgrgid.
9096
9097 * w32.c: Rename the_passwd_* to dflt_passwd_*.
9098 (dflt_group_name): New static variable.
9099 (dflt_group): Rename from the_group.
9100 (init_user_info): Init dflt_group fields. Get user's group name
9101 from LookupAccountSid.
9102 (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
9103 (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
9104 New initialization states.
9105 (globals_of_w32): Initialize them to zero. Initialize the default
9106 group name to "None".
9107 (GetFileSecurity_Name): New global var, the name of the function
9108 to call for GetFileSecurity.
9109 (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
9110 (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
9111 (get_file_security, get_security_descriptor_owner)
9112 (get_security_descriptor_group, is_valid_sid)
9113 (get_file_security_desc, get_rid, get_name_and_id)
9114 (get_file_owner_and_group): New functions.
9115 (stat): Use get_file_security_desc and get_file_owner_and_group to
9116 report the owner and primary group of each file. Don't ignore the
9117 high 32 bits of file's size, now that st_size is 64-bit wide.
9118 Fix test when to get true file attributes.
9119 (init_user_info): Use get_rid instead of equivalent inline code.
9120 (fstat): Don't ignore the high 32 bits of file's size.
9121
91222008-05-09 Chong Yidong <cyd@stupidchicken.com>
9123
9124 * image.c (png_load): Use correct bit-depth for setting background
9125 color.
9126
91272008-05-08 Eli Zaretskii <eliz@gnu.org>
9128
9129 * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
9130 epa-hook.elc.
9131
91322008-05-08 Juanma Barranquero <lekktu@gmail.com>
9133
9134 * font.c (Ffont_match_p): Don't use `iff' in docstring.
9135
91362008-05-07 Dan Nicolaescu <dann@ics.uci.edu>
9137
9138 * macfns.c (Fx_create_frame): Make a copy of frame parameters
9139 because the original parameters are in pure storage now.
9140 (mac_window): Remove unused params. Update callers.
9141
91422008-05-06 Stefan Monnier <monnier@iro.umontreal.ca>
9143
9144 * lread.c (substitute_object_recurse): Use lower-level primitives.
9145 Don't signal errors when traversing sub-char-tables.
9146 Don't loop over all the possible characters when traversing char-tables.
9147
9148 * print.c (print_preprocess): Add sub-char-tables to the print-table,
9149 just like we do in print.c.
9150
91512008-05-05 Stefan Monnier <monnier@iro.umontreal.ca>
9152
9153 * minibuf.c (Ftry_completion): Remove code left over from when we used
9154 scmp instead of Fcompare_strings.
9155
91562008-05-04 Juanma Barranquero <lekktu@gmail.com>
9157
9158 * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
9159
91602008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9161
9162 * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
9163 Create bitmap context in native byte order.
9164
9165 * macterm.c (XDrawLine)
9166 (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
9167 context in native byte order.
9168
91692008-05-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9170
9171 * config.in: Regenerate.
9172
9173 * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
9174 New definitions for Image I/O support.
9175 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
9176 (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
9177 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
9178 (mac_data_provider_release_data, image_load_image_io)
9179 [USE_MAC_IMAGE_IO]: New functions.
9180 (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
9181 (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
9182 (init_image_func_pointer) [MAC_OSX]: Remove function.
9183 (image_load_quartz2d) [MAC_OSX]: Check availability of
9184 CGImageCreateWithPNGDataProvider at compile time.
9185 Use lowercase `false' for boolean constant.
9186 (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
9187 Use image_load_image_io.
9188 (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
9189 Don't check MyCGImageCreateWithPNGDataProvider.
9190 (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
9191 Don't call init_image_func_pointer.
9192
9193 * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
9194
9195 * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
9196 Make variable non-static.
9197 (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
9198 [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
9199
9200 * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
9201 (RED_FROM_ULONG): Mask off higher bits.
9202 (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
9203
9204 * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
9205 Include AvailabilityMacros.h.
9206 (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
9207 (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
9208
92092008-05-03 Stefan Monnier <monnier@iro.umontreal.ca>
9210
9211 * chartab.c (Fset_char_table_range): If range is t, really set all
9212 chars to that value.
9213
92142008-05-03 Eli Zaretskii <eliz@gnu.org>
9215
9216 * dired.c (Ffile_attributes): Don't allow the device number become
9217 negative.
9218
92192008-05-02 Daiki Ueno <ueno@unixuser.org>
9220
9221 * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
9222
92232008-05-02 Juri Linkov <juri@jurta.org>
9224
9225 * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
9226 (Fread_variable, Fread_buffer, Fcompleting_read): Document the
9227 DEFAULT argument as a list of default values in docstrings.
9228
92292008-05-01 Chong Yidong <cyd@stupidchicken.com>
9230
9231 * puresize.h (BASE_PURESIZE): Increase to 1210000.
9232
92332008-05-01 Martin Rudalics <rudalics@gmx.at>
9234
9235 * dispnew.c (change_frame_size_1): Preserve small windows when
9236 shrinking frames by calling set_window_height|width with third
9237 arg 2.
9238
9239 * window.h (struct window): Replace field too_small_ok by field
9240 resize_proportionally.
9241
9242 * window.c (make_window): Initialize resize_proportionally.
9243 (enlarge_window): Temporarily set resize_proportionally to make
9244 sure that shrink_windows does scale the window proportionally.
9245 (shrink_windows): When window has resize_proportionally set try
9246 to shrink it proportionally by stealing from other windows.
9247 (struct saved_window, Fset_window_configuration)
9248 (compare_window_configurations): Handle resize_proportionally.
9249 (WINDOW_TOTAL_SIZE): New macro.
9250 (window_min_size, shrink_windows, size_window): Use it.
9251 (check_min_window_sizes): Remove. Invalid values of
9252 window-min-height|width are handled by window_min_size_2 now.
9253 (size_window, Fsplit_window, enlarge_window)
9254 (adjust_window_trailing_edge, grow_mini_window): Don't call
9255 check_min_window_sizes.
9256 (window_min_size_2, window_min_size_1, window_min_size):
9257 New argument safe_p for retrieving "safe" minimum sizes.
9258 (Fdisplay_buffer, Fsplit_window, enlarge_window)
9259 (adjust_window_trailing_edge, grow_mini_window):
9260 Adjust arguments of window_min_size... functions.
9261 (shrink_windows): Argument min_size removed. New argument
9262 safe_p allows shrinking windows to their safe minimum sizes.
9263 Calculate minimum size and decide whether a window shall be
9264 deleted for each window individually.
9265 (size_window): When nodelete_p equals 2, tell shrink_windows to
9266 delete windows only if their new minimum size is no more safe.
9267 (shrink_window_lowest_first): Call window_min_size_1 to make
9268 sure to preserve modeline of bottom-most window when resizing
9269 the minibuffer.
9270 (Fset_window_configuration, Fcurrent_window_configuration)
9271 (compare_window_configurations): Do not handle
9272 window-min-height|width any more.
9273 (syms_of_window): Clarify window-min-height|width doc-strings.
9274
92752008-04-30 Stefan Monnier <monnier@iro.umontreal.ca>
9276
9277 * dired.c (file_name_completion): Fix up the encoding/decoding issue
9278 some more. Copy some of the code from Ftry_completions.
9279 Remove special case code that dates back to initial revision when the
9280 slash was only added when necessary and that can't trigger nowadays.
9281
92822008-04-27 Kenichi Handa <handa@m17n.org>
9283
9284 * font.c (font_prop_validate): Signal `error' instead of `font'.
9285
92862008-04-29 Jason Rumney <jasonr@gnu.org>
9287
9288 * w32fns.c (Fw32_battery_status): New defun.
9289 (syms_of_w32fns): Defsubr it.
9290
92912008-04-28 Andreas Schwab <schwab@suse.de>
9292
9293 * dired.c (file_name_completion): Fix another mixing of encoded
9294 and decoded names.
9295
92962008-04-28 Juanma Barranquero <lekktu@gmail.com>
9297
9298 * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
9299
93002008-04-27 Juanma Barranquero <lekktu@gmail.com>
9301
9302 * fringe.c (Fdefine_fringe_bitmap): Doc fix.
9303
93042008-04-27 Andreas Schwab <schwab@suse.de>
9305
9306 * dired.c (file_name_completion): Fix inappropriate mixing of
9307 encoded and decoded names.
9308
9309 * xterm.c (XTread_socket): Fix use of uninitialized variable.
9310
9311 * puresize.h (BASE_PURESIZE): Increase to 1200000.
9312
93132008-04-26 Eli Zaretskii <eliz@gnu.org>
9314
9315 * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
9316 2008-03-31, it's not needed anymore with `struct stat' definition
9317 on nt/inc/sys/stat.h. Undo changes from 2007-01-12 and 2007-01-13
9318 for the same reasons.
9319
93202008-04-25 Dennis Gilmore <ausil@fedoraproject.org> (tiny change)
9321
9322 * m/sparc.h: Additional redefinitions for GNU/Linux.
9323
93242008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9325
9326 * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
9327 (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
9328 (Qmouse_drag_overlay) [MAC_OSX]: New variable.
9329 (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
9330 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
9331 (mac_ax_selected_text_range) [MAC_OSX]: New functions.
9332 (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9333 Likewise.
9334
9335 * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
9336 (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
9337 (mac_ax_number_of_characters): Add externs.
9338 (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
9339 [USE_MAC_TSM]: Likewise.
9340 (mac_handle_text_input_event) [MAC_OSX]:
9341 Handle kEventTextInputOffsetToPos for no active input area case.
9342 Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
9343 (mac_handle_document_access_event)
9344 [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
9345 (install_application_handler) [MAC_OSX]: Register handlers for
9346 kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
9347 (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
9348 Register mac_handle_document_access_event.
9349
9350 * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
9351 Make functions non-static.
9352
93532008-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
9354
9355 * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
9356 (read_file_name_completion_ignore_case, insert_default_directory)
9357 (Qdefault_directory): Move to minibuffer.el.
9358 (Fread_file_name): Call the new `read-file-name' instead.
9359
93602008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9361
9362 * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
9363 Make function non-static.
9364 (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
9365 Remove function.
9366 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
9367 Move to mactoolbox.c.
9368 (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
9369
9370 * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
9371 (mac_rect_make): New macro.
9372
9373 * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
9374 instead of float.
9375 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
9376 (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
9377 (XSetBackground) [USE_CG_DRAWING]: Likewise.
9378 (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
9379 CGRectMake.
9380 (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
9381 (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
9382 (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
9383 (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
9384 instead of WindowRef in argument type.
9385 (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
9386 (mac_invert_rectangle): Use CGContextSetBlendMode if available.
9387 (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
9388 instead of DISPLAY. All uses changed.
9389 (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
9390 (x_calc_absolute_position): Simplify so as not to use
9391 FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
9392
9393 * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
9394 instead of WindowRef in argument type.
9395 (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
9396 [TARGET_API_MAC_CARBON]: Remove externs.
9397 (create_apple_event, mac_event_parameters_to_lisp)
9398 [TARGET_API_MAC_CARBON]: Add externs.
9399
9400 * mactoolbox.c (Vmac_ts_script_language_on_focus)
9401 (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
9402 (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
9403 is clicked.
9404 (x_activate_menubar): Remove extern for saved_menu_event_location.
9405 (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
9406 Move from mac.c.
9407
94082008-04-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9409
9410 * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
9411 [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
9412
94132008-04-23 Jason Rumney <jasonr@gnu.org>
9414
9415 * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
9416 attributes only for local files.
9417
9418 * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
9419 default to Qlocal.
9420
94212008-04-22 Juri Linkov <juri@jurta.org>
9422
9423 * buffer.c (Fswitch_to_buffer): Change interactive spec to call
9424 read-buffer-to-switch instead of using the letter "B".
9425
94262008-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
9427
9428 * fileio.c (Qdefault_directory): New variable.
9429 (Fread_file_name): Use it to pass `dir' to the completion functions.
9430
94312008-04-20 Chong Yidong <cyd@stupidchicken.com>
9432
9433 * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
9434
94352008-04-19 Stefan Monnier <monnier@iro.umontreal.ca>
9436
9437 * keyboard.c (Vpre_help_message): Remove.
9438 (show_help_echo): Remove default C code.
9439
9440 * dired.c (directory_files_internal, file_name_completion):
9441 Only call ENCODE_FILE if the string is indeed decoded.
9442
94432008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
9444
9445 * Makefile.in (TOOLKIT_DEFINES): Remove.
9446 (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
9447
94482008-04-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9449
9450 * Makefile.in (MAC_OBJ): Add mactoolbox.o.
9451 (mactoolbox.o): New target.
9452
9453 * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
9454 Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
9455
9456 * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
9457 Use mac_set_frame_window_background instead of XSetWindowBackground.
9458 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
9459 Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
9460 (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
9461 instead of SetWindowTitleWithCFString.
9462 (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
9463 Move function to mactoolbox.c.
9464 (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
9465 Use mac_set_window_modified instead of SetWindowModified.
9466 Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
9467 (mac_window, x_create_tip_frame): Use mac_create_frame_window.
9468 (Fx_focus_frame): Use mac_front_non_floating_window instead of
9469 FrontNonFloatingWindow. Use mac_activate_window instead of
9470 ActivateWindow. Use mac_active_non_floating_window instead of
9471 ActiveNonFloatingWindow.
9472 (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
9473 Use mac_show_hourglass and mac_hide_hourglass.
9474 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
9475 instead of GetGlobalMouse.
9476 (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
9477 instead of MoveWindow/SizeWindow/ShowWindow, respectively.
9478 Use mac_bring_window_to_front instead of BringToFront.
9479 (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
9480 mactoolbox.c.
9481 (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
9482 mac_file_dialog in mactoolbox.c. Use mac_file_dialog.
9483 (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
9484 mactoolbox.c.
9485
9486 * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
9487 (XtPointer): Move typedef from macmenu.c.
9488 (enum button_type): Move enum from macmenu.c.
9489 (widget_value): Move typedef from macmenu.c.
9490 (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
9491 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
9492 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
9493 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
9494 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
9495 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
9496 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
9497 (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
9498 (Selection): Move typedef from macselect.c.
9499 (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
9500 macterm.c.
9501 (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
9502 (mac_is_window_collapsed, mac_bring_window_to_front)
9503 (mac_send_window_behind, mac_hide_window, mac_show_window)
9504 (mac_collapse_window, mac_front_non_floating_window)
9505 (mac_active_non_floating_window, mac_activate_window)
9506 (mac_move_window_structure, mac_move_window, mac_size_window)
9507 (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
9508
9509 * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
9510 (enum mac_menu_kind): Move enum to mactoolbox.c.
9511 (min_menu_id): Move variable to mactoolbox.c.
9512 (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
9513 (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
9514 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
9515 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
9516 [TARGET_API_MAC_CARBON]: Likewise.
9517 (XtPointer): Move typedef to macgui.h.
9518 (enum button_type): Move enum to macgui.h.
9519 (widget_value): Move typedef to macgui.h.
9520 (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
9521 (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
9522 (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
9523 (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
9524 (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
9525 (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
9526 (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
9527 (popup_activated_flag): Make variable non-static.
9528 (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
9529 (add_menu_item, fill_menu, dispose_menus):
9530 Move functions to mactoolbox.c.
9531 (restore_show_help_function, menu_target_item_handler)
9532 (install_menu_target_item_handler, mac_handle_dialog_event)
9533 (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
9534 [TARGET_API_MAC_CARBON]: Likewise.
9535 (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
9536 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
9537 (find_and_call_menu_selection, name_is_separator): Make function
9538 non-static.
9539 (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
9540 to mactoolbox.c.
9541 (set_frame_menubar): Don't call install_menu_quit_handler.
9542 (menu_item_selection): New variable.
9543 (mac_menu_show): Use create_and_show_popup_menu.
9544 (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
9545 selection but set variable menu_item_selection. All uses changed.
9546 (mac_fill_menubar): Rename from fill_menubar. All uses changed.
9547 Call install_menu_quit_handler. Move to mactoolbox.c.
9548
9549 * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
9550 (Selection): Move typedef to macgui.h.
9551 (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
9552 (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
9553 Make variables non-static.
9554 (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
9555 (mac_handle_apple_event, cleanup_all_suspended_apple_events):
9556 Make functions non-static.
9557 (Vmac_service_selection) [MAC_OSX]: Likewise.
9558 (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
9559 (mac_valid_selection_target_p, mac_clear_selection)
9560 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
9561 (mac_put_selection_value, mac_selection_has_target_p)
9562 (mac_get_selection_value, mac_get_selection_target_list)
9563 (init_apple_event_handler, install_drag_handler, remove_drag_handler):
9564 Move functions to mactoolbox.c.
9565 (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
9566 Likewise.
9567 (copy_scrap_flavor_data, mac_handle_service_event)
9568 (install_service_handler) [MAC_OSX]: Likewise.
9569 (syms_of_macselect) <Vmac_dnd_known_types>:
9570 Use mac_dnd_default_known_types.
9571
9572 * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
9573 Move to mactoolbox.c.
9574 (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
9575 (Fx_selection_owner_p): Add EXFUN.
9576 (install_window_handler, remove_window_handler, XSetWindowBackground):
9577 Remove externs.
9578 (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
9579 (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
9580 (x_raise_frame, x_lower_frame, mac_alert_sound_play)
9581 (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
9582 (mac_convert_frame_point_to_global, mac_set_frame_window_background)
9583 (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
9584 (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
9585 (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
9586 (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
9587 (create_and_show_popup_menu, mac_get_selection_from_symbol)
9588 (mac_valid_selection_target_p, mac_clear_selection)
9589 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
9590 (mac_put_selection_value, mac_selection_has_target_p)
9591 (mac_get_selection_value, mac_get_selection_target_list): Add externs.
9592 (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
9593 (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
9594 (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
9595 (mac_run_loop_run_once) [MAC_OSX]: Likewise.
9596 (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
9597 (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
9598 (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
9599 (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
9600
9601 * mactoolbox.c: New file.
9602
96032008-04-18 Jason Rumney <jasonr@gnu.org>
9604
9605 * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
9606
96072008-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
9608
9609 * character.c (Fmultibyte_char_to_unibyte):
9610 Return latin1 chars unchanged.
9611
9612 * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
9613 relocated if it points to `name'.
9614
96152008-04-17 Kenichi Handa <handa@m17n.org>
9616
9617 * data.c (Faset): Allow setting a multibyte character in an
9618 ASCII-only unibyte string.
9619
9620 * lisp.h (STRING_SET_MULTIBYTE): New macro.
9621
96222008-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
9623
9624 * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
9625 done in config.h.
9626
96272008-04-16 Juanma Barranquero <lekktu@gmail.com>
9628
9629 * character.c (Fchar_bytes, Fchar_width, Fstring_width)
9630 (Fchar_direction): Add usage in the docstring.
9631
96322008-04-15 Chong Yidong <cyd@stupidchicken.com>
9633
9634 * keyboard.c (read_key_sequence): Remove always-true checks.
9635
96362008-04-14 Jason Rumney <jasonr@gnu.org>
9637
9638 * w32font.c (w32font_open_internal): Set max_bounds.descent in
9639 compatibility struct, for better underline positioning.
9640
96412008-04-13 David Hansen <david.hansen@gmx.net>
9642
9643 * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
9644 string.
9645
96462008-04-12 Dan Nicolaescu <dann@ics.uci.edu>
9647
9648 * m/hp800.h (XUINT, XSET): Remove.
9649
96502008-04-12 Juanma Barranquero <lekktu@gmail.com>
9651
9652 * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
9653 previous change.
9654
96552008-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
9656
9657 * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
9658 Relocate `nm' after calling DECODE_FILE, in case the GC was run.
9659
96602008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
9661
9662 * keymap.h (map_keymap_canonical): Declare.
9663 * xmenu.c (single_keymap_panes): Use it.
9664
96652008-04-11 Glenn Morris <rgm@gnu.org>
9666
9667 * eval.c (Fdefvaralias): If the alias is bound and the target is not,
9668 set the target's value to that of the alias.
9669
96702008-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
9671
9672 * term.c (set_tty_color_mode): Left over typo.
9673
96742008-04-10 Michael Albinus <michael.albinus@gmx.de>
9675
9676 * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
9677 only after check for file name handler functions. Signal, when
9678 native functionality is not supported.
9679 (syms_of_fileio): Declare it unconditionally.
9680
96812008-04-10 Jason Rumney <jasonr@gnu.org>
9682
9683 * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
9684 (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
9685
9686 * w32.c (logon_network_drive): Also logon to remote drives that
9687 are mapped to drive letters.
9688
96892008-04-10 Glenn Morris <rgm@gnu.org>
9690
9691 * xdisp.c (truncate-partial-width-windows): Doc fix.
9692
96932008-04-10 Stefan Monnier <monnier@iro.umontreal.ca>
9694
9695 * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
9696 Move functions to minibuffer.el.
9697 (syms_of_fileio): Don't declare them.
9698
96992008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
9700
9701 * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
9702 (syms_of_minibuf): Remove its initialization.
9703
9704 * minibuf.c (temp_echo_area_glyphs): Remove unused function.
9705
97062008-04-09 Juanma Barranquero <lekktu@gmail.com>
9707
9708 * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
9709
97102008-04-09 Jason Rumney <jasonr@gnu.org>
9711
9712 * makefile.w32-in (distclean): Delete makefile too.
9713 (maintainer-clean): New target.
9714
9715 * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
9716
9717 * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
9718 for new font backend and composite cases.
9719
97202008-04-09 Jan Djärv <jan.h.d@swipnet.se>
9721
9722 * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
9723 Most of the code moved to run_timers.
9724 (do_pending_atimers): Call run_timers.
9725 (run_timers): New function.
9726
9727 * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
9728 run atimers.
9729
9730 * process.c (wait_reading_process_output): The same as above.
9731
97322008-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
9733
9734 * minibuf.c (last_exact_completion): Remove variable.
9735 (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
9736 (complete_and_exit_1, complete_and_exit_2)
9737 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
9738 (Fdisplay_completion_list, display_completion_list_1)
9739 (Fminibuffer_completion_help, Fself_insert_and_exit)
9740 (Fexit_minibuffer, Fminibuffer_message): Move functions to
9741 minibuffer.el.
9742 (syms_of_minibuf): Remove corresponding initializations.
9743
9744 * keyboard.c (Qdeactivate_mark): New var.
9745 (command_loop_1): Use it to call `deactivate-mark'.
9746 (syms_of_keyboard): Initialize it.
9747
9748 * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
9749 to another frame.
9750 * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
9751 Don't call set_tty_color_mode.
9752 (store_frame_param): Reset previous_frame rather than call
9753 set_tty_color_mode.
9754 * term.c (set_tty_color_mode): Rewrite.
9755 * dispextern.h (set_tty_color_mode): New type.
9756 * termchar.h (struct tty_display_info): Add `previous_color_mode'.
9757
97582008-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
9759
9760 * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
9761 for generic chars, which do not exist any more in emacs-unicode.
9762
97632008-04-08 Michael Albinus <michael.albinus@gmx.de>
9764
9765 * coding.c (detect_coding_emacs_mule)
9766 (Ffind_operation_coding_system): Fix typo.
9767
97682008-04-08 Jason Rumney <jasonr@gnu.org>
9769
9770 * w32uniscribe.c (SNAME): Extract only symbol name.
9771
9772 * w32font.h (struct w32_metric_cache): New struct.
9773 (w32font_info): Use it.
9774 (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
9775 (CACHE_BLOCKSIZE): New constants.
9776
9777 * w32font.c (Qja, Qko, Qzh): New symbols.
9778 (syms_of_w32font): Initialise them.
9779 (font_matches_spec): Use them to filter by language.
9780 (recompute_cached_metrics): Remove function.
9781 (compute_metrics, clear_cached_metrics): New functions.
9782 (w32font_encode_char): Use them to manage metric cache.
9783 (w32font_text_extents): Cache metrics for all glyphs on demand.
9784 Delay converting glyph indices to WORD until needed.
9785 (w32font_open_internal): Initialize metric cache to empty.
9786 (registry_to_w32_charset): Charset should always be a symbol.
9787 (fill_in_logfont, list_all_matching_fonts): Family should
9788 always be a symbol.
9789
97902008-04-06 Jason Rumney <jasonr@gnu.org>
9791
9792 * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
9793 Give up if glyph indices not supported. Use uniscribe obtained
9794 ABC widths for individual metrics. Map glyph clusters back to
9795 characters using fClusterStart flag. Return number of glyphs
9796 produced, not chars processed.
9797 (uniscribe_shape): Map char at FROM to current glyph.
9798
97992008-04-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
9800
9801 * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
9802 Use SetMenuItemHierarchicalMenu.
9803
98042008-04-05 Jason Rumney <jasonr@gnu.org>
9805
9806 * image.c (pbm_load): Allow color values up to 65535.
9807 Throw an error if max_color_idx is outside the supported range.
9808 Report an error when image size is invalid.
9809 Read two bytes at a time when raw images have max_color_idx above 255.
9810
98112008-04-05 Eli Zaretskii <eliz@gnu.org>
9812
9813 * w32.c (readdir): If FindFirstFile/FindNextFile return in
9814 cFileName a file name that includes `?' characters, use the 8+3
9815 alias in cAlternateFileName instead.
9816
98172008-04-05 Kenichi Handa <handa@ni.aist.go.jp>
9818
9819 * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
9820 append "CCL: Quitted" when the CCL program is quitted.
9821 (setup_ccl_program): Initialize ccl->quit_silently to zero.
9822
9823 * ccl.h (struct ccl_program): New member quit_silently.
9824
98252008-04-05 Chong Yidong <cyd@stupidchicken.com>
9826
9827 * search.c (compile_pattern_1): Treat non-nil and non-string of
9828 search-spaces-regexp as nil.
9829
9830 * minibuf.c (Fassoc_string): Tweak docstring.
9831
98322008-04-05 Eli Zaretskii <eliz@gnu.org>
9833
9834 * dired.c (Ffile_attributes): Support inode numbers wider than 32
9835 bits. Remove ugly WINDOWSNT-specific kludge introduced on
9836 2008-03-14 to force inode be positive.
9837
9838 * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
9839 _S_* ones, since we now use our own sys/stat.h.
9840 (stat, fstat): Don't mangle the inode number.
9841 (init_user_info): Don't restrict UID and GID to 0-60000 range.
9842
98432008-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
9844
9845 * frame.h (struct frame): Give one more bit to `visible' since we use
9846 values larger than 1 to indicate obscured frames on ttys.
9847
9848 * keymap.c (Qkeymap_canonicalize): New var.
9849 (Fmap_keymap_internal): New fun.
9850 (describe_map): Use keymap-canonicalize.
9851
9852 * undo.c (last_boundary_buffer, last_boundary_position): New vars.
9853 (Fundo_boundary): Set them.
9854 (syms_of_undo): Initialize them.
9855 (record_point): Use them instead of last_point_position*.
9856 (last_undo_buffer): Change type.
9857
98582008-04-04 Jason Rumney <jasonr@gnu.org>
9859
9860 * w32font.c (w32font_text_extents): Use font's ascent and descent.
9861 (recompute_cached_metrics): Don't set ascent and descent per char.
9862
9863 * w32uniscribe.c (uniscribe_check_otf): Fix last change.
9864 (uniscribe_check_otf): Add GC protection before consing.
9865 Rearrange loop for counting features.
9866
98672008-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
9868
9869 * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
9870 buffer with byte-size of source buffer.
9871
98722008-04-03 Chong Yidong <cyd@stupidchicken.com>
9873
9874 * callint.c (Fcall_interactively): Handle temporary region even
9875 when shift-select-mode is off.
9876
98772008-04-03 Jason Rumney <jasonr@gnu.org>
9878
9879 * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
9880
98812008-04-03 Kenichi Handa <handa@m17n.org>
9882
9883 * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
9884 (CATEGORY_MASK_UTF_16): Likewise.
9885 (detect_coding_utf_16): Add heuristics to reject utf-16 for a
9886 binary file.
9887 (detect_coding): Add null-byte detection for a binary file.
9888 (detect_coding_system): Likewise.
9889
98902008-04-03 Jason Rumney <jasonr@gnu.org>
9891
9892 * w32uniscribe.c: New file.
9893
9894 * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
9895
9896 * w32font.h (uniscribe_check_otf): Declare for w32font.c.
9897
9898 * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
9899 (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
9900 (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
9901 (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
9902 (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
9903 (Qphonetic): New symbols.
9904 (syms_of_w32font): Initialize them.
9905 (font_supported_scripts): Use them.
9906 (w32font_list_family): List all charsets.
9907 (w32font_text_extents, recompute_cached_metrics): Fix metric
9908 calculations.
9909 (w32_enumfont_pattern_entity): Make full_type a DWORD.
9910 Give opentype fonts their own format.
9911 (font_matches_spec): New arguments backend and logfont.
9912 Handle :otf spec for uniscribe backend.
9913 (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
9914 (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
9915
9916 * w32fns.c (Fx_create_frame): Conditionally register uniscribe
9917 font backend.
9918 (globals_of_w32fns): Initialize uniscribe font backend.
9919
9920 * makefile.w32-in (CONFIG_H): New variable. Use it to clean up
9921 dependencies.
9922 (w32uniscribe.$(O)): New file to build.
9923 (FONT_OBJ): Include w32uniscribe.$(O).
9924 (LIBS): Add uniscribe libraries.
9925
9926 * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
9927
99282008-04-02 Chong Yidong <cyd@stupidchicken.com>
9929
9930 * callint.c (Vshift_select_mode): New var.
9931 (Finteractive): Document new ^ spec.
9932 (Fcall_interactively): Call handle-shift-selection if the ^ spec
9933 is present.
9934
9935 * keyboard.c (Vthis_command_keys_shift_translated): New var.
9936 (command_loop_1): Avoid running the direct display versions of
9937 forward-char and backward-char if shift-selection may occur.
9938 (read_key_sequence): Set Vthis_command_keys_shift_translated if
9939 shift-translation takes place.
9940
9941 * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
9942 avoid clobbering by define-minor-mode.
9943
9944 * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
9945 (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
9946
9947 * syntax.c (Fforward_word): Add ^ interactive spec.
9948
9949 * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
9950 (Fscroll_right): Add ^ interactive spec.
9951
99522008-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
9953
9954 * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
9955
9956 * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
9957
9958 * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
9959
99602008-03-31 Juri Linkov <juri@jurta.org>
9961
9962 * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
9963
99642008-03-30 Jan Djärv <jan.h.d@swipnet.se>
9965
9966 * gtkutil.c (xg_set_geometry): Fix indentation.
9967 (xg_resize_outer_widget): Remove.
9968 (x_wm_size_hint_off): Fix indentation.
9969 (xg_frame_set_char_size): Call flush_and_sync after
9970 gtk_window_resize.
9971 (x_wm_set_size_hint): Pass NULL as geometry window to
9972 gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
9973 Add menu bar and tool bar height to base height.
9974 (xg_update_frame_menubar, free_frame_menubar)
9975 (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
9976 (update_frame_tool_bar, free_frame_tool_bar):
9977 Change xg_resize_outer_widget to xg_frame_set_char_size.
9978
99792008-03-30 Michael Albinus <michael.albinus@gmx.de>
9980
9981 * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
9982 (Fdbus_call_method): New parameter TIMEOUT.
9983 (dbus-send-signal): Optimize UNGCPRO call.
9984
99852008-03-29 Juri Linkov <juri@jurta.org>
9986
9987 * window.c (Fdisplay_buffer): Move call to
9988 Vsplit_window_preferred_function out of conditions that check
9989 if window is eligible for vertical splitting.
9990 When Vsplit_window_preferred_function is non-nil, call it and use
9991 its non-nil return value as window. Otherwise, continue doing
9992 vertical splitting using Fsplit_window with arg horflag=nil.
9993 (syms_of_window) <Vsplit_window_preferred_function>: Change the
9994 default value from `split-window' to nil.
9995
99962008-03-29 Juri Linkov <juri@jurta.org>
9997
9998 * callint.c (Fcall_interactively): Revert 2008-03-16 change
9999 for interactive code letters 'b' and 'B'.
10000
100012008-03-29 Eli Zaretskii <eliz@gnu.org>
10002
10003 * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
10004 multibyte string.
10005
100062008-03-29 Stefan Monnier <monnier@iro.umontreal.ca>
10007
10008 * keyboard.c (pending_funcalls): New var.
10009 (timer_check): Run it.
10010 (syms_of_keyboard): Initialize it.
10011 * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
10012 (Vdelete_terminal_functions): New vars.
10013 (syms_of_terminal): Initialize them.
10014 (Fdelete_terminal): Run delete-terminal-functions.
10015 * xdisp.c (safe_eval): Rewrite.
10016 (safe_call2): New fun.
10017 * frame.c (Qdelete_frame_functions): New var.
10018 (syms_of_frame): Initialize it.
10019 (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
10020 * lisp.h (safe_call2, pending_funcalls): Declare.
10021
100222008-03-28 Andreas Schwab <schwab@suse.de>
10023
10024 * indent.c (Fmove_to_column): Move declaration before statements.
10025
100262008-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
10027
10028 * frame.h (enum fullscreen_type): Give it a name. Move it before use.
10029 (struct frame): Use bit fields for boolean vars.
10030
10031 * process.c (server_accept_connection): Simplify naming.
10032 (emacs_get_tty_pgrp): Use SDATA.
10033
10034 * coding.c (decode_coding_object): Fix last change.
10035
100362008-03-27 Jason Rumney <jasonr@gnu.org>
10037
10038 * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
10039
100402008-03-27 Kenichi Handa <handa@ni.aist.go.jp>
10041
10042 * charset.c (Fdefine_charset_internal): Change the way of
10043 registering charsets in Vcharset_order_list.
10044 (syms_of_charset): Make the charset `eight-bit' supplementary.
10045
100462008-03-26 Alexandre Oliva <aoliva@redhat.com> (tiny change)
10047
10048 * regex.c (EXTEND_BUFFER): Change order of pointer addition
10049 operations, to avoid having the difference between pointers
10050 overflow.
10051
100522008-03-26 Stefan Monnier <monnier@iro.umontreal.ca>
10053
10054 * indent.c (check_display_width): New fun.
10055 (scan_for_column): Use it.
10056
10057 * data.c (syms_of_data): Mark most-positive-fixnum and
10058 most-negative-fixnum as constants.
10059
10060 * xdisp.c (redisplay_internal): Reset selected_frame earlier.
10061
10062 * indent.c (scan_for_column): Extract from current_column_1.
10063 Merge with the same code from Fmove_to_column.
10064 (current_column_1, Fmove_to_column): Use it.
10065
100662008-03-25 Stefan Monnier <monnier@iro.umontreal.ca>
10067
10068 * keymap.c (map_keymap_internal): New fun.
10069 (map_keymap): Use it.
10070 (Fmap_keymap_internal): New fun.
10071 (Fmap_keymap): Remove left-out test from before make_save_value.
10072
10073 * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
10074
10075 * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
10076 Use XCAR/XCDR.
10077
10078 * process.h (struct Lisp_Process): Remove filter_multibyte.
10079 * process.c (QCfilter_multibyte): Remove.
10080 (setup_process_coding_systems): Don't use filter_multibyte.
10081 (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
10082 (read_process_output): Don't adjust multibyteness to filter_multibyte.
10083 (Fset_process_filter_multibyte): Change the coding-system to
10084 approximate the previous behavior.
10085 (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
10086 coding-system.
10087
10088 * coding.c (decode_coding_object): When not decoding into a buffer,
10089 obey the coding system's preference of (uni|multi)byte.
10090
100912008-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
10092
10093 * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
10094 every char is changed and has a different byte-length.
10095 (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
10096 Fix int -> EMACS_INT.
10097
100982008-03-23 David Hansen <david.hansen@gmx.net>
10099
10100 * dbusbind.c (xd_read_message): Remove extra copying of message
10101 strings. Check for NULL `interface' or `member'.
10102
101032008-03-22 Eli Zaretskii <eliz@gnu.org>
10104
10105 * w32.c (readdir): If FindFirstFile/FindNextFile return in
10106 cFileName a file name that includes `?' characters, use the 8+3
10107 alias in cAlternateFileName instead.
10108
101092008-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
10110
10111 * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
10112
101132008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
10114
10115 * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
10116 (set_point, set_point_both): Use EMACS_INT. Remove `buffer' arg,
10117 work on current_buffer only instead (that was already the case
10118 for some of the code anyway).
10119 * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
10120 (temp_set_point, temp_set_point_both): Use EMACS_INT.
10121 (SET_PT, SET_PT_BOTH): Adjust.
10122 * intervals.h (set_point, temp_set_point, set_point_both)
10123 (temp_set_point_both): Remove redundant declarations.
10124
101252008-03-20 Stefan Monnier <monnier@iro.umontreal.ca>
10126
10127 * fileio.c (Finsert_file_contents):
10128 * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
10129 * buffer.h (BUF_SET_PT): Remove. set_point_both doesn't work right
10130 when buffer != current_buffer anyway.
10131
101322008-03-20 Andreas Schwab <schwab@suse.de>
10133
10134 * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
10135 as default.
10136
101372008-03-19 Jason Rumney <jasonr@gnu.org>
10138
10139 * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
10140 (syms_of_w32fns): Initialize them.
10141 (HOURGLASS_ID): New constant.
10142 (x_window_to_frame): Don't check hourglass_window.
10143 (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
10144 (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
10145 (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
10146 (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
10147 Only change the cursor if hourglass is not active.
10148 (Fx_create_frame): Initialize frame's current_cursor.
10149 (hourglass_atimer): Remove.
10150 (hourglass_started): New function.
10151 (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
10152 (show_hourglass): Adapt to w32, changing argument to frame.
10153
10154 * w32term.h (struct w32_output): Remove hourglass_window.
10155 Add current_cursor.
10156
10157 * eval.c (call_debugger, Fsignal):
10158 * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
10159 (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
10160 (Fexecute_extended_command, cancel_hourglass_unwind):
10161 * minibuf.c (read_minibuf):
10162 * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
10163
101642008-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
10165
10166 * window.c (run_funs): New fun.
10167 (run_window_configuration_change_hook): Use it to run the buffer-local
10168 and the global part of the hook.
10169
10170 * xdisp.c (format_mode_line_unwind_data): Add window argument.
10171 (unwind_format_mode_line): Restore selected window.
10172 (x_consider_frame_title, Fformat_mode_line): Set selected window.
10173
101742008-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
10175
10176 * editfns.c (Fchar_equal): Check they are valid characters.
10177
10178 * buffer.h (Fbuffer_list): Declare (for use in callint.c).
10179
101802008-03-17 Andreas Schwab <schwab@suse.de>
10181
10182 * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
10183 against a charset.
10184
10185 * lisp.h (Fbuffer_list): Declare.
10186
101872008-03-17 Jan Djärv <jan.h.d@swipnet.se>
d6c952f8 10188
aac0c6e3
MR
10189 * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
10190 handlebox_widget is != 0.
10191
101922008-03-16 Juri Linkov <juri@jurta.org>
10193
10194 * callint.c (Fcall_interactively): For interactive code letters
10195 'b' and 'B' put the buffer list into the list of default "future"
10196 values of the minibuffer.
10197
101982008-03-16 Andreas Schwab <schwab@suse.de>
10199
10200 * keyboard.c (read_key_sequence): Fix downcasing of letters with
10201 modifiers.
10202
10203 * regex.c (re_match_2_internal): Correct matching of a charset
10204 against latin-1 characters.
10205
102062008-03-16 Kenichi Handa <handa@m17n.org>
10207
10208 * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
10209 (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
10210 (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
10211 (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
10212 (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
10213 CHAR_STRING_ADVANCE.
10214 (produce_chars): Fix for the case that the source and the
10215 destination are the same buffer. Use CHAR_STRING_ADVANCE_NO_UNIFY
10216 instead of CHAR_STRING_ADVANCE.
10217 (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
10218 STRING_CHAR_ADVANCE.
10219
102202008-03-15 Andreas Schwab <schwab@suse.de>
10221
10222 * regex.c (re_match_2_internal): Correct matching of eight bit
10223 characters in unibyte strings.
10224
102252008-03-15 Martin Rudalics <rudalics@gmx.at>
10226
10227 * buffer.c (overlays_in, Foverlays_in): Include empty overlays
10228 at end of range when it coincides with the end of the buffer.
10229
102302008-03-14 Eli Zaretskii <eliz@gnu.org>
10231
10232 * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
10233
10234 * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
10235
102362008-03-14 Jason Rumney <jasonr@gnu.org>
10237
10238 * editfns.c (initial_tz): New variable.
10239 (syms_of_editfns): Initialize it.
10240 (Fset_time_zone_rule): Set it when first called.
10241 Use it when TZSTRING is nil.
10242
10243 * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
10244 (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
10245 (monitor_from_point_fn, get_monitor_info_fn): New globals.
10246 (globals_of_w32fns): Initialize them.
10247 (compute_tip_xy): Use them to position tooltips.
10248
102492008-03-14 Glenn Morris <rgm@gnu.org>
10250
10251 * emacs.c (main): Revert previous change.
10252 (standard_args): Revert -internal-script back to -scriptload,
10253 and remove the long-option form.
10254
102552008-03-13 Glenn Morris <rgm@gnu.org>
10256
10257 * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
10258 Remove option -enable-font-backend.
10259
102602008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
10261
10262 * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
10263
102642008-03-11 Jan Djärv <jan.h.d@swipnet.se>
10265
10266 * xterm.c (x_connection_closed): For GTK: If this is the last
10267 terminal just exit without closing the display.
10268
102692008-03-11 Jason Rumney <jasonr@gnu.org>
10270
10271 * w32font.c (w32font_full_name): Use floor to round.
10272
f0131492 102732008-03-10 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
aac0c6e3
MR
10274
10275 * sound.c (alsa_configure): Declare vol at beginning of block.
10276
10277 * fontset.c (Ffontset_info): Remove extra semicolon.
10278
102792008-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
10280
10281 * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
10282 size of resulting string.
10283
102842008-03-10 Jason Rumney <jasonr@gnu.org>
10285
10286 * dispnew.c (adjust_glyph_matrix): Initialize window_height.
10287
102882008-03-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10289
10290 * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
10291 Don't pretend as if characters with display property haven't been
10292 consumed for string-replacing-string case.
10293
102942008-03-08 Kim F. Storm <storm@cua.dk>
10295
10296 * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
10297 (get_next_display_element, next_element_from_string)
10298 (next_element_from_ellipsis, next_element_from_buffer): Use it.
10299
103002008-03-08 Andreas Schwab <schwab@suse.de>
10301
10302 * process.h (struct Lisp_Process): Declare bit fields as unsigned.
10303
103042008-03-06 Jason Rumney <jasonr@gnu.org>
10305
10306 * w32font.c (w32_registry): Take font_type argument. Use ANSI
10307 when charset not specified. Only translate ANSI to unicode when
10308 font_type is truetype.
10309 (w32font_coverage_ok): New function.
10310 (add_font_entity_to_list): Use it to filter unsuitable fonts.
10311
103122008-03-05 Kenichi Handa <handa@ni.aist.go.jp>
10313
10314 * lread.c (Fread_char): Resolve modifiers.
10315 (Fread_char_exclusive): Likewise.
10316
10317 * character.c (char_resolve_modifier_mask): New function.
10318 (char_string): Use char_resolve_modifier_mask.
10319 (Fchar_resolve_modifiers): New function.
10320 (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
10321 function.
10322
103232008-03-04 Jason Rumney <jasonr@gnu.org>
10324
10325 * makefile.w32-in: Always include w32font.c in the build.
10326 * w32font.c: Wrap in USE_FONT_BACKEND conditional.
10327
103282008-03-04 Andreas Schwab <schwab@suse.de>
10329
10330 * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
10331 (versionclean): Likewise.
10332
103332008-03-04 Juanma Barranquero <lekktu@gmail.com>
10334
10335 * .cvsignore: Add oo.
10336
103372008-03-03 Andreas Schwab <schwab@suse.de>
10338
10339 * coding.c (decode_coding_object): Inhibit gap shrinking while
10340 decoding in place.
10341
103422008-03-03 Dan Nicolaescu <dann@ics.uci.edu>
10343
10344 * w32term.c: Remove unused include "gnu.h".
10345 * makefile.w32-in (w32term.o): Don't depend on gnu.h.
10346
10347 * gnu.h: Rename to ...
10348 * emacs-icon.h: ... this.
10349 * xterm.c: Use emacs-icon.h instead of gnu.h.
10350 * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
10351
103522008-03-03 Juanma Barranquero <lekktu@gmail.com>
10353
10354 * w32font.c: Include math.h.
10355
103562008-03-03 Jason Rumney <jasonr@gnu.org>
10357
10358 * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
10359 Compute options separately.
10360 (w32font_open_internal): Set glyph_idx before caching metrics.
10361
10362 * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
10363 Define if system headers don't.
10364 (struct w32font_info): Enlarge ascii_metrics. Add glyph_idx.
10365 (w32font_encode_char): Don't declare here.
10366
10367 * w32font.c (Quniscribe, QCformat): New symbols.
10368 (syms_of_w32font): Define them.
10369 (w32font_has_char): Indicate uncertainty.
10370 (w32font_encode_char): Encode as glyph point. Make static.
10371 (recompute_cached_metrics): New function.
10372 (w32font_open_internal): Use it. Set font to use glyph points
10373 initially. Set format based on type of font.
10374 (w32font_text_extents, w32font_draw): Optionally use glyph points.
10375 (w32_enumfont_pattern_entity): Accept backend arg. Set type based
10376 on it. Set format based on information available here.
10377 (add_font_entity_to_list): Identify backend based on opentype_only.
10378
103792008-03-02 Andreas Schwab <schwab@suse.de>
10380
10381 * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
10382
10383 * coding.c (decode_coding_big5, produce_chars):
10384 Fix typos in last change.
10385
103862008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
10387
10388 * gnu.h: New icon.
10389
103902008-03-02 Kenichi Handa <handa@m17n.org>
10391
10392 * coding.c (decode_coding_utf_8): When eol-type of CODING is
10393 `dos', don't decode '\r' if that is the last in the source.
10394 (decode_coding_utf_16, decode_coding_emacs_mule)
10395 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
10396 (decode_coding_raw_text, decode_coding_charset): Likewise.
10397 (produce_chars): Don't decode EOL here. Use EMACS_INT.
10398
103992008-03-01 Jason Rumney <jasonr@gnu.org>
10400
10401 * w32font.c (w32font_full_name): Report point size for scalable fonts.
10402
104032008-03-01 Kim F. Storm <storm@cua.dk>
10404
10405 * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
10406
104072008-03-01 Jason Rumney <jasonr@gnu.org>
10408
10409 * w32font.c (w32font_full_name): New function.
10410 (w32font_open_internal): Use it.
10411
104122008-03-01 Kim F. Storm <storm@cua.dk>
10413
10414 * dispnew.c (line_draw_cost): Fix invalid glyph check.
10415
104162008-03-01 Jason Rumney <jasonr@gnu.org>
10417
10418 * font.c (font_unparse_fcname): Increase len when style is a symbol.
10419
104202008-03-01 Jan Djärv <jan.h.d@swipnet.se>
10421
10422 * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
10423 xg_frame_resized when the event is for the edit widget.
10424
10425 * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
10426
10427 * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
10428 set_char_size.
10429 (xg_frame_resized): Renamed from xg_resize_widgets. Remove all
10430 operations on widgets here. Just set frame size if needed.
10431 (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
10432 (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
10433 (x_wm_set_size_hint): Set size hints on the edit widget only, not
10434 the whole frame.
10435 (xg_create_tool_bar): Move attachment of the tool bar to
10436 xg_pack_tool_bar. Do not attach the tool bar if there are no items.
10437 (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
10438
104392008-03-01 Jason Rumney <jasonr@gnu.org>
10440
10441 * w32fns.c (w32_msg_pump): Disable debug code.
10442
104432008-03-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10444
10445 * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
10446
104472008-02-29 Chong Yidong <cyd@stupidchicken.com>
10448
10449 * xdisp.c (next_overlay_string): Don't set
10450 overlay_strings_at_end_processed_p if we're currently reading from
10451 a display string.
10452
104532008-02-29 Stefan Monnier <monnier@iro.umontreal.ca>
10454
10455 * xdisp.c (get_overlay_strings_1): Fix typo.
10456
104572008-02-29 Chong Yidong <cyd@stupidchicken.com>
10458
10459 * xdisp.c (get_overlay_strings_1): Add missing argument type.
10460
104612008-02-28 Kenichi Handa <handa@ni.aist.go.jp>
10462
10463 * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
10464
10465 * xdisp.c (display_mode_element): Cancel the previous change.
10466 (decode_mode_spec): Likewise.
10467 (handle_auto_composed_prop): Don't make composition if it->string
10468 is a string.
10469
104702008-02-27 Kim F. Storm <storm@cua.dk>
10471
10472 * lisp.h (GLYPH): Change type from int to struct with separate char
10473 and face_id members.
10474 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
10475 (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
10476 (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
10477 (GLYPH_CHAR, GLYPH_FACE): ... these. Change users.
10478 (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove. Rewrite users to use ...
10479 (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
10480 (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
10481 (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
10482 handle new Lisp glyph code encoding, either an integer or a cons.
10483
10484 * disptab.h (GLYPH_SIMPLE_P): Rewrite.
10485 (GLYPH_ALIAS): Delete.
10486 (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
10487 (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
10488 (GLYPH_FROM_CHAR): Replace macro by ...
10489 (SET_GLYPH_FROM_CHAR): ... this macro. Change users.
10490
10491 * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
10492 (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
10493 (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users.
10494 (GLYPH_INVALID_P): New macro.
10495 (spec_glyph_lookup_face): Update prototype.
10496
10497 * dispnew.c (line_draw_cost): Adapt to new glyph type.
10498 (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
10499 new glyph code encoding.
10500 (spec_glyph_lookup_face): No return value; update passed glyph instead.
10501 (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
10502
10503 * xdisp.c (get_next_display_element, next_element_from_display_vector):
10504 Adapt to new glyph type and new glyph code encoding.
10505
10506 * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
10507
10508 * indent.c (current_column, current_column_1, Fmove_to_column)
10509 (compute_motion): Adapt to new glyph code encoding.
10510
10511 * msdos.c (IT_write_glyphs): Adapt to new glyph type.
10512
105132008-02-27 Chong Yidong <cyd@stupidchicken.com>
10514
10515 * process.c (wait_reading_process_output): Check for window
10516 changes caused by timers.
10517 Suggested by Johan Bockgård.
10518
105192008-02-27 Glenn Morris <rgm@gnu.org>
10520
10521 * emacs.c (USAGE1): Add `--disable-font-backend'.
10522
105232008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
10524
10525 * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
10526 is made to the buffer.
10527
105282008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
10529
10530 * dispextern.h (face_at_buffer_position, face_for_overlay_string)
10531 (face_at_string_position):
10532 * xfaces.c (face_at_buffer_position, face_for_overlay_string)
10533 (face_at_string_position):
10534 * xdisp.c (display_string, next_overlay_change):
10535 * buffer.h (overlays_at):
10536 * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
10537 Update callers.
10538
105392008-02-26 Chong Yidong <cyd@stupidchicken.com>
10540
10541 * editfns.c (Fformat): Doc fix.
10542
105432008-02-26 Juanma Barranquero <lekktu@gmail.com>
10544
10545 * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
10546 (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
10547 (Ffont_otf_alternates, Fquery_font): Doc fixes.
10548
105492008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
10550
10551 * buffer.c (Fbuffer_swap_text): New function.
10552 (syms_of_buffer): Defsubr it.
10553
105542008-02-25 Chong Yidong <cyd@stupidchicken.com>
10555
10556 * keyboard.c (command_loop_1): Revert 2006-10-09 change.
10557
105582008-02-25 Jason Rumney <jasonr@gnu.org>
10559
10560 * w32font.c (w32font_draw): Draw one character at a time when padding.
10561
105622008-02-25 Stefan Monnier <monnier@iro.umontreal.ca>
10563
10564 * window.c (Fdelete_window, Fadjust_window_trailing_edge):
10565 Handle a nil arg. Use run_window_configuration_change_hook.
10566 (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
10567 (Fenlarge_window, Fshrink_window, Fset_window_configuration):
10568 Use run_window_configuration_change_hook.
10569
105702008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
10571
10572 * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
10573 1-pixel width.
10574
105752008-02-25 Kenichi Handa <handa@ni.aist.go.jp>
10576
10577 * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
10578 (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
10579 if the glyph in the font is zero pixel with.
10580
10581 * dispextern.h (struct glyph_string): New member padding_p.
10582
10583 * w32font.c (w32font_draw): Pay attention to s->padding_p.
10584
10585 * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
10586
10587 * xfont.c (xfont_draw): Pay attention to s->padding_p.
10588
10589 * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
10590
10591 * font.c: If the font driver doesn't have `shape' function, return Qnil.
10592
105932008-02-25 Jason Rumney <jasonr@gnu.org>
10594
10595 * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
10596
105972008-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
10598
10599 Allow fine-grained image-cache flushing.
10600 * dispextern.h (struct image): Add `dependencies' field.
10601 (clear_image_caches): Change arg to Lisp_Object.
10602 * image.c (make_image): Initialize `dependencies' field.
10603 (clear_image_cache): Change arg to allow fine-grained flushing.
10604 Perform the flush even if image-cache-eviction-delay is nil.
10605 (clear_image_caches): Change arg to Lisp_Object.
10606 (Fclear_image_cache): Expand meaning of the argument.
10607 (mark_image): Mark `dependencies' field.
10608 * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
10609 (lface_hash): Use XHASH rather than XFASTINT.
10610 (face_at_buffer_position): Fix int -> EMACS_INT position.
10611 * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
10612 (select_frame_for_redisplay): Remove code duplication.
10613 (redisplay_internal): Adapt arg to call to clear_image_caches.
10614
106152008-02-24 Dan Nicolaescu <dann@ics.uci.edu>
10616
10617 * s/vms4-0.h:
10618 * s/vms4-2.h:
10619 * s/vms4-4.h:
10620 * s/vms5-5.h: Remove, unused.
10621
10622 * s/irix5-2.h:
10623 * s/irix6-0.h:
10624 * s/riscos5.h:
10625 * s/mach-bsd4-3.h:
10626 * m/mips4.h: Remove files for obsolete systems.
10627
10628 * Makefile.in:
10629 * filelock.c:
10630 * unexmips.c:
10631 * m/hp9000s300.h:
10632 * m/iris4d.h:
10633 * s/aix3-1.h:
10634 * s/hpux.h:
10635 * s/msdos.h:
10636 * s/usg5-0.h:
10637 * s/usg5-2-2.h:
10638 * s/usg5-2.h:
10639 * s/usg5-3.h: Remove references to obsolete variables.
10640
10641 * s/irix5-0.h: Remove, move all the contents ...
10642 * s/irix6-5.h: ... here. Simplify.
10643 * config.in: Regenerate.
10644
106452008-02-24 Jason Rumney <jasonr@gnu.org>
10646
10647 * w32term.c (x_draw_glyph_string_background): Clear the background
10648 manually when cleartype is in use.
10649 (x_draw_glyph_string_foreground): Draw text transparently when
10650 cleartype is in use.
10651
10652 * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
10653 a font into it unless we have to.
10654
106552008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
10656
10657 * intervals.h (INT_LISPLIKE): Remove. It may misfire.
10658 (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
d6c952f8 10659
aac0c6e3
MR
106602008-02-18 Jason Rumney <jasonr@gnu.org>
10661
10662 * w32fns.c (Fw32_shell_execute): Encode parameters.
10663
106642008-02-09 Eli Zaretskii <eliz@gnu.org>
10665
10666 * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
10667
106682008-02-05 Juanma Barranquero <lekktu@gmail.com>
10669
10670 * unexhp9k800.c (read_header): Replace `legal' with `valid'.
10671
106722008-02-24 Ulrich Neumerkel <ulrich@complang.tuwien.ac.at> (tiny change)
10673
10674 * xterm.c (x_set_offset): Don't change the gravity if
10675 CHANGE_GRAVITY is -1.
10676
106772008-02-23 Chong Yidong <cyd@stupidchicken.com>
10678
10679 * fileio.c (auto_save_error_occurred): New var.
10680 (auto_save_error): Set it.
10681 (Fdo_auto_save): Don't overwrite the error message if an auto-save
10682 error occurred.
10683
106842008-02-23 Eli Zaretskii <eliz@gnu.org>
10685
10686 * w32.c (globals_of_w32): Add initializations for
10687 g_b_init_get_sid_sub_authority and
10688 g_b_init_get_sid_sub_authority_count.
10689
106902008-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
10691
10692 * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
10693 (font_parse_xlfd): Use them for sanity check.
10694 (Finternal_set_font_style_table): Make sure the table is bijective.
10695
10696 Consolidate the image_cache to the terminal struct.
10697 * termhooks.h (P_): Remove redundant def.
10698 (struct terminal): New field `image_cache'.
10699 * frame.h (FRAME_IMAGE_CACHE): New macro. Use it everywhere in place
10700 of FRAME_X_IMAGE_CACHE.
10701 * xterm.h (struct x_display_info): Remove image_cache field.
10702 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
10703 * w32term.h (struct w32_display_info): Remove image_cache field.
10704 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
10705 * macterm.h (struct mac_display_info): Remove image_cache field.
10706 (FRAME_X_IMAGE_CACHE): Remove. Use FRAME_IMAGE_CACHE instead.
10707 * xterm.c (x_term_init):
10708 * w32term.c (w32_term_init):
10709 * macterm.c (mac_term_init): Set the image_cache in the terminal.
10710 * dispextern.h (clear_image_cache, forall_images_in_image_cache):
10711 Remove declarations.
10712 (clear_image_caches, mark_image_cache): New declarations.
10713 * xfaces.c (clear_face_cache):
10714 * xdisp.c (redisplay_internal): Use clear_image_caches.
10715 * image.c (clear_image_cache): Don't check that a frame is on
10716 a window-system before checking if it shares the same cache.
10717 (clear_image_caches): New function.
10718 (Fclear_image_cache): Use it.
10719 (mark_image): Move from allo.c.
10720 (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
10721 * alloc.c (mark_image, mark_image_cache): Move to image.c.
10722 (mark_object): Don't call mark_image_cache for frames.
10723 (mark_terminals): Call mark_image_cache.
10724
10725 * lisp.h (Fdelete_terminal): Declare.
10726
10727 * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
10728 (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
10729 wrong_type_argument.
10730
107312008-02-22 Kenichi Handa <handa@ni.aist.go.jp>
10732
10733 * Makefile.in (lisp): Remove devanagari.el, kannada.el,
10734 malayalam.el, and tamil.el. Add sinhala.el.
10735
107362008-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
10737
10738 * xterm.c (x_connection_closed): Consolidate identical tests.
10739 (x_delete_terminal): Don't crash if called via x_connection_closed.
10740
107412008-02-21 Kenichi Handa <handa@ni.aist.go.jp>
10742
10743 * xdisp.c (decode_mode_spec): New arg string.
10744 (display_mode_element): Adjust for the above change.
10745
107462008-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
10747
10748 * callint.c (Fcall_interactively): Use AREF.
10749
107502008-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
10751
10752 * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
10753
107542008-02-18 Jan Djärv <jan.h.d@swipnet.se>
10755
10756 * xfns.c (Fx_show_tip): Set string to " " if empty.
10757
107582008-02-17 Dan Nicolaescu <dann@ics.uci.edu>
10759
10760 * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
10761 with Qt.
10762
107632008-02-17 Kenichi Handa <handa@m17n.org>
10764
10765 * ftfont.c (ftfont_shape): Return Lispy number.
10766
10767 * xfaces.c (prepare_face_for_display): Use display_info->font->fid
10768 for GCs.
10769 (Finternal_set_font_selection_order): Call font_update_sort_order
10770 only when enable_font_backend is set.
10771 (realize_x_face): Set face->font_info to that of default face only
10772 when enable_font_backend is set.
10773
10774 * xdisp.c (handle_composition_prop): Set it->c to the fist
10775 character of the composed region.
10776 (fill_composite_glyph_string): Set base_face->font_info to
10777 s->font_info. Get a face for ascii from base_face->ascii_face.
10778 (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
10779 with a face already decided.
10780 (x_produce_glyphs): Be sure to set it->ascent and it->descent to
10781 non-negative.
10782 (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
10783 call font_prepare_composition unconditionally.
10784
10785 * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
10786
10787 * xterm.h (struct x_display_info): New member font.
10788
10789 * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
10790 (x_set_mouse_face_gc, x_new_font): Likewise.
10791 (x_term_init): Setup display_info->font.
10792 (x_delete_terminal): Free display_info->font.
10793
10794 * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
10795
10796 * ftxfont.c (ftxfont_default_fid): Delete it.
10797 (ftxfont_open): Set xfont->fid to 0.
10798 (ftxfont_end_for_frame): Clear data specific to the frame and the
10799 font-driver.
10800
10801 * xftfont.c (xftfont_default_fid): Delete it.
10802 (xftfont_open): Set xfont->fid to 0.
10803
10804 * fontset.c (FONTSET_OBJLIST): New macro.
10805 (fontset_find_font): Update font-object list of the fontset.
10806 (free_realized_fontset): New function.
10807 (free_face_fontset): Call free_realized_fontset.
10808 (Ffont_info): Call font_close_object only when enable_font_backend
10809 is set.
10810
10811 * font.c [HAVE_X_WINDOWS]: Include xterm.h.
10812 [HAVE_NTGUI]: Include w32term.h.
10813 [MAC_OS]: Include macterm.ch.
10814 (font_otf_ValueRecord): Use make_number.
10815 (font_finish_cache): Fix handling of reference count.
10816 (font_clear_cache): Update num_fonts.
10817 (font_open_entity): Update smallest_char_width and
10818 smallest_font_height of the frame.
10819 (font_close_object): Update num_fonts.
10820 (Fclear_font_cache): Fix finding the target cache data.
10821
108222008-02-16 Glenn Morris <rgm@gnu.org>
10823
10824 * fontset.c (Finternal_char_font): Fix compilation warning.
10825
108262008-02-16 Eli Zaretskii <eliz@gnu.org>
10827
10828 * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
10829 instead of char arrays. Enlarge the size of array passed to
10830 get_token_information.
10831
10832 * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
10833 warnings.
10834
108352008-02-15 Dan Nicolaescu <dann@ics.uci.edu>
10836
10837 * .gdbinit: Don't set `args', it breaks gdb --args.
10838
108392008-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
10840
10841 * fileio.c (Finsert_file_contents): Adjust offsets when replacing
10842 within a narrowed buffer.
10843
108442008-02-14 Kenichi Handa <handa@ni.aist.go.jp>
10845
10846 * coding.c (decode_coding_object, encode_coding_object):
10847 Preserve Vdeactivate_mark. Delete unnecessary call of Fcurrent_buffer.
10848
108492008-02-12 Stefan Monnier <monnier@iro.umontreal.ca>
10850
10851 * coding.c (coding_set_destination): Use BEG_BYTE rather than
10852 hardcoding 1.
10853 (detect_coding_system):
10854 * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
10855 (string_char_to_byte, string_byte_to_char, insert_from_gap):
10856 * insdel.c (insert_from_gap):
10857 * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
10858 (string_char_to_byte, string_byte_to_char, string_make_multibyte)
10859 (string_to_multibyte):
10860 * character.c (chars_in_text, multibyte_chars_in_text):
10861 * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
10862
10863 * character.h (FETCH_STRING_CHAR_ADVANCE)
10864 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
10865 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
10866 (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
10867
10868 * casefiddle.c (casify_region): Only call after-change and composition
10869 functions on the part of the region that was changed.
10870
10871 * keyboard.c (read_avail_input):
10872 * frame.c (Fdelete_frame): Call Fdelete_terminal.
10873
108742008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
10875
10876 * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
10877 (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
10878
108792008-02-11 Juanma Barranquero <lekktu@gmail.com>
10880
10881 * w32menu.c (push_submenu_start, push_submenu_end)
10882 (push_left_right_boundary, push_menu_pane, push_menu_item):
10883 * keyboard.c (read_key_sequence): Don't pass args with side effects
10884 to AREF, it fails when compiling with -DENABLE_CHECKING.
10885
108862008-02-11 Kenichi Handa <handa@ni.aist.go.jp>
10887
10888 * Makefile.in (${lispsource}international/charprop.el):
10889 Delete this target.
10890
10891 * search.c (boyer_moore): Fix incorrect synching of the trunk and
10892 emacs-unicode-2.
10893
108942008-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
10895
10896 * terminal.c (Fdelete_terminal): Clean up the `force' path.
10897
108982008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
10899
10900 * frame.c (Qnoelisp): New symbol.
10901 (syms_of_frame): Initialize it.
10902 (Fdelete_frame): Use it to distinguish a mere `force' passed from some
10903 harmless Elisp code, from a strong `force' from x_connection_closed.
10904 * frame.h (Qnoelisp): Declare.
10905 * xterm.c (x_connection_closed): Pass `noelisp'.
10906
10907 * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
10908 (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
10909 (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
10910 rather than `int' for the type of `type'.
10911
109122008-02-10 Dan Nicolaescu <dann@ics.uci.edu>
10913
10914 * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
10915
10916 * Makefile.in (GNUC): Remove support for gcc-1.x.
10917
109182008-02-10 Richard Stallman <rms@gnu.org>
10919
10920 * lisp.h (ASET): Use AREF, not ASLOT.
10921
109222008-02-10 Stefan Monnier <monnier@iro.umontreal.ca>
10923
10924 * lisp.h (ASET): Check bounds.
10925
109262008-02-10 Glenn Morris <rgm@gnu.org>
10927
10928 * buffer.c (mode-name): Doc fix.
10929
109302008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
10931
10932 * Makefile.in:
10933 * emacs.c:
10934 * gmalloc.c:
10935 * keyboard.c:
10936 * lisp.h:
10937 * m/ibm370aix.h:
10938 * process.c:
10939 * regex.c:
10940 * s/hpux.h:
10941 * sysdep.c:
10942 * sysselect.h:
10943 * systty.h:
10944 * unexec.c:
10945 * w32term.c:
10946 * xsmfns.c:
10947 * xterm.c: Remove code that deals with obsolete variables.
10948
10949 * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
10950
10951 * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
10952 nothing else needs it anymore.
10953
109542008-02-09 Eli Zaretskii <eliz@gnu.org>
10955
10956 * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
10957 instead of unibyte_char_to_multibyte.
10958
109592008-02-09 Dan Nicolaescu <dann@ics.uci.edu>
10960
10961 * s/gnu-linux.h: Remove commented out code.
10962
10963 * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
10964
10965 * Makefile.in: Update what RMS says about using autoconf.
10966 (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
10967 (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
10968 (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
10969 (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
10970
109712008-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
10972
10973 * keymap.c (Fkey_description): Move side effect outside of macro call.
10974
10975 * xfaces.c (Finternal_make_lisp_face):
10976 * keyboard.c (add_command_key, parse_menu_item): Use ASET.
10977
10978 * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
10979 (syms_of_fontset): Use ASET.
10980
10981 * fns.c (concat): Move side effect outside of macro call.
10982 (hash_clear): Use ASET.
10983
109842008-02-08 Richard Stallman <rms@gnu.org>
10985
10986 * frame.c (Fdelete_frame): If FORCE, don't call hooks.
10987 If FORCE, and frame has a surrogate minibuffer for another frame,
10988 delete the other frame first.
10989
109902008-02-07 Timo Savola <timo.savola@iki.fi>
10991
10992 * xterm.c (x_detect_focus_change): Handle embed client message.
10993 (handle_one_xevent): Ditto.
10994 (handle_one_xevent): If embedded and we get a button press/release,
10995 request focus.
10996 (xembed_set_info, xembed_send_message): New functions.
10997 (x_make_frame_visible): Call xembed_set_info if embedded.
10998 (x_make_frame_invisible): Call xembed_set_info if embedded.
10999 (x_term_init): Initialize Xatom_XEMBED.
11000 (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
11001 (x_iconify_frame): Ditto.
11002
11003 * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
11004 (enum xembed_info, enum xembed_message, enum xembed_focus)
11005 (enum xembed_modifier, enum xembed_accelerator): New.
11006 (xembed_set_info, xembed_send_message): Declare.
11007 (FRAME_X_EMBEDDED_P): New.
11008
11009 * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
11010 gtk_plug_new.
11011
11012 * xfns.c (Fx_create_frame): Do not override the explicitly set parent
11013 window ID of a frame.
11014 (x_window): Reparent frame if embedded.
11015 (Fx_create_frame): Don't set border width if embedded.
11016
11017 * emacs.c (USAGE3): Add --parent-id.
11018 (standard_args): Ditto.
11019
110202008-02-07 Jan Djärv <jan.h.d@swipnet.se>
11021
11022 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
11023
110242008-02-07 Jim Meyering <meyering@redhat.com>
11025
11026 Use "do...while (0)", not "if (1)...else" in macro definitions.
11027 The latter provokes a warning from gcc about the empty else, when
11028 followed by ";". Also, without that trailing semicolon, it would
11029 silently swallow up any following statement.
11030 * syntax.h (SETUP_SYNTAX_TABLE)
11031 (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
11032 * buffer.h (DECODE_POSITION): Likewise.
11033 * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
11034 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
11035 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
11036 (FETCH_CHAR_ADVANCE): Likewise.
11037 (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
11038
110392008-02-07 Jim Meyering <meyering@redhat.com>
11040
11041 * lread.c [lint]: Don't include <sys/inode.h>.
11042
110432008-02-07 Stefan Monnier <monnier@iro.umontreal.ca>
11044
11045 * xselect.c (x_handle_dnd_message):
11046 * xmenu.c (digest_single_submenu, xmenu_show):
11047 * xdisp.c (with_echo_area_buffer_unwind_data)
11048 (format_mode_line_unwind_data, unwind_format_mode_line)
11049 (display_menu_bar):
11050 * eval.c (Ffetch_bytecode):
11051 * doc.c (store_function_docstring):
11052 * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
11053 (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
11054 * buffer.c (add_overlay_mod_hooklist): Use ASET.
11055
110562008-02-07 Kenichi Handa <handa@m17n.org>
11057
11058 * ftxfont.c (ftxfont_open): Don't set
11059 dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
11060
11061 * ftfont.c (ftfont_open): Fix previous change.
11062
110632008-02-06 Jason Rumney <jasonr@gnu.org>
11064
11065 * w32font.c (w32font_text_extents): Fill in lbearing metric.
11066 Use cached metrics for ASCII characters.
11067 (w32font_open_internal): Don't set font's owning_frame.
11068 Cache metrics for ASCII characters.
11069
11070 * w32font.h (struct w32font_info): Add ascii_metrics.
11071 Remove owning_frame.
11072
110732008-02-06 Kenichi Handa <handa@ni.aist.go.jp>
11074
11075 * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
11076 to negative value.
11077
11078 * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
11079
11080 * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
11081
11082 * charset.c (syms_of_charset): Set QCtest and Qeq.
11083
110842008-02-06 Stefan Monnier <monnier@iro.umontreal.ca>
11085
11086 * process.c (Fstart_process):
11087 * callproc.c (Fcall_process): Handle the case where
11088 Funhandled_file_name_directory returns nil.
11089
11090 * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
11091 (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
11092 * font.c (check_gstring): Use them and AREF to access the vector before
11093 we know it's really a gstring.
11094 (Ffont_shape_text): Fix typo.
46e722a9 11095 (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Object mixups.
aac0c6e3
MR
11096
11097 * composite.h (Fcompose_region_internal, Fcompose_string_internal):
11098 Declare.
11099
11100 * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
11101
111022008-02-05 Jason Rumney <jasonr@gnu.org>
11103
11104 * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
11105 Set smallest_font_height and smallest_char_width in display info.
11106
111072008-02-05 Kenichi Handa <handa@ni.aist.go.jp>
11108
11109 * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
11110
111112008-02-05 Miles Bader <miles@gnu.org>
11112
11113 * xfaces.c (get_lface_attributes, merge_named_face)
11114 (lookup_named_face, lookup_derived_face, realize_named_face):
11115 Revert 2008-02-01 change by cyd@stupidchicken.com.
11116
111172008-02-04 Kenichi Handa <handa@ni.aist.go.jp>
11118
11119 * fontset.c (Ffontset_info): Handle the case of inhibitting the
11120 fallback fonts.
11121 (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
11122
111232008-02-04 Jason Rumney <jasonr@gnu.org>
11124
11125 * w32font.c (w32font_open_internal): Use font_unparse_fcname to
11126 set full_name.
11127 (w32font_open_internal): Use xmalloc, xrealloc, xfree.
11128
111292008-02-03 Jason Rumney <jasonr@gnu.org>
11130
11131 * makefile.w32-in (OBJ1): Include font.o here.
11132 (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
11133
111342008-02-02 Jason Rumney <jasonr@gnu.org>
11135
11136 * makefile.w32-in (temacs): Bump EMHEAP to 21.
11137
111382008-02-01 Jason Rumney <jasonr@gnu.org>
11139
11140 * s/cygwin.h: Define VIRT_ADDR_VARIES.
11141
11142 * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
11143
111442008-02-01 Andreas Schwab <schwab@suse.de>
11145
11146 * Makefile.in (shortlisp, lisp): Update for rename of
11147 ../lisp/language/myanmar.el.
11148
111492008-02-01 Chong Yidong <cyd@stupidchicken.com>
11150
11151 * xfaces.c (get_lface_attributes): Delete function.
11152 (merge_named_face, lookup_named_face, lookup_derived_face)
11153 (realize_named_face): Call lface_from_face_name directly, and use
11154 the fact that merge_face_vectors does not alter its FROM argument.
11155
111562008-02-01 Jason Rumney <jasonr@gnu.org>
11157
11158 * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
11159 input in the default locale. Handle non-Unicode multibyte input.
11160
111612008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11162
11163 * fontset.c (reorder_font_vector): Exclude nil elements from the
11164 font group. Don't try multiple fonts.
11165 (fontset_font): Adjust for the above change.
11166 (Finternal_char_font): Return nil if the found font doesn't
11167 contain the character ch.
11168
11169 * Makefile.in (lisp, shortlisp): Add cham.el.
11170
111712008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11172
11173 * font.h (FONTP): Make it return 1 also for a font-object.
11174
11175 * .gdbinit (xfontset): New function.
11176
11177 * font.c (font_find_for_lface): Check if the character C is
11178 supported or not only for the first font.
11179
11180 * fontset.c (reorder_font_vector): Fix typo.
11181 (fontset_find_font): Don't add a font-spec specifying a script.
11182 Use 0 (not Qt) for the indication of empty font-group. Change the
11183 format of RFONT-DEF. Return Qt if no font in the font-group
11184 support the character.
11185 (fontset_font): Adjust for the above change. If no font was
11186 found the character, remember that.
11187 (face_for_char): Adjust for the change of RFONT-DEF.
11188 (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
11189 no font for the target.
11190 (Finternal_char_font): Adjust for the change of RFONT-DEF.
11191
111922008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11193
11194 * font.c (font_load_for_face): Handle the case that the font in
11195 face->lface is a string.
11196
111972008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11198
11199 * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
11200
112012008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11202
11203 * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
11204 Fix previous change. If the frame is not on a window system,
11205 signal an error.
11206
112072008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11208
11209 * coding.c (decode_coding_object, encode_coding_object): Adjust
11210 marker positions after conversion.
11211
11212 * lisp.h (struct Lisp_Marker): New member need_adjustment.
11213
112142008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11215
11216 * font.c (font_find_for_lface): Fix the handling of the return
11217 value of font_has_char.
11218 (Ffont_shape_text): Fix previous change.
11219
11220 * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
11221 (fontset_ref_and_range): Delete it.
11222 (fontset_find_font): Call char_table_ref_and_range instead of
11223 FONTSET_REF_AND_RANGE.
11224 (make_fontset): Don't setup font groups of Latin here.
11225 (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
11226 (new_fontset_from_font): Make the specified font the default for
11227 all Latin characters.
11228
112292008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11230
11231 * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
11232 is on a window system before accessing the fontset of the frame.
11233
112342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11235
11236 * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
11237
11238 * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
11239 when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
11240
11241 * font.c (Ffont_shape_text): If the font driver doesn't have a
11242 shaper function, make zero-width glyphs to have at least one-pixel
11243 width. Fix setting of `to' field of glyphs.
11244
112452008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11246
11247 * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
11248 glyphs.
11249
11250 * font.h (struct font_driver): Improve docstring of member `shape'.
11251
112522008-02-01 Kenichi Handa <handa@m17n.org>
11253
11254 * composite.c (syms_of_composite): Fix docstring of
11255 auto-composition-function.
11256
11257 * font.h (LGLYPH_SIZE): New macro.
11258
11259 * font.c (Ffont_fill_gstring): Stop filling when a character not
11260 supported by the font is found.
11261 (Ffont_shape_text): When a shape callback function returns nil,
11262 try at most two more times with larger gstring.
11263 (Ffont_at): Fix getting of w. Call font_at with correct 5th argument.
11264
11265 * xdisp.c (handle_auto_composed_prop): Change the argument to
11266 auto-composition-function.
11267
11268 * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
11269 (ftfont_shape_by_flt): If an element of lgstring is nil, make a
11270 Lispy glyph and store it in the lgstring.
11271
11272 * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
11273
11274 * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
11275
112762008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11277
11278 * font.c (Ffont_shape_text): Avoid unnecessary composition.
11279
11280 * fontset.c (Vfont_encoding_charset_alist): New variable.
11281 (syms_of_fontset): DEFVAR it.
11282 (reorder_font_vector, fontset_find_font): Optimize for the case of
11283 no need of reordering.
11284 (face_for_char): Map the charset property by
11285 Vfont_encoding_charset_alist.
11286
112872008-02-01 Jason Rumney <jasonr@gnu.org>
11288
11289 * w32font.c (logfonts_match): Don't check adstyle here.
11290 (font_matches_spec): Check here against physical font instead.
11291 (add_font_entity_to_list): Avoid some substitutions.
11292
11293 * font.c (font_parse_fcname): Default weight and slant to normal.
11294 (font_score): Prefer normal fonts if weight or slant unspecified.
11295 (font_score) [WINDOWSNT]: Scale weight difference down to closer
11296 match freetype scores.
11297
112982008-02-01 Jason Rumney <jasonr@gnu.org>
11299
11300 * w32font.c (w32font_text_extents): Don't use the frame stored in the
11301 font, as it may have been deleted.
11302 (w32_enumfont_pattern_entity): Map generic family to adstyle using
11303 most common hyphenless variation.
11304 (logfonts_match): Check generic family.
11305 (font_matches_spec): Don't check generic family here.
11306 (fill_in_logfont): Set generic family based on adstyle.
11307
11308 * w32font.h (w32font_get_cache): Update declaration.
11309
113102008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11311
11312 * ftfont.c (ftfont_get_cache): Adjust the argument type.
11313
11314 * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
11315 If none of the new drivers are available, call font_update_drivers
11316 with the old drivers.
11317
11318 * w32font.c (w32font_get_cache): Adjust the argument type.
11319
11320 * xfont.c (xfont_get_cache): Adjust the argument type.
11321
11322 * font.h (struct font_driver): Change argument type of get_cache.
11323
11324 * xftfont.c (xftfont_start_for_frame): Delete prototype.
11325
11326 * font.c (Ffont_get): Fix arguments to Fassoc.
11327 (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
11328 (font_clear_cache): New function.
11329 (font_list_entities, font_matching_entity): Use font_get_cache.
11330 (font_update_drivers): Call font_clear_cache when finishing a driver.
11331
11332 * fontset.c (fontset_find_font): Fix previous change.
11333
113342008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11335
11336 * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
11337 dpyinfo->font_table.
11338 (x_delete_display) [USE_FONT_BACKEND]: Likewise.
11339 (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
11340
11341 * font.c (font_at): Handle the case that the arg C is negative.
11342 Handle the unibyte case.
11343 (Ffont_at): Call font_at with the arg C -1.
11344
11345 * xdisp.c (handle_auto_composed_prop): Don't get a character at
11346 the position here, and call font_at with the arg C -1.
11347 Don't check the range of the existing composition at the point.
11348
113492008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11350
11351 * fontset.c (fontset_add): New args charset_id and family.
11352 Change caller.
11353 (load_font_get_repertory, fontset_find_font): Assume that
11354 font_spec is always a font-spec object.
11355 (Fset_fontset_font): Always store a font-spec object in a fontset.
11356
11357 * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
11358 instead of get_property_and_range.
11359
113602008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11361
11362 * xftfont.c (struct xftfont_info): Delete the member ft_face.
11363 (xftfont_open): Don't keep locking face.
11364 (xftfont_close): Don't unlock face.
11365 (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
11366
11367 * fontset.c (fontset_find_font): Don't prefer a font of
11368 supplementary charset.
11369
113702008-02-01 Kenichi Handa <handa@m17n.org>
11371
11372 * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
11373 script, langsys_tag to langsys, new member script.
11374 (OTF_TAG_STR): Terminate by '\0'.
867d4bb3 11375 (ftfont_get_open_type_spec): If :otf prop is spec, limit the
aac0c6e3
MR
11376 listing to the script specified in that property. Fix arg to
11377 OTF_check_features.
11378
113792008-02-01 Jason Rumney <jasonr@gnu.org>
11380
11381 * w32font.h: New file.
11382
11383 * w32font.c: Include it.
11384 (struct w32font_info): Add owning_frame field. Move to w32font.h.
11385 (w32font_open): Set owning_frame.
11386 (w32font_text_extents): Use owning_frame.
11387 (struct font_callback_data): Add opentype_only field.
11388 (add_font_entity_to_list): Use it to filter fonts.
11389 Don't check against full name.
11390 (w32font_list_internal): New function.
11391 (w32font_list): Use it.
11392 (w32font_match_internal): New function.
11393 (w32font_match): Use it.
11394 (w32font_open_internal): New function.
11395 (w32font_open): Use it.
11396 (w32font_get_cache, w32font_close, w32font_has_char)
11397 (w32font_encode_char, w32font_text_extents, w32font_draw):
11398 Make non-static.
11399
11400 * makefile.w32-in (w32font.o): Depend on w32font.h.
11401
114022008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11403
11404 * charset.c (Fdefine_charset_internal): Record a supplementary
11405 charset at the tail of Vcharset_order_list.
11406
11407 * font.c (Ffont_shape_text): Fix the return value.
11408
11409 * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
11410
11411 * xdisp.c (handle_auto_composed_prop): Fix previous change.
11412
114132008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11414
11415 * ftfont.c (struct OpenTypeSpec): New struct.
11416 (OTF_SYM_TAG, OTF_TAG_STR): New macros.
11417 (ftfont_get_open_type_spec): New function.
11418 (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
11419
11420 * lread.c (read1): Redo the previous change with checking Vpurify_flag.
11421
114222008-02-01 Jason Rumney <jasonr@gnu.org>
11423
11424 * w32font.c (add_font_entity_to_list): Compare only the beginning
11425 of full name.
11426
114272008-02-01 Kenichi Handa <handa@m17n.org>
11428
11429 * xdisp.c (handle_auto_composed_prop): Simplify the code.
11430 Never return HANDLED_RECOMPUTE_PROPS.
11431
114322008-02-01 Kenichi Handa <handa@m17n.org>
11433
11434 * font.c (font_gstring_produce): Delete it.
11435
11436 * composite.h (COMPOSITION_METHOD):
11437 Handle COMPOSITION_WITH_GLYPH_STRING.
11438
114392008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11440
11441 * xfont.c (Qx): Delete.
11442 (syms_of_xfont): Don't initialize Qx.
11443
11444 * composite.h (enum composition_method):
11445 Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
11446
114472008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11448
11449 * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
11450 (choose_face_font): Accept new form of font-spec.
11451
11452 * frame.h (font_driver_list): Declare it unconditionally.
11453 (struct frame): Define members font_driver_list and font_data_list
11454 unconditionally.
11455
11456 * fontset.c: Include "font.h" unconditionally.
11457 (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
11458 (Fset_fontset_font): Accept a font-spec object.
11459
11460 * font.c (font_unparse_xlfd): If pixel_size is zero, make the
11461 PIXEL_SIZE part a wild card.
11462
11463 * dispextern.h (struct glyph_string): Define members clip and
11464 num_clips unconditionally.
11465 (struct face): Define members font_info and extra unconditionally.
11466
11467 * ftfont.c (ftfont_open): Set members maybe_otf and otf of
11468 ftfont_info only when HAVE_LIBOTF is defined.
11469
114702008-02-01 Andreas Schwab <schwab@suse.de>
11471
11472 * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
11473 and end.
11474
114752008-02-01 Jason Rumney <jasonr@gnu.org>
11476
11477 * w32font.c (w32font_driver): Add new fields.
11478
114792008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11480
11481 * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
11482 (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
11483 (LIBES): Add @M17N_FLT_CFLAGS@.
11484
11485 * composite.c (compose_text): Don't treat the new style
11486 composition specially.
11487
11488 * emacs.c (main): Call syms_of_font unconditionally.
11489
11490 * font.h (FONT_ENTITY_NOT_LOADABLE)
11491 (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
11492 (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
11493 (struct font_driver): New member shape.
11494 (font_registry_charsets): Extern it.
11495 (font_find_for_lface, font_prepare_composition): Adjust prototype.
11496 (font_otf_capability, font_drive_otf): Delete their externs.
11497
11498 * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
11499 (font_charset_alist, font_registry_charsets): Move from xfont.c
11500 and rename.
11501 (font_prop_validate_otf): New function.
11502 (font_property_table): Register it for QCotf.
11503 (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
11504 (font_drive_otf): Delete.
11505 (font_prepare_composition): New arg F. Adjust for the change of
11506 lispy gstring.
11507 (font_find_for_lface): New arg C.
11508 (font_load_for_face): Adjust for the change of font_find_for_lface.
11509 (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
11510 lispy gstring.
11511 (Ffont_shape_text): New function.
11512 (Fopen_font): If the font size is not given, use 12-pixel.
11513 (Ffont_at): New arg STRING.
11514 (syms_of_font): Initalize font_charset_alist.
11515 Declare Ffont_shape_text as a Lisp function. Call syms_of_XXfont
11516 conditionally.
11517
11518 * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
11519 fonts of the same font-spec. Change the format of RFONT-DEF.
11520 (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
11521 Adjust for the change of RFONT-DEF.
11522 (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
11523
11524 * ftfont.h: New file.
11525
11526 * ftfont.c: Don't include Freetype headers. Include "ftfont.h".
11527 (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
11528 (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
11529 (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
11530 font_otf_capability and font_drive_otf, set ftfont_shape.
11531 (ftfont_list): Adjust for the change of :otf property value.
11532 (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
11533 (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
11534 (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
11535 (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
11536 (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
11537 (otf_gstring, gstring, m17n_flt_initialized): New variables.
11538
11539 * w32term.c (x_draw_composite_glyph_string_foreground):
11540 Adjust for the change of lispy gstring.
11541
11542 * xdisp.c (handle_composition_prop): Adjust for the change of
11543 lispy gstring. Call a function for auto-composition with the
11544 third arg it->window.
11545 (fill_composite_glyph_string): Adjust for the change of lispy string.
11546 (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
11547
11548 * xfaces.c (set_font_frame_param): Adjust for the change of
11549 font_find_for_lface.
11550
11551 * xfont.c (x_font_charset_alist): Move to font.c and rename.
11552 (xfont_registry_charsets): Likewise. Change caller.
11553 (syms_of_xfont): Don't handle x_font_charset_alist.
11554
11555 * xftfont.c: Include "ftfont.h".
11556 (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
11557 (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
11558 (xftfont_close) [HAVE_LIBOTF]: Close otf.
11559 (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
11560 (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
11561 Set xftfont_driver.shape to xftfont_shape.
11562
11563 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
11564 the change of lispy gstring.
11565
115662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11567
11568 * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
11569
115702008-02-01 Jason Rumney <jasonr@gnu.org>
11571
11572 * w32font.c (w32font_draw): Fill background manually.
11573
115742008-02-01 Jason Rumney <jasonr@gnu.org>
11575
11576 * font.c (Qfontp): Remove unused symbol.
11577 (QCantialias): New symbol.
11578 (syms_of_font): Define it.
11579 (font_property_table): Set a validator for QCantialias.
11580
11581 * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
11582 Define if not already.
11583 (QCfamily): Share with xfaces.c.
11584 (Qstandard, Qsubpixel, Qnatural): New symbols.
11585 (syms_of_w32font): Define them. Don't define QCfamily here.
11586 (w32_antialias_type, lispy_antialias_type): New functions.
11587 (w32_enumfont_pattern_entity): New arg requested_font.
11588 Set antialias parameter if non-default was requested.
11589 (fill_in_logfont): Fill in lfQuality if :antialias specified.
11590
115912008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11592
11593 * lread.c (read1): Undo the previous change.
11594
115952008-02-01 CHENG Gao <chenggao@gmail.com> (tiny change)
11596
11597 * frame.c (Fdelete_frame): Call font_update_drivers only when
11598 USE_FONT_BACKEND is defined.
11599
116002008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11601
11602 * font.h (struct font_bitmap): New member bits_per_pixel.
11603 (struct font_driver): New members start_for_frame and end_for_frame.
11604 (struct font_data_list): New struct.
11605 (font_put_frame_data, font_get_frame_data): Extern them.
11606
11607 * frame.h (struct frame): New member font_data_list.
11608
11609 * font.c (font_update_drivers): Call driver->start_for_frame and
11610 driver->end_for_frame at proper timings.
11611 (font_put_frame_data, font_get_frame_data): New functions.
11612 (Ffont_spec): Add usage in the docstring.
11613
11614 * frame.c (make_frame): Initialize f->font_data_list to NULL.
11615 (Fdelete_frame): Call font_update_drivers.
11616
11617 * xftfont.c (struct xftface_info): Delete the member xft_draw.
11618 (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
11619 (xftfont_get_xft_draw): New function.
11620 (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
11621 (xftfont_end_for_frame): New function.
11622 (syms_of_xftfont): Set xftfont_driver.end_for_frame.
11623
11624 * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
11625 Change argument. Cache GCs in the per-frame data.
11626 (struct ftxfont_frame_data): New struct.
11627 (ftxfont_draw_bitmap): New arg gc_fore and flush.
11628 (ftxfont_prepare_face, ftxfont_done_face): Delete them.
11629 (ftxfont_draw): Get GCs by ftxfont_get_gcs. Reflect s->clip in GCs.
11630 (ftxfont_end_for_frame): New function.
11631 (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
11632
11633 * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
11634
116352008-02-01 Kenichi Handa <handa@m17n.org>
11636
11637 * xselect.c (Vselection_coding_system)
11638 (Vnext_selection_coding_system): Delete them.
11639 (syms_of_xselect): Don't declare selection-coding-system and
11640 next-selection-coding-system. They are declared in select.el.
11641
116422008-02-01 Jason Rumney <jasonr@gnu.org>
11643
11644 * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
11645
11646 * w32fns.c: Include imm.h.
11647 (get_composition_string_fn, get_ime_context_fn): New optional
11648 system functions.
11649 (globals_of_w32fns): Load them from imm32.dll.
11650 (ignore_ime_char): New flag.
11651 (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
11652 WM_IME_ENDCOMPOSITION messages.
11653
11654 * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
11655 MULTIBYTE_CHAR_KEYSTROKE_EVENT.
11656
116572008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11658
11659 * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
11660 (READCHAR_REPORT_MULTIBYTE): New macro.
11661 (readchar): New 2nd arg MULTIBYTE.
11662 (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
11663 Make symbol's name multibyte according to the multibyteness of the
11664 source.
11665
116662008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11667
11668 * xfaces.c (face_for_overlay_string): Call lookup_face with
11669 correct arguments (fix of synching with the trunk).
11670
116712008-02-01 Kenichi Handa <handa@m17n.org>
11672
11673 * font.c (font_prop_validate_symbol, font_prop_validate_style)
11674 (font_prop_validate_non_neg, font_prop_validate_spacing):
11675 Delete argument prop_index.
11676 (font_property_table): Change arguments to validater. Change Callers.
11677 (font_lispy_object): Delete.
11678 (font_at): Use font_find_object instead fo font_lispy_object.
11679
116802008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
11681
11682 * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
11683 and file names.
11684
116852008-02-01 Jason Rumney <jasonr@gnu.org>
11686
11687 * w32font.c (add_font_name_to_list): Avoid vertical fonts.
11688 (font_matches_spec): Remove debug output.
11689 (add_font_entity_to_list): Avoid using substituted fonts.
11690
116912008-02-01 Jason Rumney <jasonr@gnu.org>
11692
11693 * doc.c (Fsnarf_documentation):
11694 * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
11695
116962008-02-01 Miles Bader <miles@gnu.org>
11697
11698 * dispextern.h (struct glyph_row): Only define "clip" field if
11699 HAVE_WINDOW_SYSTEM is defined.
11700
117012008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11702
11703 Fix up multi-tty merge.
11704
11705 * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
11706 and indentation.
11707
11708 * xfaces.c (free_realized_face, clear_face_gcs):
11709 Include font_done_for_face in the input_blocked section, just in case.
11710
11711 * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
11712 (get_char_face_and_encoding): Undo last change and remove the *other*
11713 duplicate definition (i.e. keep the one that's better scoped and that
11714 includes code for the font-backend).
11715
11716 * terminal.c (create_terminal): Default keyboard_coding to
11717 `no-conversion' and terminal_coding to `undecided'.
11718
11719 * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
11720
11721 * fontset.c (free_realized_fontsets): Check that the table entry does
11722 contain a fontset before trying to compare it to `base'.
11723
11724 * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
11725 syms_of_charset, and syms_of_coding earlier because init_window_once
11726 now needs Vcoding_system_hash_table to be setup.
11727
11728 * coding.h (default_buffer_file_coding): Remove.
11729
11730 * coding.c (default_buffer_file_coding): Remove.
11731 (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
11732 than ->symbol, and use the terminal-local coding system.
11733 (syms_of_coding): Don't setup the coding-systems that are not
11734 terminal-local.
11735 (Fdefine_coding_system_internal): Use XCAR/XCDR.
11736
11737 * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
11738 Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
11739
11740 * alloc.c (Fmake_char_table, make_sub_char_table): Remove. They're now
11741 in chartab.c and were re-added here by mistake.
11742 (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
11743
11744 * doc.c (Fsnarf_documentation):
11745 * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
11746 src to etc.
11747
11748 * ChangeLog.10: Add mistakenly removed entry.
11749
117502008-02-01 Dan Nicolaescu <dann@ics.uci.edu>
11751
11752 * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
11753
117542008-02-01 Miles Bader <miles@gnu.org>
11755
11756 * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
11757 Add extra args to FACE_FOR_CHAR.
11758
117592008-02-01 Kenichi Handa <handa@m17n.org>
11760
11761 * keymap.c (where_is_internal_1): If key is a cons, store the copy
11762 in sequence.
11763
11764 * chartab.c (map_sub_char_table, map_char_table): If the range
11765 contains just one character, call the function with that character
11766 even if the depth is not 3.
11767
117682008-02-01 Jason Rumney <jasonr@gnu.org>
11769
11770 * w32font.c (w32font_text_extents): Calculate metrics for the
11771 whole string.
11772
117732008-02-01 Jason Rumney <jasonr@gnu.org>
11774
11775 * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
11776
117772008-02-01 Jason Rumney <jasonr@gnu.org>
11778
11779 * w32term.c (x_set_glyph_string_clipping): Use
11780 get_glyph_string_clip_rects.
11781 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
11782 Adjust for the change of struct glyph_string.
11783
11784 * w32font.c (w32font_draw): Do clipping here.
11785
117862008-02-01 Kenichi Handa <handa@m17n.org>
11787
11788 * xftfont.c (xftfont_draw): Adjust for the change of struct
11789 glyph_string.
11790
11791 * xterm.c (x_set_glyph_string_clipping): Use
11792 get_glyph_string_clip_rects.
11793 (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
11794 Adjust for the change of struct glyph_string.
11795
11796 * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
11797 the resulting clip(s}.
11798 (expose_overlaps): Add arg r. Change callers. Set it to
11799 row->clip temporarily.
11800 (expose_window): Redraw rows overlapping the exposed area.
11801
11802 * dispextern.h (struct glyph_row): New member clip.
11803 (struct glyph_string): Delete members clip_x, clip_y, clip_width,
11804 clip_height, new member clip, and num_clips.
11805
118062008-02-01 Kenichi Handa <handa@m17n.org>
11807
11808 * data.c (Fchar_or_string_p): Fix docstring.
11809
118102008-02-01 Kenichi Handa <handa@m17n.org>
11811
11812 * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
11813 create a temporary XftDraw object.
11814
118152008-02-01 Kenichi Handa <handa@m17n.org>
11816
11817 * font.c (Ffontp): Fix docstring.
11818
11819 * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
11820 strong evidence of ISO-2022.
11821
118222008-02-01 Kenichi Handa <handa@m17n.org>
11823
11824 * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
11825 SYNTAX_ENTRY_FOLLOW_PARENT.
11826
118272008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
11828
11829 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
11830 its type.
11831 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
11832 Update to the new type of weak_hash_tables and next_weak.
11833
11834 * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
11835 a plain C pointer to Lisp_Hash_Table.
11836
11837 * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
11838 (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
11839 (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
11840 (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
11841 (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
11842 (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
11843 (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
11844 (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
11845 (GC_EQ): Remove since they've been identical to their non-GC_
11846 alter-egos ever since the markbit was eradicated.
11847
11848 * alloc.c:
11849 * buffer.c:
11850 * buffer.h:
11851 * data.c:
11852 * fileio.c:
11853 * filelock.c:
11854 * fns.c:
11855 * frame.h:
11856 * lisp.h:
11857 * macterm.c:
11858 * print.c:
11859 * process.c:
11860 * w32fns.c:
11861 * w32menu.c:
11862 * w32term.c:
11863 * xfns.c:
11864 * xmenu.c:
11865 * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
11866
118672008-02-01 Kenichi Handa <handa@m17n.org>
11868
11869 * chartab.c (map_sub_char_table): Make it work for the top-level
11870 char-table. Fix handling of parent char-table.
11871 (map_char_table): Adjust for the above change.
11872
118732008-02-01 Jason Rumney <jasonr@gnu.org>
11874
11875 * w32font.c (Qgdi): Rename from Qw32.
11876
118772008-02-01 Jason Rumney <jasonr@gnu.org>
11878
11879 * w32bdf.c (get_quoted_string): Make function static.
11880
118812008-02-01 Kenichi Handa <handa@m17n.org>
11882
11883 * xftfont.c (xftfont_open): If one of font's ASCII glyph has
11884 bigger ascent and descent than those of the font, use them as
11885 font's ascent and descent.
11886
118872008-02-01 Kenichi Handa <handa@m17n.org>
11888
11889 * Makefile.in (${lispsource}international/charprop.el): Move this
11890 target within "#ifdef HAVE_UNIDATA" and "#endif".
11891
118922008-02-01 Kenichi Handa <handa@m17n.org>
11893
11894 * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
11895 (shortlisp): Add ../lisp/language/tai-viet.el.
11896
118972008-02-01 Ulrich Mueller <ulm@gentoo.org>
11898
11899 * Makefile.in (${lispsource}international/charprop.el): Depend on
11900 temacs${EXEEXT}.
11901
119022008-02-01 Jason Rumney <jasonr@gnu.org>
11903
11904 * w32font.c (w32font_close): Delete the GDI font object.
11905
11906 * w32menu.c: Include character.h.
11907
11908 * w32proc.c: Likewise.
11909
11910 * w32select.c: Likewise.
11911
11912 * makefile.w32-in (w32proc.o): Depend on character.h.
11913
119142008-02-01 Jason Rumney <jasonr@gnu.org>
11915
11916 * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
11917
11918 * w32menu.c (syms_of_w32menu): Likewise.
11919
11920 * w32proc.c (syms_of_ntproc): Likewise.
11921
11922 * w32select.c (syms_of_w32select): Likewise.
11923
11924 * w32term.c (syms_of_w32term): Likewise.
11925
119262008-02-01 Jason Rumney <jasonr@gnu.org>
11927
11928 * w32font.c (w32font_draw): Delete brush after using it.
11929
119302008-02-01 Jason Rumney <jasonr@gnu.org>
11931
11932 * w32font.c (w32font_open): Don't set font_idx.
11933 (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
11934 to font settings.
11935 (w32font_draw): Fill background explicitly.
11936
119372008-02-01 Jason Rumney <jasonr@gnu.org>
11938
11939 * w32term.c (w32_initialize): Don't call w32font_initialize.
11940
11941 * w32font.c (w32font_info): Remove subranges.
11942 (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
11943 (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
11944 (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
11945 (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
11946 (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
11947 (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
11948 (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
11949 (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
11950 (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
11951 (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
11952 New symbols.
11953 (font_callback_data): New struct.
11954 (w32font_list, w32font_match): Use it.
11955 (w32font_open): Don't populate subranges.
11956 (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
11957 (w32font_encode_char): Always return unicode code-point as-is.
11958 (w32font_text_extents): Supply a transformation matrix to
11959 GetGlyphOutline. Never look up by glyph index. Avoid looping
11960 twice. Use unicode version of GetTexExtentPoint32 instead of
11961 glyph index version.
11962 (set_fonts_frame): Remove.
11963 (w32_enumfont_pattern_entity): Add frame parameter, use it to
11964 set frame parameter. Use backward compatible fake foundries.
11965 Save generic family in extra slot under QCfamily. Make width slot
11966 constant. Save QCspacing value. Save list of scripts instead of
11967 binary subranges.
11968 (w32_generic_family, logfonts_match, font_matches_spec): New functions.
11969 (add_font_entity_to_list): Use font_callback_data struct. Filter
11970 unwanted fonts.
11971 (add_one_font_entity_to_list): Use font_callback_data struct.
11972 (w32_registry): Default to iso10646_1.
11973 (fill_in_logfont): Use dpi from extra slot. Don't bother with
11974 string font registries. Don't fill in font name if it is a generic
11975 family name, fill family instead. Use spacing, family and script
11976 extra info to fill pitch, family and charset fields.
11977 (list_all_matching_fonts): Use font_callback_data struct.
11978 (unicode_range_for_char): Remove.
11979 (font_supported_scripts): New function.
11980 (w32font_initialize): Remove.
11981 (syms_of_w32font): Update which symbols are defined.
11982
119832008-02-01 Jason Rumney <jasonr@gnu.org>
11984
11985 * font.c (font_pixel_size): Reverse assq_no_quit args.
11986
11987 * w32term.h (FONT_WIDTH): Report max width, not average.
11988 (FONT_MAX_WIDTH): Remove.
11989 (FONT_AVG_WIDTH): New macro.
11990
11991 * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
11992 redefinition of FONT_WIDTH.
11993
11994 * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
11995 (w32_cache_char_metrics): Use FONT_WIDTH.
11996
11997 * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
11998
119992008-02-01 Jason Rumney <jasonr@gnu.org>
12000
12001 * w32font.c (w32font_open): Make lfHeight negative.
12002
12003 * w32fns.c (x_default_font_parameter): Use new style font name.
12004 (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
12005
120062008-02-01 Jason Rumney <jasonr@gnu.org>
12007
12008 * w32font.c (QCsubranges): New symbol.
12009 (w32font_open, w32font_has_char): Get subranges from subproperty
12010 of extra.
12011 (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
12012 (syms_of_w32font): Define :subranges symbol.
12013
12014 * font.c (font_put_extra): Expose externally.
12015
12016 * font.h (font_put_extra): Move declaration from font.c.
12017
12018 * font.c (Ffont_get): Use font driver to determine otf capability.
12019 (adjust_anchor): Check if driver defines anchor_point before using.
12020
12021 * w32font.c (w32font_open): Handle size, height and pixel_size better.
12022 (w32font_draw): Use options.
12023 (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
12024 Fix detection of truetype fonts.
12025 (registry_to_w32_charset): Handle charsets other than iso8859-1
12026 expressed as lisp symbols.
12027 (w32_registry): Express charset as lisp symbol.
12028 (fill_in_logfont): Reverse pixel and point height logic.
12029 Don't set width here. Set quality to default.
12030
12031 * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
12032 (x_to_w32_font): Fill in lfPitchAndFamily correctly.
12033
12034 * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
12035 Remove redundant loop and allocation.
12036
12037 * makefile.w32-in (font.o, w32font.o): New objects.
12038 (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
12039 (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
12040
12041 * xdisp.c (fill_composite_glyph_string): Make the first arg to
12042 STORE_XCHARB a valid l-value.
12043
12044 * w32term.c (w32_native_per_char_metric): Swap width and rbearing
12045 calculations for non-Truetype fonts.
12046 (x_draw_glyph_string): Sync with xterm.c.
12047 (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
12048 Remove redundant code.
12049 (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
12050
12051 * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
12052 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
12053
12054 * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
12055 (x_to_w32_charset, w32_to_x_charset): Expose externally.
12056
12057 * w32font.c: New file for w32 font backend.
12058
120592008-02-01 Kenichi Handa <handa@m17n.org>
12060
12061 * term.c: Don't include "buffer.h" twice.
12062
120632008-02-01 Kenichi Handa <handa@m17n.org>
12064
12065 * character.c (Funibyte_string): New function.
12066 (syms_of_character): Defsubr it.
12067
120682008-02-01 Jason Rumney <jasonr@gnu.org>
12069
12070 * w32term.c [USE_FONT_BACKEND]:
12071 (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
12072 (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
12073 (x_draw_glyph_string, x_draw_glyph_string_foreground)
12074 (x_draw_composite_glyph_string_foreground, x_new_fontset2)
12075 (x_free_frame_resources): Sync with xterm.c.
12076
120772008-02-01 Andreas Schwab <schwab@suse.de>
12078
12079 * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
12080 char-table size.
12081
120822008-02-01 Kenichi Handa <handa@m17n.org>
12083
12084 * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
12085
120862008-02-01 Kenichi Handa <handa@m17n.org>
12087
12088 * ftfont.c (ftfont_driver): Delete font_otf_gsub and
12089 font_otf_gpos, add font_drive_otf.
12090
12091 * fontset.c (fontset_find_font): Pay attention to font size
12092 specified for a font.
12093 (reorder_font_vector): Check contents of font_def.
12094
12095 * font.c (struct otf_list): Delete it.
12096 (otf_list): Make it a lisp variable.
12097 (otf_open): Use lispy otf_list.
12098 (generate_otf_features): Rename from parse_gsub_gpos_spec.
12099 (check_otf_features): New function.
12100 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
12101 New functions.
12102 (font_drive_otf): New function merging font_otf_gsub and
12103 font_otf_gpos.
12104 (font_open_for_lface): New arg spec. Change argument order.
12105 (font_load_for_face): Adjust for the change of font_open_for_lface.
12106 (Ffont_drive_otf): New function merging Ffont_otf_gsub and
12107 Ffont_otf_gpos.
12108 (syms_of_font): Staticpro otf_list. Delete defsubr of
12109 Sfont_otf_gsub and Sfont_otf_gpos. Defsubr Sfont_drive_otf.
12110
12111 * xfaces.c (set_font_frame_param): Adjust for the change of
12112 font_open_for_lface.
12113
12114 * font.h (font_open_for_lface): Adjust prototype.
12115 (struct font_driver): Delete members otf_gsub and otf_gpos, add
12116 member otf_drive.
12117 (font_otf_gsub, font_otf_gpos): Delete externs.
12118 (font_drive_otf): Extern it.
12119
121202008-02-01 Kenichi Handa <handa@m17n.org>
12121
12122 * font.c (font_at): If the window W is not on a window system,
12123 return Qnil.
12124
12125 * coding.c (produce_chars, encode_coding): Don't call
12126 insert_from_gap if no characters to produce.
12127
121282008-02-01 Kenichi Handa <handa@m17n.org>
12129
12130 * fontset.c (free_realized_fontsets): Avoid unnecessary call of
12131 Fclear_face_cache.
12132
12133 * xfaces.c (face_for_font): Check also face->font==font->font.font.
12134
121352008-02-01 Miles Bader <miles@gnu.org>
12136
12137 * emacs.c (main): Change default value of `enable_font_backend' to 1.
12138 Parse "--disable-font-backend" option.
12139 (standard_args): Add "--disable-font-backend" option.
12140
121412008-02-01 Kenichi Handa <handa@m17n.org>
12142
12143 * fontset.c (fontset_find_font): New function.
12144 (fontset_font): Use fontset_find_font.
12145 (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
12146 Register the specified font for all Latin characters.
12147 (new_fontset_from_font): Register the specified font for all Latin
12148 characters.
12149 (dump_fontset): For a realized fontset, include the base fontset
12150 name in the returned vector.
12151
121522008-02-01 Kenichi Handa <handa@m17n.org>
12153
12154 * character.h (CHAR_STRING): Cast C to unsigned on calling
12155 char_string.
12156
12157 * character.c (char_string): Type of arg C changed to unsigned.
12158 Signal an error if C is an invalid character code.
12159
12160 * editfns.c (general_insert_function, Fchar_to_string):
12161 Use CHARACTERP, not INTEGERP.
12162
121632008-02-01 Kenichi Handa <handa@m17n.org>
12164
12165 * character.h (MIN_MULTIBYTE_LEADING_CODE)
12166 (MAX_MULTIBYTE_LEADING_CODE): New macros.
12167
12168 * regex.c (analyse_first): Fix for multibyte characters in "case
12169 charset:" and "case categoryspec:".
12170
121712008-02-01 Andreas Schwab <schwab@suse.de>
12172
12173 * Makefile.in (LIBES): Move standard libraries to the end.
12174
121752008-02-01 Kenichi Handa <handa@m17n.org>
12176
12177 * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
12178 nonzero, don't shrink the buffer nextb.
12179
12180 * buffer.h (struct buffer_text): New member inhibit_shrinking.
12181
12182 * coding.c (coding_alloc_by_making_gap): New arg offset.
12183 (alloc_destination): Call coding_alloc_by_making_gap with the arg
12184 offset.
12185 (decode_coding_iso_2022): Update coding->safe_charsets.
12186 (decode_coding_gap): Temporarily set
12187 current_buffer->text->inhibit_shrinking to 1.
12188
121892008-02-01 Kenichi Handa <handa@m17n.org>
12190
12191 * xterm.c (x_draw_composite_glyph_string_foreground): Fix
12192 indexing into elements of s->cmp and s->char2b.
12193
121942008-02-01 Juanma Barranquero <lekktu@gmail.com>
12195
12196 * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
12197
121982008-02-01 Kenichi Handa <handa@m17n.org>
12199
12200 * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
12201 target_multibyte instead of multibyte.
12202 (re_match_2_internal): Call bcmp_translate with target_multibyte.
12203 (bcmp_translate): Change the argument name from multibyte to
12204 target_multibyte.
12205
122062008-02-01 Kenichi Handa <handa@m17n.org>
12207
12208 These changes are to compile a regexp into a pattern that can be
12209 used both for multibyte and unibyte targets.
12210
12211 * Makefile.in (search.o): Depend on charset.h.
12212
12213 * character.c (multibyte_char_to_unibyte_safe): New function.
12214
12215 * search.c: Include "charset.h".
12216 (compile_pattern_1): Delete argument multibyte. Don't set
12217 cp->buf.target_multibyte here. Set cp->buf.charset_unibyte.
12218 (compile_pattern): Don't compare cp->buf.target_multibyte.
12219 Compare cp->buf.charset_unibyte.
12220 (compile_pattern): Set cp->buf.target_multibyte.
12221
12222 * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
12223
12224 * regex.h (struct re_pattern_buffer): New member charset_unibyte.
12225
12226 * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
12227 multibyte. Change callers.
12228 (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
12229 (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete. Change callers
12230 to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
12231 (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
12232 (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
12233 (regex_compile): Make the compiled pattern usable both for
12234 multibyte and unibyte targets.
12235 (analyse_first): Make the fastmap usable both for multibyte and
12236 unibyte targets.
12237 (TRANSLATE_VIA_MULTIBYTE): Delete.
12238 (re_match_2_internal): Pay attention to the case that the
12239 multibyteness of bufp and target may be different.
12240
122412008-02-01 Kenichi Handa <handa@m17n.org>
12242
12243 * xdisp.c (x_produce_glyphs): When a font is not found, make the
12244 empty box occupy at least one column width.
12245
122462008-02-01 Miles Bader <miles@gnu.org>
12247
12248 * Makefile.in: Remove redundant HAVE_XFT clause.
12249
122502008-02-01 Kenichi Handa <handa@m17n.org>
12251
12252 * xrdb.c (x_load_resources): Setup the default fontSet X resource.
12253
122542008-02-01 Kenichi Handa <handa@m17n.org>
12255
12256 * fontset.c (Finternal_char_font): Fix for the case of POSITION
12257 being nil.
12258
122592008-02-01 Kenichi Handa <handa@m17n.org>
12260
12261 * xftfont.c (xftfont_open): Call FcConfigSubstitute.
12262
122632008-02-01 Kenichi Handa <handa@m17n.org>
12264
12265 * xftfont.c (xftfont_open): Don't enable antialias explicitly.
12266
122672008-02-01 Kenichi Handa <handa@m17n.org>
12268
12269 * search.c (simple_search): Fix previous change.
12270
122712008-02-01 Kenichi Handa <handa@m17n.org>
12272
12273 * xftfont.c (ftfont_font_format): Extern declaration.
12274
12275 * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
12276
12277 * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
12278 (xfont_list): Don't directly use Lisp_Object as an operand of &&.
12279
12280 * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
12281 (ftfont_font_format): Fix previous change.
12282
12283 * font.h (Ffont_xlfd_name): EXFUN it.
12284
12285 * font.c (font_parse_xlfd): Fix the array size of `f'.
12286 (register_font_driver): Use EQ to compare driver->type.
12287
12288 * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
12289 (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
12290 (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
12291
122922008-02-01 Kenichi Handa <handa@m17n.org>
12293
12294 * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
12295 (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
12296
122972008-02-01 Kenichi Handa <handa@m17n.org>
12298
12299 * xfont.c (xfont_open): Set font->format.
12300
12301 * xftfont.c (xftfont_open): Set font->format.
12302
12303 * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
12304 (ftfont_list): Include FC_FONTFORMAT in FcObject.
12305 (ftfont_open): Set font->format.
12306 (ftfont_font_format): New function.
12307
12308 * font.h (struct font): New member format.
12309
12310 * font.c (Qopentype): New variable.
12311 (syms_of_font): Defsym it.
12312 (Fquery_font): Change the format of the last element of the return
12313 value.
12314
123152008-02-01 Kenichi Handa <handa@m17n.org>
12316
12317 * xfns.c (xic_create_xfontset): Try the default fontset name as a
12318 last resort.
12319
123202008-02-01 Kenichi Handa <handa@m17n.org>
12321
12322 * coding.c (detect_coding_charset): Fix detection of multi-byte
12323 charset.
12324
123252008-02-01 Bob Halley <halley@play-bow.org> (tiny change)
12326
12327 * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
12328
123292008-02-01 Kenichi Handa <handa@m17n.org>
12330
12331 * xdisp.c (get_next_display_element): Set it->face_id for the
12332 first component of a composition.
12333 (x_produce_glyphs): Check if the font is changed or not for composition.
12334
123352008-02-01 Kenichi Handa <handa@m17n.org>
12336
12337 * fontset.c (Qlatin): New variable.
12338 (syms_of_fontset): Define it as a lisp symbol.
12339 (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
12340
123412008-02-01 Kenichi Handa <handa@m17n.org>
12342
12343 * font.c (font_unparse_fcname): Pay attention to the case that
12344 some of font property is a null string.
12345
123462008-02-01 Kenichi Handa <handa@m17n.org>
12347
12348 * term.c: Include "composite.h".
12349 (encode_terminal_code): Output all components of composition.
12350 Check the size of encode_terminal_src.
12351 (produce_glyphs): For composition, call produce_composite_glyph.
12352 (append_composite_glyph, produce_composite_glyph): New functions.
12353
12354 * xdisp.c (x_produce_glyphs): In handling composition, if a font
12355 is not found, get font_info from the current ascii face.
12356
123572008-02-01 Kenichi Handa <handa@m17n.org>
12358
12359 * fileio.c (Finsert_file_contents): On replacing, temporarily bind
12360 buffer-file-name to Qnil before calling insert_from_buffer.
12361
12362 * font.c (font_unparse_fcname): Pay attention to the case that
12363 foundry is a null string.
12364
123652008-02-01 Kenichi Handa <handa@m17n.org>
12366
12367 * ftfont.c (ftfont_list): Allow registry "unicode-sip".
12368
12369 * font.c (Qunicode_sip): New variable.
12370 (syms_of_font): Declare it as a Lisp symbol.
12371
12372 * font.h (Qunicode_sip): Extern it.
12373
123742008-02-01 Kenichi Handa <handa@m17n.org>
12375
12376 * composite.c (get_composition_id): Pay attention to TAB component.
12377
12378 * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
12379 TAB. Adjust for the change of s->char2b which always points to
12380 the first element of allocated memory.
12381
12382 * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
12383
12384 * xdisp.c (handle_composition_prop): Set it->c to the first
12385 non-TAB component.
12386 (fill_composite_glyph_string): Change argument.
12387 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
12388 (x_produce_glyphs): Fix handling of left/right padding.
12389
123902008-02-01 Kenichi Handa <handa@m17n.org>
12391
12392 * coding.c (detect_coding_system): Fix for handling off
12393 inhibit_iso_escape_detection. Fix for the case that no coding
12394 system is defined for a specific coding category.
12395
123962008-02-01 Kenichi Handa <handa@m17n.org>
12397
12398 * font.c (font_matching_entity): Delete unused local var.
12399
12400 * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
12401 opening a font.
12402
12403 * fileio.c (Finsert_file_contents): On recovering a file, assume
12404 Unix-like eol.
12405 (choose_write_coding_system): On auto-saving a file, force
12406 Unix-like eol.
12407
12408 * coding.c (setup_coding_system): Fix setting of
12409 coding->common_flags based on eol_type.
12410 (coding_inherit_eol_type): If PARENT is not nil, be sure to
12411 inherit from it.
12412
124132008-02-01 Kenichi Handa <handa@m17n.org>
12414
12415 * alloc.c (NSTATICS): Increas to 0x600.
12416
124172008-02-01 Kenichi Handa <handa@m17n.org>
12418
12419 * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
12420 (ftfont_list): Don't check :name property.
12421 (ftfont_match): New function.
12422 (ftfont_pattern_entity): If the pattern doesn't contain
12423 FC_SPACING, don't assume FC_MONO.
12424
12425 * font.h (struct font_driver): New member `match'.
12426 (font_update_drivers): Adjust prototype.
12427
12428 * font.c (font_parse_fcname, font_parse_name): Don't change :name
12429 property of FONT.
12430 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
12431 them unconditionally.
12432 (font_matching_entity): New function.
12433 (font_open_by_name): Try font_matching_entity if exact match is
12434 not found.
12435 (font_update_drivers): Delete the arg FONT. Return a list of
12436 actually used backends. Don't free faces, font caches here.
12437 Don't store data in frame parameters. Don't call x_set_font.
12438 (Ffont_spec): Store :name property as is.
12439 (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
12440 (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
12441 (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
12442 (Ffont_otf_alternates): Check if the driver has otf_gsub function.
12443 Call font->driver->otf_gsub instead of font_otf_gsub.
12444
12445 * frame.c (x_set_font_backend): Do more works that were done in
12446 font_update_drivers before.
12447
12448 * xfont.c (xfont_match): New function.
12449 (xfont_driver): Set xfont_driver.match to xfont_match.
12450 (xfont_draw): Set font in GC if necessary.
12451
12452 * ftxfont.c (ftxfont_match): New function.
12453 (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
12454
12455 * xftfont.c (xftfont_match): New function.
12456 (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
12457
124582008-02-01 Kenichi Handa <handa@m17n.org>
12459
12460 * font.h (struct font): New member scalable.
12461 (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
12462 (font_otf_gsub): Adjust prototype.
12463
12464 * font.c (font_otf_capability): Fix handling of the default langsys.
12465 (parse_gsub_gpos_spec): Change type to void. New arg nbytes.
12466 Check the contents of SPEC.
12467 (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
12468 (check_gstring): New function.
12469 (REPLACEMENT_CHARACTER): New macro.
12470 (font_otf_gsub): New arg alternate_subst. Be sure to set all
12471 glyph codes of GSTRING.
12472 (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
12473 (font_prepare_composition): Set cmp->glyph_len.
12474 (font_open_entity): Set font->scalable.
12475 (Ffont_get): Handle :otf property.
12476 (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
12477 functions.
12478 (Fquery_font): Use font->font.full_name.
12479 (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
12480 Sfont_otf_alternates.
12481
12482 * ftfont.c (ftfont_open): Set font->font.full_name and
12483 font->font.name properly. Fix calculation of font->font.height
12484 and font->min_width.
12485
12486 * ftxfont.c (ftxfont_create_gcs): New function.
12487 (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
12488 (ftxfont_draw_backgrond): Fix filling region.
12489 (ftxfont_default_fid): New function.
12490 (ftxfont_open): Set xfont->fid to the return value of
12491 ftxfont_default_fid.
12492 (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
12493 (ftxfont_done_face): Free only GCs that are created by
12494 ftxfont_create_gcs.
12495 (ftxfont_draw): If face->gc != s->gc, create proper GCs.
12496
12497 * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
12498 Clip to src->width, etc (not src->clip_XXX).
12499
12500 * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
12501 FontBackend frame parameter.
12502
125032008-02-01 Kenichi Handa <handa@m17n.org>
12504
12505 * font.h (struct font_driver_list): New member `on'.
12506 (Fclear_font_cache): EXFUN it.
12507 (font_update_drivers): Extern it.
12508
12509 * font.c (font_unparse_fcname): Fix typo (swidth->width).
12510 (font_list_entities): Check driver_list->on.
12511 (register_font_driver): Initalize `on' member to 0.
12512 (font_update_drivers): New function.
12513 (Fclear_font_cache): Check driver_list->on.
12514
12515 * frame.h (Qfont_backend): Extern it.
12516 (x_set_font_backend): Extern it.
12517
12518 * frame.c (Qfont_backend): New variable.
12519 (frame_parms): New element for font-backend.
12520 (x_set_font_backend): New function.
12521
12522 * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
12523 FontBackend frame parameter.
12524 (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
12525 x_set_font_backend.
12526
12527 * xfont.c (xfont_list): Don't try listing by :name property if the
12528 name is not for XLFD.
12529
125302008-02-01 Kenichi Handa <handa@m17n.org>
12531
12532 * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
12533 (LGLYPH_SET_TO): New macros.
12534 (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
12535 element of G is vector or not.
12536 (font_at): Extern it.
12537
12538 * font.c: Include window.h.
12539 (font_lispy_object): New function.
12540 (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
12541 end of valid glyph.
12542 (font_close_object): Fix getting (struct font *).
12543 (font_at): New function.
12544 (Ffont_get): If FONT is a font-object, get entity from it.
12545 (Ffont_make_gstring): Initialize elements of glyphs with nil.
12546 (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX. Fix
12547 range check.
12548 (Ffont_at): New function.
12549 (syms_of_font): Defsubr Sfont_at.
12550
12551 * xdisp.c (it_props): Move the entry for Qauto_composed to just
12552 before the entry for Qcomposition.
12553 (handle_auto_composed_prop): Call auto-composition-function with 4 args.
12554 (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
12555 the font in gstring.
12556 (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
12557 LGLYPH_FORM (g) to detect the end of valid glyph.
12558 (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
12559 we are composing with gstring.
12560
12561 * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
12562 Check if adjustment is vector or not.
12563
12564 * Makefile.in (font.o): Make it depends on window.h.
12565
125662008-02-01 Kenichi Handa <handa@m17n.org>
12567
12568 * xterm.c (x_draw_composite_glyph_string_foreground): Check if
12569 adjustment is vector or not.
12570
125712008-02-01 Miles Bader <miles@gnu.org>
12572
12573 * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
12574
125752008-02-01 Kenichi Handa <handa@m17n.org>
12576
12577 * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
12578 (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
12579 (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
12580
12581 * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
12582 (DEVICE_DELTA): Fix typo.
12583 (font_otf_gpos, font_prepare_compositio): Adjust for the change of
12584 LGLYPH format.
12585
12586 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
12587 the change of LGLYPH format.
12588
125892008-02-01 Kenichi Handa <handa@m17n.org>
12590
12591 * ftfont.c (ftfont_list): Fix typo.
12592 (ftfont_build_basic_charsets): Don't include letters with diacritics.
12593
125942008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12595
12596 * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
12597
12598 * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
12599 xftface_info is non-NULL.
12600
126012008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12602
12603 * ftfont.c (ftfont_list): Move misplaced #endif.
12604
126052008-02-01 Kenichi Handa <handa@m17n.org>
12606
12607 * ftfont.c (ftfont_list): Pay attention to the case that
12608 FC_CAPABILITY is not defined.
12609
126102008-02-01 Kenichi Handa <handa@m17n.org>
12611
12612 * xftfont.c (xftfont_open): Set charset related members to -1.
12613
12614 * ftfont.c (ftfont_list): Handle QCotf property. Fix handling of
12615 QCname.
12616 (ftfont_open): Set charset related members to -1.
12617
12618 * fontset.c (Votf_script_alist): New variable.
12619 (syms_of_fontset): Initialize it.
12620 (fontset_font): Delete unused variable.
12621
12622 * fontset.h (Votf_script_alist): Extern it.
12623
12624 * font.c (font_find_for_lface): Optimize code.
12625
12626 * font.h (font_close_object, font_merge_old_spec): Extern them.
12627
126282008-02-01 Kenichi Handa <handa@m17n.org>
12629
12630 * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
12631 (syms_of_font): Initialize them.
12632 (font_pixel_size): Allow float value in dpi.
12633 (font_prop_validate_type): Delete.
12634 (font_prop_validate_symbol, font_prop_validate_style): Change argument.
12635 Change caller.
12636 (font_prop_validate_non_neg): Rename from font_prop_validate_size.
12637 (font_prop_validate_extra): Delete.
12638 (font_prop_validate_spacing): New function.
12639 (font_property_table): Add elements for all known properties.
12640 (get_font_prop_index): Rename from check_font_prop_name. New
12641 argument FROM. Change caller.
12642 (font_prop_validate): Validate all known properties.
12643 (font_put_extra): Delete argument force. Change caller.
12644 (font_expand_wildcards): Make it static. Fix the way of shrinking
12645 the possible range.
12646 (font_parse_xlfd): Delete argument merge. Fix handling of RESX,
12647 RESY, SPACING, and AVGWIDTH. Don't validate property values here.
12648 Change caller.
12649 (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
12650 (font_parse_fcname): Delete argument merge. Fix parsing of point
12651 size. Don't validate properties values here. Change caller.
12652 (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
12653 (font_open_by_name): Delete unused variable.
12654 (Ffont_spec): Likewise. Validate property values.
12655 (Ffont_match_p): New function.
12656
12657 * font.h (QCscalable): Extern it.
12658 (font_parse_xlfd, font_parse_fcname): Adjust prototype.
12659
12660 * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
12661
12662 * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
12663 (xfont_list_pattern): New function.
12664 (xfont_list): Use xfont_list_pattern.
12665
126662008-02-01 Kenichi Handa <handa@m17n.org>
12667
12668 * font.h (Flist_fonts): EXFUN it.
12669
126702008-02-01 Jason Rumney <jasonr@gnu.org>
12671
12672 * w32term.c (w32_initialize): Add back smoothing_type and
12673 smoothing_enabled definitions.
12674
126752008-02-01 Kenichi Handa <handa@m17n.org>
12676
12677 * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
12678 s->face->font on determining underline position.
12679
126802008-02-01 Kenichi Handa <handa@m17n.org>
12681
12682 * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
12683 (font_has_char): Accept font-object too.
12684 (font_find_for_lface): Try at first with a size specified in face.
12685
126862008-02-01 Kenichi Handa <handa@m17n.org>
12687
12688 * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
12689 font_open_by_name.
12690
126912008-02-01 Kenichi Handa <handa@m17n.org>
12692
12693 * font.h (QCspacing, QCdpi): Extern them.
12694 (enum font_spacing): New enum.
12695 (FONT_PIXEL_SIZE_QUANTUM): New macro.
12696
12697 * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
12698 (QCspacing, QCdpi): New variables.
12699 (syms_of_font): Initialize them.
12700 (font_pixel_size): New function.
12701 (font_put_extra): New function.
12702 (font_parse_xlfd): Fix handling of font size. Add QCdpi property
12703 in FONT_EXTRA.
12704 (font_parse_fcname): Handle enumerated values (e.g. bold).
12705 Fix handling font size. Add QCname property that contains only
12706 unknown properties.
12707 (font_score): Change argument. Change caller. Pay attention to
12708 FONT_PIXEL_SIZE_QUANTUM.
12709 (font_sort_entites, font_list_entities, font_find_for_lface)
12710 (font_open_for_lface, font_open_by_name): Fix handling of font size.
12711 (Ffont_spec): Add QCname property that contains only unknown properties.
12712
12713 * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq. Don't
12714 include weight in listing pattern, instead check weight of each
12715 listed font. Don't include scalable in pattern. Pay attention to
12716 FONT_PIXEL_SIZE_QUANTUM.
12717
127182008-02-01 Kenichi Handa <handa@m17n.org>
12719
12720 * font.c (font_parse_fcname): Fix parsing of point-size.
12721 (font_unparse_fcname): Produce symbolic names for style properties.
12722 (font_list_entities): Handle float size correctly.
12723 (font_open_by_name): Prefer `normal' property values if the name
12724 doesn't specify them.
12725
12726 * fontset.c (Finternal_char_font): Use font_get_name, not
12727 Ffont_xlfd_name.
12728
12729 * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
12730 FC_WEIGHT_REGULAR. Exclude FC_SIZE and FC_PIXEL_SIZE from listing
12731 pattern. Don't force scalable.
12732
12733 * xftfont.c (xftfont_open): For generating a name, start from
12734 96-byte buffer.
12735
127362008-02-01 Jan Djärv <jan.h.d@swipnet.se>
12737
12738 * frame.h (x_new_fontset2): Fix prototype.
12739
127402008-02-01 Kenichi Handa <handa@m17n.org>
12741
12742 * font.h (struct font_driver): Delete member parse_name.
12743 (font_match_p, font_get_spec, font_parse_fcname)
12744 (font_unparse_fcname): Extern them.
12745 (font_get_name): Adjust prototype.
12746
12747 * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
12748 (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
12749 (font_expand_wildcards): Fix handling ENCODING field. Avoid
12750 unnecessary checks for weight, slant, and swidth.
12751 (font_parse_fcname): New function.
12752 (font_unparse_fcname): New function.
12753 (font_parse_name): New function.
12754 (font_match_p): New function.
12755 (font_get_name): Change return value to Lisp string.
12756 (font_get_spec): New function.
12757 (Qunspecified, Qignore_defface): Don't extern them.
12758 (font_find_for_lface): Assume that LFACE is fully specified.
12759 (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
12760 object, use it for FACE.
12761 (font_open_by_name): Call Ffont_spec with QCname prop. Don't call
12762 driver->parse_name.
12763 (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
12764
12765 * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
12766 prototype.
12767
12768 * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
12769 argument F. Don't call Fnew_fontset. Instead, directly call
12770 make_fontset.
12771
12772 * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
12773
12774 * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
12775 of x_new_fontset2.
12776
12777 * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
12778 (Qsans__serif): New variables.
12779 (ftfont_generic_family_list): New variable.
12780 (syms_of_ftfont): Initialize the above variables.
12781 (ftfont_pattern_entity): Delete argument NAME.
12782 (ftfont_list_generic_family): New function.
12783 (ftfont_parse_name): Delete this function.
12784 (ftfont_list): Try generic family only when FcFontList found no font.
12785 (ftfont_list_family): Fix args to FcObjectSetBuild.
12786
12787 * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
12788 object in attrs[LFACE_FONT_INDEX].
12789 (set_lface_from_font_name): Cancel all changes for font-backend.
12790 (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
12791 function.
12792 (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
12793 font object in QCfont attribute.
12794 (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
12795 (realize_default_face) [USE_FONT_BACKEND]: Call
12796 set_lface_from_font_and_fontset.
12797
12798 * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
12799 "fixed", and signal error here if no suitable font was found.
12800
12801 * xfont.c (xfont_parse_name): Delete this function.
12802
12803 * xftfont.c (xftfont_open): Change coding style of error
12804 handling. Generate fontconfig's fontname pattern.
12805
12806 * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
12807 (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
12808
12809 * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
12810 Both args FONTSET and FONT_OBJECT must be existing ones.
12811
128122008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
12813
12814 * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
12815
128162008-02-01 Kenichi Handa <handa@m17n.org>
12817
12818 * xfont.c (xfont_open, xfont_encode_char): Fix typo.
12819
12820 * font.h (struct font): Fix typo.
12821
12822 * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
12823 XLFD_XXX_INDEX.
12824 (enum xlfd_field_mask): New enum.
12825 (intern_font_field): Changed argument. Change caller. If digits
12826 are followed by non-digits, return a symbol.
12827 (font_expand_wildcards): New function.
12828 (font_parse_xlfd): Fix wildcard handling.
12829 (Ffont_spec): If :name is specified, reflect the info in the other
12830 properties.
12831
12832 * ftfont.c (ftfont_pattern_entity): Fix typo.
12833 (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
12834 locale.
12835
128362008-02-01 Kenichi Handa <handa@m17n.org>
12837
12838 * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
12839
12840 * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
12841 (font_unparse_xlfd): Fix argument type declaration. Append "*" if
12842 registry doesn't specify encoding part.
12843 (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
12844 (font_open_by_name): At first try parsing the name.
12845 (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
12846 as Lisp symbols.
12847
12848 * fontset.c (reorder_font_vector): Pay attention to the case that
12849 the 3rd element of font_def is nil.
12850 (fontset_font): For the default fontset, append one more fontset
12851 elements for a script-based font specification. Don't add script
12852 attribute on finding a font.
12853 (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
12854 font name.
12855 (fontset_ascii_font): If a font can't be opened, return nil.
12856
12857 * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
12858 (ftfont_pattern_entity): New function.
12859 (ftfont_get_cache): Assume that freetype_font_cache is already
12860 initialized.
12861 (ftfont_list): Handle the case that a file is specified in font
12862 name. Use ftfont_pattern_entity to generate entities.
12863 (ftfont_has_char): Check if the pattern contains FC_CHARSET.
12864 (syms_of_ftfont): Initialize freetype_font_cache.
12865
12866 * xftfont.c (xftfont_open): Make the font name fontconfig's
12867 style. Add BLOCK_INPUT and UNBLOCK_INPUT.
12868 (xftfont_close): Free font->font.name if not NULL.
12869
12870 * xfont.c (xfont_list): If script is specified for a font, return
12871 null_vector.
12872 (xfont_list_family): Declare argument type.
12873
12874 * xfaces.c (set_lface_from_font_name): If a font doesn't have a
12875 name, set LFACE_FONT (lface) to nil.
12876
12877 * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
12878 return Qnil.
12879
128802008-02-01 Kenichi Handa <handa@m17n.org>
12881
12882 * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
12883 (standard_args): Add "-enable-font-backend".
12884
128852008-02-01 Kenichi Handa <handa@m17n.org>
12886
12887 * xftfont.c (xftfont_default_fid): Set fid_known to 1.
12888 (struct xftdraw_list, xftdraw_list): Delete them.
12889 (register_xftdraw, check_xftdraw): Delete them.
12890 (xftfont_prepare_face): Don't call register_xftdraw.
12891 (xftfont_done_face): Don't call check_xftdraw.
12892 (xftfont_draw): Get background color only when with_background is
12893 nonzero.
12894
12895 * xfont.c (xfont_encode_char): Fix calculation of char2b.
12896
128972008-02-01 Kenichi Handa <handa@m17n.org>
12898
12899 These changes are for the new font handling codes.
12900
12901 * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
12902 @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
12903 (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
12904 (FONTSRC, FONTOBJ): New variables.
12905 (obj): Add $(FONTOBJ).
12906 (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
12907 (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
12908 @LIBOTF_LIBS@.
12909 (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
12910 (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
12911
12912 * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
12913
12914 * character.h (Vscript_representative_chars): Extern it.
12915
12916 * character.c (Vscript_representative_chars): New variable.
12917 (syms_of_character): Declare it as a Lisp variable.
12918
12919 * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
12920 enable_font_backend is nonzero, accept the composition method
12921 COMPOSITION_WITH_GLYPH_STRING.
12922
12923 * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
12924 enumeration COMPOSITION_WITH_GLYPH_STRING.
12925
12926 * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
12927 members clip_x, clip_y, clip_width, and clip_height.
12928 (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
12929
12930 * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
12931 --enable-font-backend. Call syms_of_font.
12932
12933 * fns.c (assoc_no_quit): New function.
12934
12935 * fontset.h (FONT_INFO_FROM_FACE): New macro.
12936 (face_for_font, new_fontset_from_font)
12937 (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
12938
12939 * fontset.c [USE_FONT_BACKEND]: Include "font.h".
12940 (fontset_font, fontset_ascii, face_for_char)
12941 (make_fontset_for_ascii_face, Ffont_info)
12942 (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
12943 is nonzero, use font-backend mechanism.
12944 (find_font_encoding): Make it non-static.
12945 (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
12946 New functions.
12947
12948 * frame.h (struct frame): New members resx and resy.
12949 (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
12950 (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
12951
12952 * frame.c [USE_FONT_BACKEND]: Include "font.h".
12953 (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
12954
12955 * lisp.h (assoc_no_quit): Extern it.
12956
12957 * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
12958 Through out the file, use FONT_INFO_FROM_FACE instead of
12959 FONT_INFO_FROM_ID, use get_per_char_metric instead of
12960 rif->per_char_metric.
12961 (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
12962 method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
12963 (get_glyph_face_and_encoding, fill_composite_glyph_string)
12964 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
12965 (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
12966 nonzero, use font-backend mechanism.
12967 (get_per_char_metric): New function.
12968
12969 * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
12970 (set_lface_from_font_name)
12971 (set_font_frame_param, free_realized_face)
12972 (prepare_face_for_display, clear_face_gcs)
12973 (Finternal_set_font_selection_order, realize_x_face)
12974 [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
12975 font-backend mechanism.
12976 (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
12977 (load_face_font) [USE_FONT_BACKEND]: Abort.
12978 (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
12979 (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
12980
12981 * xfns.c [USE_FONT_BACKEND]: Include "font.h".
12982 (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
12983 (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
12984 nonzero, register all available font drivers. Call
12985 x_default_font_parameter for deciding a font.
12986 (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
12987
12988 * xterm.c [USE_FONT_BACKEND]: Include "font.h".
12989 (x_set_mouse_face_gc, x_set_glyph_string_clipping)
12990 (x_set_glyph_string_clipping_exactly)
12991 (x_compute_glyph_string_overhangs)
12992 (x_draw_glyph_string_foreground)
12993 (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
12994 (x_free_frame_resources) [USE_FONT_BACKEND]: If
12995 enable_font_backend is nonzero, use font-backend mechanism.
12996 (x_new_fontset2) [USE_FONT_BACKEND]: New function.
12997
129982008-02-01 Kenichi Handa <handa@m17n.org>
12999
13000 * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
13001 system_eol_type.
13002 (syms_of_coding): Initialize system_eol_type.
13003
13004 * process.c (Fset_process_coding_system): Inherit system's eol
13005 format if necessary.
13006
130072008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13008
13009 * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
13010
130112008-02-01 Kenichi Handa <handa@m17n.org>
13012
13013 * coding.c (decode_eol): Pay attention to buffer relocation in
13014 del_range_2.
13015 (decode_coding): Call decode_eol before restoring undo_list.
13016
130172008-02-01 Kenichi Handa <handa@m17n.org>
13018
13019 * charset.c (Fdefine_charset_internal): Fix setting of
13020 emacs_mule_bytes.
13021
130222008-02-01 Kenichi Handa <handa@m17n.org>
13023
13024 * keyboard.c (read_char): Check if C is a character or not before
13025 looking up Vkeyboard_translate_table.
13026
130272008-02-01 Kenichi Handa <handa@m17n.org>
13028
13029 * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
13030 condition to terminate the loop.
13031
130322008-02-01 Kenichi Handa <handa@m17n.org>
13033
13034 * coding.c (produce_composition): Compare charbuf[i] instead of
13035 args[i] against 0.
13036 (Fterminal_coding_system): Use EQ to compare Lisp objects.
13037
130382008-02-01 Kenichi Handa <handa@m17n.org>
13039
13040 * coding.c (DECODE_COMPOSITION_START): If the source is short, set
13041 coding->result to CODING_RESULT_INSUFFICIENT_SRC.
13042 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
13043 detect_coding.
13044 (emacs_mule_char): Handle old style (Emacs 20) component character
13045 of a composition.
13046 (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
13047 (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
13048 composition rule.
13049 (decode_coding_emacs_mule): Handle invalid bytes correctly.
13050
130512008-02-01 Kenichi Handa <handa@m17n.org>
13052
13053 * coding.c (encode_coding_ccl): Allocate destination dynamically
13054 when necessary.
13055
130562008-02-01 Kenichi Handa <handa@m17n.org>
13057
13058 * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
13059 the loop. When quitted, show a proper error message.
13060
130612008-02-01 Kenichi Handa <handa@m17n.org>
13062
13063 * xterm.c (x_set_glyph_string_clipping_exactly): Set
13064 src->clip_head and src->clip_tail temporarily instead of src->hl.
13065
13066 * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
13067 character sequence.
13068 (Fccl_execute_on_string): Use ASET, not XSET.
13069
130702008-02-01 Kenichi Handa <handa@m17n.org>
13071
13072 * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
13073
130742008-02-01 Kenichi Handa <handa@m17n.org>
13075
13076 * coding.c (decode_coding): Fix the condition of terminating the
13077 decoding loop.
13078
130792008-02-01 Kenichi Handa <handa@m17n.org>
13080
13081 * data.c (Faset): On setting a character bigger than 255 in a
13082 unibyte string, signal an error instead of make the string multibyte.
13083
130842008-02-01 Kenichi Handa <handa@m17n.org>
13085
13086 * charset.c (map_charset_chars): Fix for ascii-compatible charset
13087 made by a mapping table.
13088
130892008-02-01 Kenichi Handa <handa@m17n.org>
13090
13091 * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
13092 not.
13093 (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
13094 (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
13095
13096 * xterm.c (x_draw_composite_glyph_string_foreground): Check
13097 s->face is NULL or not.
13098
130992008-02-01 Kenichi Handa <handa@m17n.org>
13100
13101 * xterm.c (x_set_glyph_string_clipping_exactly): New function.
13102 (x_draw_glyph_string): Fix drawing of right_overhang and
13103 left_overhang around/on cursor.
13104
13105 * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
13106
131072008-02-01 Kenichi Handa <handa@m17n.org>
13108
13109 * xdisp.c (x_produce_glyphs): Handle composition with TAB.
13110
131112008-02-01 Kenichi Handa <handa@m17n.org>
13112
13113 * coding.c (Fdefine_coding_system_internal)
13114 (Fdefine_coding_system_alias): Avoid a duplicated element in
13115 Vcoding_system_alist.
13116
131172008-02-01 Kenichi Handa <handa@m17n.org>
13118
13119 * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
13120
13121 * coding.c (Qcoding_system_define_form): New variable.
13122 (syms_of_coding): Intern and staticpro it.
13123 (Fcoding_system_p): Check Qcoding_system_define_form.
13124 (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
13125
13126 * coding.h (CODING_SYSTEM_P): If ID is not available, call
13127 Fcoding_system_p.
13128 (CHECK_CODING_SYSTEM): If ID is not available, call
13129 Fcheck_coding_system.
13130 (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
13131 Try also Fcheck_coding_system.
13132
131332008-02-01 Kenichi Handa <handa@m17n.org>
13134
13135 * coding.c (code_conversion_restore): GCPRO arg.
13136
131372008-02-01 Kenichi Handa <handa@m17n.org>
13138
13139 * character.c (lisp_string_width): Check multibyteness of STRING.
13140
131412008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13142
13143 * macterm.c (mac_encode_char): Call ccl_driver with the last arg
13144 Qnil. Use JIS_TO_SJIS instead of ENCODE_SJIS.
13145 (decode_mac_font_name): Use decode_coding_c_string instead of
13146 decode_coding.
13147 (x_load_font): Initialize fontp->fontset to -1. Set
13148 fontp->encoding_type.
13149
131502008-02-01 Kenichi Handa <handa@m17n.org>
13151
13152 * search.c (search_buffer): Give up BM search on case-fold-search
13153 if one of a target character has a case-equivalence of different
13154 byte length even if that target charcter is an ASCII.
13155 (simple_search): Fix calculation of byte length of matched text.
13156 (boyer_moore): Fix handling of case-equivalent multibyte characters.
13157
131582008-02-01 Kenichi Handa <handa@m17n.org>
13159
13160 * coding.c (decode_coding): Fix handling of invalid bytes.
13161
131622008-02-01 Kenichi Handa <handa@m17n.org>
13163
13164 * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
13165 Unicode characters.
13166
131672008-02-01 Kenichi Handa <handa@m17n.org>
13168
13169 * coding.c (encode_coding_object): If a pre-write-conversion
13170 function makes a new buffer, kill it.
13171
131722008-02-01 Kenichi Handa <handa@m17n.org>
13173
13174 * coding.c (QCascii_compatible_p): New variable.
13175 (syms_of_coding): Initialize it.
13176 (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
13177 calling string_char.
13178 (record_conversion_result): Add `default:' case.
13179 (coding_charset_list): Delete unused variable `coding_type'.
13180 (Fdefine_coding_system_internal): Add `ascii-compatible-p'
13181 property in the plist of the coding system.
13182 (Fcoding_system_put): Check QCascii_compatible_p.
13183
131842008-02-01 Miles Bader <miles@gnu.org>
13185
13186 * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
13187 removed calculation of frame `f', as it's now used.
13188
131892008-02-01 Kenichi Handa <handa@m17n.org>
13190
13191 * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
13192 (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
13193 (UNIDATA): New variable.
13194 (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
13195 (bootstrap-emacs${EXEEXT}): Depends on charprop.el. Run
13196 $(RUN_TEMACS) unconditionally.
13197
131982008-02-01 Kenichi Handa <handa@m17n.org>
13199
13200 * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
13201 (admindir): New variable.
13202 ($(lispsource)international/charprop.el): New target.
13203
132042008-02-01 Miles Bader <miles@gnu.org>
13205
13206 * character.c (chars-in-region): Remove obsolete function.
13207 (syms_of_character): Remove its initialization.
13208
132092008-02-01 Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net>
13210
13211 * w32select.c (validate_coding_system)
13212 (setup_windows_coding_system): New functions.
13213 (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
13214 setup_windows_coding_system.
13215 (setup_config, Fw32_get_clipboard_data): Use
13216 validate_coding_system.
13217 (Fx_selection_exists): Move call to setup_config to a place
13218 where signals are allowed.
13219
13220 * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
13221 (Fcheck_coding_system): Add declarations.
13222
132232008-02-01 Kenichi Handa <handa@m17n.org>
13224
13225 * charset.c (load_charset_map_from_vector): Fix for the first iteration.
13226
132272008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13228
13229 * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
13230 string as the second argument for x_new_fontset.
13231
132322008-02-01 Kenichi Handa <handa@m17n.org>
13233
13234 * coding.c (decode_coding_object): Use safe_call1 instead of call1.
13235 (encode_coding_object): Use safe_call instead of call2.
13236
132372008-02-01 Kenichi Handa <handa@m17n.org>
13238
13239 * fontset.c (Fset_fontset_font): Check family element of a given vector.
13240
13241 * Makefile.in (lisp): Include charprop.el.
13242
132432008-02-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
13244
13245 * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
13246 Not sure if it's unnecessary.
13247
132482008-02-01 Steven Tamm <steventamm@mac.com>
13249
13250 * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
13251 some possibly unnecessary fontset checking code that crashed
13252 when creating a new frame.
13253
132542008-02-01 Kenichi Handa <handa@m17n.org>
13255
13256 * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
13257 lookup_face.
13258
13259 * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
13260
13261 * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
13262
132632008-02-01 Kenichi Handa <handa@m17n.org>
13264
13265 * coding.c: Cancel the change done in HEAD on 2008-02-01.
13266 (coding_charset_list): New function.
13267
13268 * coding.h (coding_charset_list): Extern it.
13269
132702008-02-01 Kenichi Handa <handa@m17n.org>
13271
13272 * fontset.c (Fset_fontset_font): Call find_font_encoding with
13273 concatenation of family and registry.
13274
132752008-02-01 Kenichi Handa <handa@m17n.org>
13276
13277 * character.h (BYTE8_STRING): Fix typo.
13278
13279 * editfns.c (Ftranslate_region_internal): Don't convert unibyte
13280 string to multibyte (sync to HEAD).
13281
13282 * casefiddle.c (casify_region): Handle changes in byte-length
13283 using replace_range_2 (sync to HEAD).
13284
132852008-02-01 Andreas Schwab <schwab@suse.de>
13286
13287 * chartab.c (map_char_table): GCPRO table and arg.
13288
132892008-02-01 Kenichi Handa <handa@m17n.org>
13290
13291 * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
13292 already at limit.
13293
132942008-02-01 Kenichi Handa <handa@m17n.org>
13295
13296 * fontset.c (fs_load_font): Use fast_string_match_ignore_case
13297 instead of fast_c_string_match_ignore_case.
13298 (find_font_encoding): Change argument to Lisp_Object. Use
13299 fast_string_match_ignore_case instead of
13300 fast_c_string_match_ignore_case. Change caller.
13301
133022008-02-01 Kenichi Handa <handa@m17n.org>
13303
13304 * xdisp.c (get_next_display_element): In unibyte case, decide to
13305 display in octal form by checking a character by
13306 UNIBYTE_CHAR_HAS_MULTIBYTE_P.
13307
13308 * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
13309
13310 * character.c (unibyte_has_multibyte_table): New variable.
13311
13312 * character.h (unibyte_has_multibyte_table): Extern it.
13313 (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
13314
133152008-02-01 Kenichi Handa <handa@m17n.org>
13316
13317 * coding.c (encode_coding_iso_2022): Fix handling of charset
13318 annotation.
13319
133202008-02-01 Kenichi Handa <handa@m17n.org>
13321
13322 * coding.c (setup_coding_system): If coding_system is nil, use
13323 Qundecided.
13324 (Fterminal_coding_system): Return nil if terminal coding system is
13325 `undecided'.
13326 (syms_of_coding): Define coding-system `undecided' here. Setup
13327 terminal_coding as `undecided'.
13328
133292008-02-01 Kenichi Handa <handa@m17n.org>
13330
13331 * xdisp.c (message_dolog, set_message_1): Call
13332 unibyte_char_to_multibyte with arg type int.
13333
13334 * lread.c (read1): Fix reading of a char-table.
13335
13336 * print.c (print_object): Include sub char-table in circularities
13337 detection.
13338
133392008-02-01 Kenichi Handa <handa@m17n.org>
13340
13341 * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
13342 Append the found sequences in car of ARGS instead of prepending.
13343
133442008-02-01 Kenichi Handa <handa@m17n.org>
13345
13346 * fileio.c (report_file_error): Make a unibyte string from
13347 strerror (errorno).
13348 (Fsubstitute_in_file_name): Fix the arg to
13349 unibyte_char_to_multibyte. It is evaluated twice.
13350
133512008-02-01 Kenichi Handa <handa@m17n.org>
13352
13353 * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
13354
133552008-02-01 Kenichi Handa <handa@m17n.org>
13356
13357 * coding.c (detect_coding_utf_16): Don't set detect_info->found if
13358 BOM is not found.
13359 (detect_coding, detect_coding_system): Optimization for ISO-2022
13360 when no 8-bit data is found.
13361
133622008-02-01 Jason Rumney <jasonr@gnu.org>
13363
13364 * w32fns.c (x_to_w32_font): Update to use new coding struct.
13365
133662008-02-01 Kenichi Handa <handa@m17n.org>
13367
13368 * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
13369 CHARS.
13370
133712008-02-01 Steven Tamm <steventamm@mac.com>
13372
13373 * macterm.c (mac_encode_char): Add charset argument and update
13374 to use encoding_type.
13375 (x_new_font, x_new_fontset): Merge in changes from xterm.c;
13376 switch to pure fontset.
13377 (decode_mac_font_name): Temporarily remove decoding.
13378 (x_font_name_to_mac_font_name): Temporarily remove encoding.
13379 (x_load_font): Temporarily remove encoding.
13380
133812008-02-01 Kenichi Handa <handa@m17n.org>
13382
13383 * xfaces.c (Fface_font): If frame is not on a window system,
13384 ignore CHARACTER arg. If HAVE_WINDOW_SYSTEM is not defined, don't
13385 refer to face->font.
13386 (split_font_name_into_vector, build_font_name_from_vector)
13387 (lookup_non_ascii_face, realize_non_ascii_face): Define them only
13388 when HAVE_WINDOW_SYSTEM is defined.
13389
133902008-02-01 Kenichi Handa <handa@m17n.org>
13391
13392 * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
13393 (x_produce_glyphs): Fix setting of members of cmp in case
13394 cmp->glyph_len is zero.
13395
13396 * fontset.c (Fset_fontset_font): Fix docstring.
13397 (Ffontset_info): Make it backward compatible. New arg ALL.
13398
133992008-02-01 Kim F. Storm <storm@cua.dk>
13400
13401 * process.c (read_process_output): Grow decoding_buf when needed;
13402 this could cause a crash in allocate_string and compact_small_strings.
13403
134042008-02-01 Kenichi Handa <handa@m17n.org>
13405
13406 * fileio.c (WRITE_BUF_SIZE): Delete this macro.
13407
134082008-02-01 Kenichi Handa <handa@m17n.org>
13409
13410 * coding.c (setup_coding_system): Set coding->common_flags
13411 correctly for raw-text.
13412 (consume_chars): On encoding unibyte text by raw-text, don't check
13413 multibyte form.
13414 (encode_coding): On encoding by raw-text, never use translation tables.
13415
13416 * fileio.c (e_write): Short cut for the case of no encoding.
13417
134182008-02-01 Kenichi Handa <handa@m17n.org>
13419
13420 * coding.c (detect_coding, detect_coding_system): Delete unused
13421 variables.
13422
134232008-02-01 Kenichi Handa <handa@m17n.org>
13424
13425 * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
13426 (consume_chars): Fix handling of 8-bit bytes in unibyte source.
13427
134282008-02-01 Kenichi Handa <handa@m17n.org>
13429
13430 * coding.c (Ffind_coding_systems_region_internal): Include
13431 raw-text and no-conversion in the result.
13432
134332008-02-01 Kenichi Handa <handa@m17n.org>
13434
13435 * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
13436 (load_font_get_repertory): Delete unnecessary check of ENCODING of
13437 FONT_DEF.
13438 (font_def_arg, add_arg, from_arg, to_arg): New args.
13439 (set_fontset_font): Change argument.
13440 (Fset_fontset_font): Fix for the case that TARGET is a script
13441 name and charset name.
13442 (new_fontset_from_font_name): Fix argument to Fnew_fontset.
13443
134442008-02-01 Kenichi Handa <handa@m17n.org>
13445
13446 * fontset.c (fontset_font): Rename from fontset_face. Change return
13447 value.
13448 (face_suitable_for_char_p, face_for_char): Adjust for the change
13449 of fontset_font.
13450 (make_fontset_for_ascii_face): Fix setting of the fontset element
13451 for ASCII.
13452 (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
13453 to get a font name.
13454 (Ffontset_info): Adjust for the change of fontset_font.
13455
13456 * coding.c (emacs_mule_char): Check invalid code more rigidly.
13457
13458 * character.h (LEADING_CODE_LATIN_1_MIN)
13459 (LEADING_CODE_LATIN_1_MAX): Delete these macros.
13460
134612008-02-01 Kenichi Handa <handa@m17n.org>
13462
13463 * editfns.c (check_translation): New function.
13464 (Ftranslate_region_internal): Handle M:N mapping.
13465
134662008-02-01 Kenichi Handa <handa@m17n.org>
13467
13468 * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
13469
134702008-02-01 Kenichi Handa <handa@m17n.org>
13471
13472 * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
13473 goto invalid_code.
13474 (decode_coding_iso_2022): Fix handling of invalid designation.
13475
13476 * fileio.c (Finsert_file_contents): Be sure to call unbind_to
13477 after calling code_conversion_save.
13478
134792008-02-01 Kenichi Handa <handa@m17n.org>
13480
13481 * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
13482
13483 * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
13484
13485 * fontset.c: Include "intervals.h".
13486 (fontset_face): Fix comparing of Lisp_Objects.
13487 (free_face_fontset, new_fontset_from_font_name): Fix
13488 Lisp_Object/int mixup.
13489
13490 * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
13491
13492 * coding.c: Add many prototypes for static functions.
13493 (get_translation_table): Allow max_lookup to be NULL.
13494 (decode_coding, Ffind_coding_systems_region_internal)
13495 (Funencodable_char_position, Fcheck_coding_systems_region): Call
13496 get_translation_table with max_lookup NULL.
13497
134982008-02-01 Kenichi Handa <handa@m17n.org>
13499
13500 * coding.c (get_translation_table): Declare it as Lisp_Object.
13501 (LOOKUP_TRANSLATION_TABLE): New macro.
13502 (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
13503 instead of CHAR_TABLE_REF.
13504
135052008-02-01 Kenichi Handa <handa@m17n.org>
13506
13507 * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
13508 annotation data format.
13509 (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
13510 Change arguments FROM and TO to single argument NCHARS. Change caller.
13511 (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
13512 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
13513 (decode_coding_ccl, decode_coding_charset): Pay attention to
13514 coding->charbuf_used.
13515 (get_translation): New function.
13516 (produce_chars): New arguments translation_table and last_block.
13517 Translate characters here. Return number of carryover chars.
13518 Change caller.
13519 (produce_composition): New argument pos. Change caller.
13520 Adjust for the change of annotation data format.
13521 (produce_charset, produce_annotation): Likewise.
13522 (decode_coding, encode_coding): Don't call translate_chars.
13523 (consume_chars): New arg translation_table. Change caller.
13524 (translate_chars): Delete.
13525 (syms_of_coding): Make translation-table's number of extra slots 2.
13526
135272008-02-01 Kenichi Handa <handa@m17n.org>
13528
13529 * search.c (simple_search): Fix setting this_pos_byte in backward
13530 search.
13531
13532 * coding.c (detect_coding_emacs_mule): Fix counting of encoded
13533 byte sequence.
13534 (detect_coding_ccl): Fix setting of the variable valids.
13535
135362008-02-01 Kenichi Handa <handa@m17n.org>
13537
13538 * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
13539
13540 * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
13541
13542 * editfns.c (Ftranslate_region_internal): Rename from
13543 Ftranslate_region. Accept a char-table in TABLE.
13544 (syms_of_editfns): Defsubr Stranslate_region_internal.
13545
13546 * xfaces.c (set_lface_from_font_name): If a font is specified for
13547 a frame, generate a fontset from the font.
13548 (build_scalable_font_name): If the scalable font is requested for
13549 a specific size, don't change that size.
13550 (try_font_list): Try a scalable font also in the case that a
13551 pattern string is specified.
13552
135532008-02-01 Kenichi Handa <handa@m17n.org>
13554
13555 * xfaces.c (Fface_font): New optional arg CHARACTER.
13556
135572008-02-01 Kenichi Handa <handa@m17n.org>
13558
13559 * charset.h (CHARSET_OFFSET): New macro.
13560
135612008-02-01 Kenichi Handa <handa@m17n.org>
13562
13563 * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
13564
13565 * fontset.c (fontset_face): Handle the case that repertory is a
13566 char-table.
13567 (find_font_encoding): Return nil for unknown encoding.
13568 (Fset_fontset_font): Ignore a font of unknown encoding.
13569
135702008-02-01 Kenichi Handa <handa@m17n.org>
13571
13572 * keymap.c (describe_vector): Handle default value of a char table.
13573
13574 * fontset.c (fontset_face): Handle fallback fonts correctly.
13575 (Ffontset_info): Return infomation about fallback fonts.
13576
135772008-02-01 Kenichi Handa <handa@m17n.org>
13578
13579 * fontset.c (FONTSET_DEFAULT): New macro.
13580 (FONTSET_ADD, fontset_add): Handle the case that range is nil.
13581 (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
13582 the case that it is nil.
13583 (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
13584 (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
13585
13586 * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
13587 subset or superset.
13588
135892008-02-01 Kenichi Handa <handa@m17n.org>
13590
13591 * emacs.c (main): Call init_charset after syms_of_XXX.
13592
13593 * charset.c (Vcharset_map_directory): Delete.
13594 (Vcharset_map_path): New variable.
13595 (load_charset_map_from_file): Use Vcharset_map_path instead.
13596 (init_charset): Initialize Vcharset_map_path.
13597 (syms_of_charset): Delete declaration of "charset-map-directory",
13598 add declaration of "charset-map-path".
13599
136002008-02-01 Kenichi Handa <handa@m17n.org>
13601
13602 * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
13603 ASCII only string.
13604
13605 * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
13606
13607 * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
13608 (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
13609
136102008-02-01 Kenichi Handa <handa@m17n.org>
13611
13612 * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
13613
13614 * coding.c (QCmnemonic, QCdefalut_char)
13615 (QCdecode_translation_table, QCencode_translation_table)
13616 (QCpost_read_conversion, QCpre_write_conversion): New variables.
13617 (get_translation_table): Return a list of translation tables if
13618 necessary.
13619 (decode_coding): Call get_translation_table with ENCODEP 0.
13620 (char_encodable_p): If translation_table is non-nil, always call
13621 translate_char.
13622 (Fdefine_coding_system_internal): Accept list of translation
13623 tables as :encode-translation-table and :decode-translation-table.
13624 (Fcoding_system_put): New function.
13625 (syms_of_coding): Declare new symbols. Defsubr
13626 Scoding_system_put.
13627 (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
13628 typically JISX0212.
13629
13630 * charset.c (map_charset_chars): Fix arg to map_charset_chars in
13631 when the charset is superset type.
13632
13633 * character.c (translate_char): Accept list of translation tables.
13634
136352008-02-01 Kenichi Handa <handa@m17n.org>
13636
13637 * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
13638 (CODING_ATTR_TRANS_TBL): New macro.
13639
13640 * coding.c (get_translation_table): New function.
13641 (translate_chars): Fix the bug of skipping annotation data.
13642 (decode_coding, encode_coding): Utilize get_translation_table.
13643 (char_encodable_p, Funencodable_char_position): Translate char if
13644 necessary.
13645 (Ffind_coding_systems_region_internal)
13646 (Fcheck_coding_systems_region): Setup translation table for encode
13647 in a coding system attribute vector in advance.
13648 (Fdefine_coding_system_internal): Allow a symbol as translation
13649 table. For shift-jis type coding system, allow 4th charset.
13650
136512008-02-01 Kenichi Handa <handa@m17n.org>
13652
13653 * coding.c (decode_coding_sjis): Check the first byte rigidly.
13654
13655 * xdisp.c (get_next_display_element): Pass -1 as POS to
13656 FACE_FOR_CHAR if displaying a C-string.
13657
136582008-02-01 Kenichi Handa <handa@m17n.org>
13659
13660 * composite.c (get_composition_id): Handle xoff and yoff in a
13661 composition rule.
13662
13663 * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
13664 (struct composition): New member lbearing and rbearing.
13665
13666 * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
13667 (x_get_glyph_overhangs): Handle a composition glyph.
13668 (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
13669
13670 * xterm.c (x_compute_glyph_string_overhangs): Handle also a
13671 composition glyph.
13672
136732008-02-01 Kenichi Handa <handa@m17n.org>
13674
13675 * print.c: Include charset.h.
13676 (Vprint_charset_text_property): New variable.
13677 (Qdefault): Extern it.
13678 (PRINT_STRING_NON_CHARSET_FOUND)
13679 (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
13680 (print_check_string_result): New variable.
13681 (print_check_string_charset_prop): New function.
13682 (print_prune_charset_plist): New variable.
13683 (print_prune_string_charset): New function.
13684 (print_object): Call print_prune_string_charset if
13685 Vprint_charset_text_property is not t.
13686 (print_interval): Print nothing if interval->plist is nil.
13687 (syms_of_print): Declare Vprint_charset_text_property as a lisp
13688 variable. Init and staticpro print_prune_charset_plist.
13689
136902008-02-01 Kenichi Handa <handa@m17n.org>
13691
13692 * fontset.c (new_fontset_from_font_name): Use the specified font
13693 for all characters in the new fontset.
13694
13695 * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
13696 OBJECT args.
13697
13698 * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
13699 OBJECT args for composition too.
13700
13701 * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
13702 OBJECT args.
13703
137042008-02-01 Kenichi Handa <handa@m17n.org>
13705
13706 * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
13707
13708 * fontset.c (reorder_font_vector): Adjust for the change of
13709 FONT_DEF format.
13710 (fontset_face): New arg id. Change caller.
13711 (face_for_char): New args pos and object.
13712 (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
13713 (fs_query_fontset): Check NAME by Fassoc too.
13714 (Fset_fontset_font): Allow non-XLFD font name.
13715 (Ffontset_info): Adjust for the change of FONT_DEF format.
13716
13717 * fontset.h (face_for_char): Adjust prototype.
13718
13719 * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
13720 (append_space, extend_face_to_end_of_line)
13721 (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
13722 (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
13723
13724 * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
13725 POS and OBJECT args.
13726
13727 * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
13728 POS and OBJECT args.
13729
137302008-02-01 Jason Rumney <jasonr@gnu.org>
13731
13732 * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
13733 of GlobalAlloc'ed memory.
13734
137352008-02-01 Kenichi Handa <handa@m17n.org>
13736
13737 * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
13738
13739 * charset.h (charset_table_used): Delete extern.
13740
13741 * charset.c (charset_table_used): Make it static.
13742 (map_charset_chars): Fix args to c_function with.
13743
13744 * chartab.c (map_sub_char_table_for_charset): Fix args to
13745 c_function with.
13746
13747 * coding.h (enum coding_result_code): Delete
13748 CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
13749
13750 * coding.c (Qinsufficient_source, Qinconsistent_eol)
13751 (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
13752 (Vlast_code_conversion_error): New variables.
13753 (syms_of_coding): DEFSYM or DEFVAR_LISP them.
13754 (ONE_MORE_BYTE): Record error if any instead of signaling an
13755 error. If non-ASCII multibyte char is found, return the negative
13756 value of the code. All callers changed to check it.
13757 (ONE_MORE_BYTE_NO_CHECK): Likewise.
13758 (record_conversion_result): New function. Change all codes setting
13759 coding->result to call this function.
13760 (detect_coding_utf_8, decode_coding_utf_8)
13761 (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
13762 Don't use the local variable incomplete.
13763 (emacs_mule_char): Change the second arg to `const'.
13764 (decode_coding): Fix of flushing out unprocessed data.
13765 (make_conversion_work_buffer): Fix making of a work buffer.
13766 (decode_coding_object): Return coding->dst_object.
13767
13768 * fontset.c (set_fontset_font): Fix args.
13769
13770 * lisp.h (CHARACTERBITS): Define as 22.
13771
13772 * process.c (send_process): Be sure to set coding->src_multibyte.
13773
13774 * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
13775
137762008-02-01 Kenichi Handa <handa@m17n.org>
13777
13778 * xdisp.c (handle_auto_composed_prop): Give limit to
13779 Fnext_single_char_property_change.
13780
137812008-02-01 Kenichi Handa <handa@m17n.org>
13782
13783 * composite.c (syms_of_composite): Don't make the composition hash
13784 table weak.
13785
13786 * fontset.c (Fset_fontset_font): Fix docstring.
13787
13788 * lisp.h (detect_coding_system): Adjust prototype.
13789
13790 * fileio.c (kill_workbuf_unwind): Delete this function.
13791 (Finsert_file_contents): Adjust the call of detect_coding_system.
13792 Get conversion_buffer by code_conversion_save. Use the macro
13793 CODING_MAY_REQUIRE_DECODING. After decoding, update
13794 coding_system.
13795
13796 * coding.h (make_conversion_work_buffer): Delete extern.
13797 (code_conversion_save): Extern it.
13798
13799 * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
13800 (CODING_GET_INFO): Delete argument eol_type. Change callers.
13801 (decode_coding_utf_8): Don't do eol converion.
13802 (detect_coding_utf_16): Check coding->src_chars, not
13803 coding->src_bytes. Add heuristics for those that have no signature.
13804 (decode_coding_emacs_mule, decode_coding_iso_2022)
13805 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
13806 Don't do eol converion.
13807 (adjust_coding_eol_type): Return a new coding system.
13808 (detect_coding): Don't detect eol. Fix for utf-16 detection.
13809 (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
13810 each change.
13811 (decode_coding): Pay attention to undo_list. Do eol conversion for
13812 all types of coding-systems (if necessary).
13813 (Vcode_conversion_work_buf_list): Delete it.
13814 (Vcode_conversion_reused_workbuf): Rename from
13815 Vcode_conversion_reused_work_buf.
13816 (Vcode_conversion_workbuf_name): New variable.
13817 (reused_workbuf_in_use): New variable.
13818 (make_conversion_work_buffer): Delete the arg DEPTH.
13819 (code_conversion_restore): Change argument to cons.
13820 (code_conversion_save): Delete the argument BUFFER. Change callers.
13821 (detect_coding_system): New argument src_chars. Change callers.
13822 Fix for utf-16 detection.
13823 (init_coding_once): Don't use ISO_carriage_return.
13824 (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
13825 reused_workbuf_in_use.
13826
138272008-02-01 Kenichi Handa <handa@m17n.org>
13828
13829 * keymap.c (store_in_keymap): Pay attention to the case that idx
13830 is a cons specifying a character range.
13831
138322008-02-01 Kenichi Handa <handa@m17n.org>
13833
13834 * xdisp.c (handle_auto_composed_prop): Fix the case of returning
13835 HANDLED_RECOMPUTE_PROPS.
13836
13837 * coding.c (Fdefine_coding_system_internal): Fix checking of
13838 ascii compatibility.
13839
138402008-02-01 Kenichi Handa <handa@m17n.org>
13841
13842 * charset.c (find_charsets_in_text): Delete unused locale variable.
13843 (Fset_charset_priority): Update Vemacs_mule_charset_list too.
13844
13845 * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
13846 Resync charset_list to Vemacs_mule_charset_list.
13847
13848 * keymap.c (store_in_keymap): Pay attention to the case that idx
13849 is a cons specifying a character range.
13850
138512008-02-01 Kenichi Handa <handa@m17n.org>
13852
13853 * composite.c (update_compositions): Bind inhibit-read-only, etc
13854 to t before calling remove-list-of-text-properties.
13855
13856 * print.c (print_object): Always print ASCII chars as is.
13857
138582008-02-01 Kenichi Handa <handa@m17n.org>
13859
13860 * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
13861
13862 * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
13863 is a char table.
13864
138652008-02-01 Kenichi Handa <handa@m17n.org>
13866
13867 * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
13868
138692008-02-01 Kenichi Handa <handa@m17n.org>
13870
13871 * xfaces.c (set_lface_from_font_name): Fix for the case that
13872 FONTNAME is not fontset name.
13873
138742008-02-01 Kenichi Handa <handa@m17n.org>
13875
13876 * fns.c (base64_encode_1): Fix previous change.
13877
138782008-02-01 Kenichi Handa <handa@m17n.org>
13879
13880 * fontset.c (set_fontset_font): New function.
13881 (Fset_fontset_font): If a font is specified for a charset, use
13882 map_charset_chars to store the font spec in a fontset.
13883
138842008-02-01 Kenichi Handa <handa@m17n.org>
13885
13886 * fontset.c (fontset_face): Create a fallback fontset on demand.
13887 (make_fontset): Don't create a fallback fontset here.
13888 (free_face_fontset): Free a fallback fontset (if any) too.
13889 (n_auto_fontsets): Delete this variable.
13890 (auto_fontset_alist): New variable.
13891 (new_fontset_from_font_name): Check auto_fontset_alist.
13892 (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
13893 (Ffontset_list_all) [FONTSET_DEBUG]: New function.
13894 (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
13895 Defsubr Sfontset_list_all.
13896
138972008-02-01 Kenichi Handa <handa@m17n.org>
13898
13899 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
13900
139012008-02-01 Kenichi Handa <handa@m17n.org>
13902
13903 * fontset.c (Fnew_fontset): Check NAME more rigidly.
13904
139052008-02-01 Kenichi Handa <handa@m17n.org>
13906
13907 * editfns.c (Fgoto_char): Fix docstring.
13908
139092008-02-01 Kenichi Handa <handa@m17n.org>
13910
13911 * insdel.c (insert_from_gap): Adjust intervals correctly.
13912
139132008-02-01 Jason Rumney <jasonr@gnu.org>
13914
13915 * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
13916 (pfnGetFontUnicodeRanges): New dynamically loaded function.
13917 (w32_initialize): Try to load it.
13918 (x_get_font_repertory): Use it if available.
13919 (w32_encode_char): Add shortcut for unicode output.
13920
13921 * w32fns.c (w32_load_system_font): Default charset to -1.
13922 (x_to_w32_charset): Match all fonts for unicode.
13923 (w32_to_x_charset): New parameter matching. Don't return partial
13924 or wildcard charsets.
13925 (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
13926 (w32_codepage_for_font): Return CP_UNICODE for unicode.
13927 (w32_to_x_font): Match charset to real charset.
13928 (enum_font_cb2): Always list unicode versions.
13929
13930 * makefile.w32-in (temacs): Increase EMHEAP.
13931
139322008-02-01 Jason Rumney <jasonr@gnu.org>
13933
13934 * w32term.c (w32_encode_char): New charset parameter.
13935 font_info.encoding becomes encoding_type.
13936 (x_get_font_repertory): New function. Warning: stub only!
13937 (x_new_font): Return quickly if font already set.
13938 (x_new_fontset): fontsetname parameter is Lisp_Object.
13939 Use new fs_query_fontset. Try new_fontset_from_font_name.
13940 Use fontset_name for return value.
13941
13942 * w32term.h: Declare x_get_font_repertory.
13943
13944 * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
13945 place of find_charset_in_text. Use encode_coding_object in place
13946 of encode_coding.
13947 (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
13948 decode_coding.
13949
13950 * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
13951 of x_new_fontset.
13952 (w32_load_system_font): Initialize charset as unicode.
13953 font_info.encoding becomes encoding_type.
13954 (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
13955 (x_to_w32_font): Use encode_coding_object in place of encode_coding.
13956 (syms_of_w32fns): Set get_font_repertory_func.
13957
13958 * w32console.c: Include character.h. Use terminal_encode_buffer
13959 from term.c.
13960 (write_glyphs): Use new version of encode_terminal_code. Use
13961 encode_coding_object in place of encode_coding.
13962
13963 * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
13964 encoding becomes encoding_type.
13965
13966 * term.c (terminal_encode_buffer): Make externally visible.
13967
13968 * makefile.w32-in: Add character.h dependancies.
13969 (character.o, chartab.o): New targets.
13970
139712008-02-01 Kenichi Handa <handa@m17n.org>
13972
13973 * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
13974 CODING_ID_EOL_TYPE.
13975
139762008-02-01 Andreas Schwab <schwab@suse.de>
13977
13978 * coding.c (produce_chars): Revert last change.
13979
139802008-02-01 Kenichi Handa <handa@m17n.org>
13981
13982 * charset.h (charset_unicode): Extern it.
13983
13984 * charset.c (string_xstring_p): Check by (C >= 0x100).
13985 (find_charsets_in_text): Change format of the arc CHARSETS. New
13986 arg MULTIBYTE.
13987 (Ffind_charset_region, Ffind_charset_string): Adjust for the
13988 change of find_charsets_in_text.
13989 (Fsplit_char): Fix doc. Never return unknown.
13990
13991 * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
13992
13993 * coding.c (Fdefine_coding_system_alias): Update
13994 Vcoding_system_list.
13995
13996 * fontset.c (load_font_get_repertory): Pay attention to the case
13997 that ENCODING of a font is specified by a char-table.
13998
13999 * xterm.c (x_get_font_repertory): Handle the case that the
14000 encoding of font is other than Unicode.
14001
140022008-02-01 Kenichi Handa <handa@m17n.org>
14003
14004 * term.c (encode_terminal_code): Don't handle glyph-table. Check
14005 if a character is encodable by the terminal coding system. If
14006 not, produces proper number of `?'s. Update
14007 terminal_encode_buffer and terminal_encode_buf_size if necessary.
14008 (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
14009
140102008-02-01 Kenichi Handa <handa@m17n.org>
14011
14012 * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
14013 variables.
14014 (encode_terminal_code): Change argument. Encode multiple
14015 characters at once. Store the result of encoding in
14016 terminal_encode_buffer.
14017 (write_glyphs, insert_glyphs): Adjust for the change of
14018 encode_terminal_code.
14019 (term_init): Initialize terminal_encode_buffer and
14020 terminal_encode_buf_size.
14021
14022 * coding.c (consume_chars): If coding->src_object is nil, don't
14023 check annotation.
14024
140252008-02-01 Kenichi Handa <handa@m17n.org>
14026
14027 * character.c (char_string): Use ASCII_CHAR_P instead of
14028 SINGLE_BYTE_CHAR_P.
14029
140302008-02-01 Kenichi Handa <handa@m17n.org>
14031
14032 * xdisp.c (handle_auto_composed_prop): Check if the last
14033 characters of auto-composed region is newly composed with the
14034 following characters.
14035 (handle_composition_prop): Fix checking of point being inside
14036 composition.
14037
140382008-02-01 Kenichi Handa <handa@m17n.org>
14039
14040 * fns.c (concat): Don't change multibyteness of the result by
14041 concatenating an 8-bit character.
14042
14043 * data.c (Faset): Check newelt by CHECK_CHARACTER. Don't change
14044 multibyteness of the result when newelt is an 8-bit character.
14045
140462008-02-01 Dave Love <fx@gnu.org>
14047
14048 * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
14049 EMACS_INT.
14050
14051 * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
14052
14053 * xfaces.c (face_numeric_value): Declare dim size_t.
14054 (Finternal_lisp_face_equal_p): Remove unused f.
14055
14056 * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
14057 (MATRIX_ROW): Remove unused vars.
14058 (draw_glyphs, x_insert_glyphs, fast_find_position)
14059 (fast_find_position, fast_find_string_pos): Use EMACS_INT for
14060 byte/char counts.
14061
14062 * regex.c (regex_compile): Remove unused var.
14063
14064 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
14065
14066 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
14067 (Faccessible_keymaps, where_is_internal): Remove unused vars.
14068
14069 * keyboard.c (cancel_hourglass_unwind): Return Qnil.
14070
14071 * frame.c (frame_name_fnn_p): Make len EMACS_INT.
14072
14073 * fileio.c (Fwrite_region): Remove unused var.
14074
14075 * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
14076 (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
14077
14078 * composite.c (Fremove_list_of_text_properties): Declare.
14079
14080 * coding.c (inhibit_pre_post_conversion): Remove (unused).
14081 (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
14082 (coding_inherit_eol_type): Remove unused attrs.
14083 (detect_coding): Cast arg of detect_eol.
14084
14085 * charset.c (syms_of_charset): Remove unused var p.
14086 (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
14087 byte/char counts.
14088
14089 * casetab.c (set_case_table): Remove unused var.
14090
14091 * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
14092 unused vars.
14093
140942008-02-01 Dave Love <fx@gnu.org>
14095
14096 * xterm.c (x_bitmap_mask): Declare.
14097
140982008-02-01 Dave Love <fx@gnu.org>
14099
14100 * xterm.c (x_term_init): Fix type error.
14101
14102 * lisp.h: Add Funibyte_char_to_multibyte.
14103
14104 * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
14105 (Fset_coding_system_priority): Doc fix.
14106
14107 * ccl.c (ccl_driver): Fix arg of CHARACTERP.
14108
14109 * indent.c (check_composition): Make start and end EMACS_INT.
14110
14111 * character.c (lisp_string_width): Make ignore and end EMACS_INT.
14112
14113 * xdisp.c (handle_composition_prop, check_point_in_composition):
14114 Make buffer positions EMACS_INT.
14115
14116 * composite.c (find_composition, run_composition_function)
14117 (update_compositions, Ffind_composition_internal): Make buffer
14118 positions EMACS_INT.
14119
14120 * composite.h (find_composition, update_compositions): Make
14121 position args EMACS_INT.
14122
14123 * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
14124
14125 * intervals.c (get_property_and_range):
14126 * intervals.h (get_property_and_range): Make start and end EMACS_INT.
14127
14128 * unexalpha.c: Don't include varargs.h.
14129
141302008-02-01 Dave Love <fx@gnu.org>
14131
14132 * coding.h (ENCODE_UTF_8): New.
14133
14134 * Makefile.in (gtkutil.o): Depend on coding.h.
14135
14136 * coding.c (Fset_coding_system_priority): Doc fix.
14137
141382008-02-01 Kenichi Handa <handa@m17n.org>
14139
14140 * fileio.c (Finsert_file_contents): Call setup_coding_system in
14141 the case of auto saving.
14142
141432008-02-01 Andreas Schwab <schwab@suse.de>
14144
14145 * chartab.c (map_char_table, map_char_table_for_charset): Protect
14146 `range' from GC.
14147
141482008-02-01 Kenichi Handa <handa@m17n.org>
14149
14150 * coding.c (decode_coding_sjis): Check bytes more rigidly.
14151
141522008-02-01 Kenichi Handa <handa@m17n.org>
14153
14154 * fileio.c (choose_write_coding_system): Return a decided coding system.
14155 (Fwrite_region): Set Vlast_coding_system_used to the return value
14156 of choose_write_coding_system.
14157
141582008-02-01 Kenichi Handa <handa@m17n.org>
14159
14160 * charset.c (Fset_charset_priority): Pay attention to duplicated
14161 arguments.
14162
14163 * coding.c (QCcategory): New variable.
14164 (syms_of_coding): Defsym it. Set all elements of
14165 Vcoding_category_table and their symbol values.
14166 (Fset_coding_system_priority): Doc fix. Update symbol qvalues of
14167 coding-category-XXX, and coding-category-list.
14168 (Fdefine_coding_system_internal): Add category in the plist.
14169
141702008-02-01 Kenichi Handa <handa@m17n.org>
14171
14172 * callproc.c (Fcall_process): Handle carryover correctly.
14173
14174 * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
14175 (raw_text_coding_system): Check NILP (coding_system).
14176 (coding_inherit_eol_type): Check NILP (coding_system) and
14177 NILP (parent).
14178 (consume_chars): Fix for the case of raw-text.
14179
14180 * process.c (read_process_output): Handle carryover correctly.
14181
141822008-02-01 Dave Love <fx@gnu.org>
14183
14184 * regex.c (re_search_2): Fix last change.
14185
141862008-02-01 Kenichi Handa <handa@m17n.org>
14187
14188 * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
14189 target_multibyte. Even in a unibyte case, return a converted
14190 multibyte char.
14191 (GET_CHAR_AFTER): New macro.
14192 (PATFETCH): Translate via multibyte char.
14193 (HANDLE_UNIBYTE_RANGE): Delete this macro.
14194 (SETUP_MULTIBYTE_RANGE): New macro.
14195 (regex_compile): Setup compiled code so that its multibyteness
14196 matches that of a target. Fix the handling of "[X-YZ]" using
14197 SETUP_MULTIBYTE_RANGE.
14198 (analyse_first) <charset>: For filling fastmap for all multibyte
14199 characters, don't check by BASE_LEADING_CODE_P.
14200 (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp). It is
14201 the same as RE_MULTIBYTE_P (bufp) now.
14202 (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
14203 (TARGET_CHAR_AND_LENGTH): Delete this macro.
14204 (TRANSLATE_VIA_MULTIBYTE): New macro.
14205 (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
14206 It is the same as RE_MULTIBYTE_P (bufp) now.
14207 <exactn>: Translate via multibyte.
14208 <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH. Don't
14209 translate it.
14210 <charset, charset_not>: Fetch a character by
14211 RE_STRING_CHAR_AND_LENGTH. Translate via multibyte.
14212 <duplicate>: Call bcmp_translate with the last arg `multibyte'.
14213 <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
14214 notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
14215 by GET_CHAR_AFTER.
14216 (bcmp_translate): Likewise.
14217
14218 * search.c (compile_pattern): Check the member target_multibyte,
14219 not the member multibyte of buf.
14220
14221 * lread.c (read1): While reading a string, set force_singlebyte
14222 and force_multibyte correctly.
14223
14224 * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
14225 up of unibyte_to_multibyte_table.
14226
142272008-02-01 Kenichi Handa <handa@m17n.org>
14228
14229 * coding.c (setup_coding_system): If coding has
14230 post-read-conversion or pre-write-conversion, set
14231 CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
14232 respectively.
14233 (decode_coding_gap): Run post-read-conversion if any.
14234
14235 * fileio.c (Finsert_file_contents): Even if we read into a
14236 unibyte buffer, check if we must decode the result or not.
14237
142382008-02-01 Kenichi Handa <handa@m17n.org>
14239
14240 * coding.c (make_conversion_work_buffer): Change the work buffer
14241 name to the same one as that of Emacs 21.
14242
142432008-02-01 Kenichi Handa <handa@m17n.org>
14244
14245 * coding.h (make_conversion_work_buffer): Adjust prototype.
14246 (code_conversion_restore): Don't extern it.
14247
14248 * coding.c (detected_mask): Delete unused variable.
14249 (decode_coding_iso_2022): Pay attention to the byte sequence of
14250 CTEXT extended segment, and retain those bytes as is.
14251 (decode_coding_ccl): Delete unused variable `valids'.
14252 (setup_coding_system): Delete unused variable `category'.
14253 (consume_chars): Delete unused variable `category'. Make it work
14254 for non-multibyte case.
14255 (make_conversion_work_buffer): Change argument.
14256 (saved_coding): Delete unused variable.
14257 (code_conversion_restore): Don't check saved_coding->destination.
14258 (code_conversion_save): New function.
14259 (decode_coding_gap, encode_coding_gap): Call code_conversion_save
14260 instead of record_unwind_protect.
14261 (decode_coding_object, encode_coding_object): Likewise. Recover PT.
14262 (detect_coding_system): Delete unused variable `mask'.
14263 (Fdefine_coding_system_internal): Delete unused variable id.
14264
14265 * fileio.c (kill_workbuf_unwind): New function.
14266 (Finsert_file_contents): On replacing, call
14267 make_conversion_work_buffer with correct args, and call
14268 record_unwind_protect with the first arg kill_workbuf_unwind.
14269
14270 * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
14271
142722008-02-01 Kenichi Handa <handa@m17n.org>
14273
14274 * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
14275 (fontset_add): Fix for the case that TO is less than TO1.
14276 (Ffontset_info): Don't use fallback fontset on checking the
14277 default fontset.
14278 (dump_fontset): New function for debugging.
14279
14280 * coding.c (Fdefine_coding_system_internal): Fix for the case that
14281 coding_type is Qcharset.
14282
142832008-02-01 Kenichi Handa <handa@m17n.org>
14284
14285 * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
14286 (map_char_table): Don't inherit the value from the parent on
14287 initializing VAL. Adjust for the above change.
14288
142892008-02-01 Kenichi Handa <handa@m17n.org>
14290
14291 * coding.c (Qsignature, Qendian): Delete these variables.
14292 (syms_of_coding): Don't initialize them.
14293 (CATEGORY_MASK_UTF_16_AUTO): New macro.
14294 (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
14295 detect_info->found.
14296 (decode_coding_utf_16): Don't detect BOM here.
14297 (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
14298 is NOT utf_16_without_bom.
14299 (setup_coding_system): For a coding system of type utf-16, check
14300 if the attribute :endian is Qbig or not (not nil or not), and set
14301 CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
14302 (detect_coding): If coding type is utf-16 and BOM detection is
14303 required, detect it.
14304 (Fdefine_coding_system_internal): For a coding system of type
14305 utf-16, check if the attribute :endian is Qbig or not (not nil or not).
14306
143072008-02-01 Kenichi Handa <handa@m17n.org>
14308
14309 * coding.c (coding_set_source): Fix for the case that the current
14310 buffer is different from coding->src_object.
14311 (decode_coding_object): Don't use the conversion work buffer if
14312 DST_OBJECT is a buffer.
14313
143142008-02-01 Dave Love <fx@gnu.org>
14315
14316 * lread.c (read_emacs_mule_char) [len==2]: Index
14317 emacs_mule_charset correctly.
14318
143192008-02-01 Dave Love <fx@gnu.org>
14320
14321 * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
14322 (detect_coding_big5, decode_coding_big5, encode_coding_big5)
14323 (Fdecode_big5_char, Fencode_big5_char): Delete. (Big5 no longer
14324 treated specially.)
14325 (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
14326 (detected_mask): Remove Big5 bits.
14327
143282008-02-01 Kenichi Handa <handa@m17n.org>
14329
14330 The following changes are to make the font rescaling facility
14331 compatible with Emacs 21.
14332
14333 * xfaces.c (Vface_font_rescale_alist): Rename from
14334 Vface_resizing_fonts.
14335 (struct font_name): Rename member resizing_ratio to rescale_ratio.
14336 (font_rescale_ratio): Rename from font_resizing_ratio.
14337 (split_font_name): Set font->rescale_ratio.
14338 (better_font_p): Pay attention to font->rescale_ratio.
14339 (build_scalable_font_name): Likewise. Change RESX, and RESY
14340 fields.
14341 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
14342
143432008-02-01 Kenichi Handa <handa@m17n.org>
14344
14345 * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
14346 (Qutf_16_le): Remove these variables.
14347 (syms_of_coding): Don't DEFSYM them.
14348 (decode_coding_utf_16): Fix handling of BOM.
14349 (encode_coding_utf_16): Fix handling of BOM.
14350
143512008-02-01 Kenichi Handa <handa@m17n.org>
14352
14353 * fileio.c (Finsert_file_contents): On replacing, before decoding
14354 the file into the work buffer, set point of the work buffer to the end.
14355
143562008-02-01 Dave Love <fx@gnu.org>
14357
14358 * coding.c (Fcheck_coding_systems_region): Fix type errors.
14359
143602008-02-01 Dave Love <fx@gnu.org>
14361
14362 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
14363 and fix C types.
14364
143652008-02-01 Kenichi Handa <handa@m17n.org>
14366
14367 * xdisp.c (SKIP_GLYPHS): New macro.
14368 (set_cursor_from_row): Pay attention to string display properties.
14369
14370 * category.c (copy_category_entry): Fix for the case that RANGE
14371 is an integer.
14372
14373 * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
14374
14375 * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
14376
143772008-02-01 Kenichi Handa <handa@m17n.org>
14378
14379 * charset.c (Fcharset_id_internal): New function.
14380 (syms_of_charset): Defsubr it.
14381
14382 * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
14383 with the last arg charset_list acquired from coding.
14384 (Fdefine_coding_system_internal): For ccl-based coding system, fix
14385 the attribute coding_attr_ccl_valids.
14386
14387 * coding.h (enum define_coding_ccl_arg_index): Set the first
14388 member coding_arg_ccl_decoder to coding_arg_max.
14389
14390 * ccl.h (ccl_driver): Adjust prototype.
14391
14392 * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
14393 (ccl_driver): New arg CHARSET_LIST. Use the above macros instead
60612c8f 14394 of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
aac0c6e3
MR
14395 (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
14396 last arg Qnil.
14397
143982008-02-01 Kenichi Handa <handa@m17n.org>
14399
14400 * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
14401 call encode_char.
14402
14403 * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
14404
144052008-02-01 Dave Love <fx@gnu.org>
14406
14407 * composite.c (syms_of_composite): Make composition_hash_table weak.
14408
144092008-02-01 Kenichi Handa <handa@m17n.org>
14410
14411 * dispextern.h (check_face_attributes, generate_ascii_font_name)
14412 (font_name_registry): Don't extern them.
14413 (split_font_name_into_vector, build_font_name_from_vector): Extern them.
14414
14415 * fontset.h (Qfontset): Don't extern it.
14416 (new_fontset_from_font_name): Extern it.
14417
14418 * fontset.c: Give 8 extra slots to fontset objects.
14419 (Qfontset_info): New variable.
14420 (syms_of_fontset): Defsym it.
14421 (FONTSET_FALLBACK): New macro.
14422 (fontset_face): Try also the default fontset.
14423 (make_fontset): Realize a fallback fontset from the default fontset.
14424 (generate_ascii_font_name): Move from xfaces.c. Rewritten by
14425 using split_font_name_into_vector and build_font_name_from_vector.
14426 (Fset_fontset_font): Access the elements of font_spec by enum
14427 FONT_SPEC_INDEX. If font_spec is a string, extract the registry
14428 name by using split_font_name_into_vector.
14429 (Fnew_fontset): If no ASCII font is specified in FONTLIST,
14430 generate a proper font name from the fontset name. Update
14431 Vfontset_alias_alist.
14432 (n_auto_fontsets): New variable.
14433 (new_fontset_from_font_name): New function.
14434 (Ffont_info): Store the information about fonts generated from the
14435 default fontset in the first extra slot of the returned char-table.
14436
14437 * xfaces.c (generate_ascii_font_name): Move to fontset.c.
14438 (font_name_registry): Delete function.
14439 (split_font_name_into_vector): New function.
14440 (build_font_name_from_vector): New function.
14441 (font_list): The argument REGISTRY is now a list of registry names.
14442 (choose_face_font): If we are choosing an ASCII font, and ATTRS
14443 specifies an explicit font name, return the name as is. Make a
14444 list of registy names.
14445
14446 * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
14447 of x_new_fontset.
14448 (Fx_create_frame): Don't call x_new_fontset here. Just use
14449 x_list_fonts to check the existence of fonts.
14450
14451 * xterm.h (x_new_fontset): Adjust prototype.
14452
14453 * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
14454 string. Use new_fontset_from_font_name to create a fontset from a
14455 font name.
14456
144572008-02-01 Kenichi Handa <handa@m17n.org>
14458
14459 * syntax.c (Vfind_word_boundary_function_table): New name for
14460 Vnext_word_boundary_function_table.
14461 (find-word-boundary-function-table): New name for
14462 next-word-boundary-function-table.
14463
144642008-02-01 Dave Love <fx@gnu.org>
14465
14466 * Makefile.in: Fix some dependencies.
14467
14468 * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
14469 set it to nil before returning.
14470
14471 * composite.c (update_compositions): Fix type error.
14472
14473 * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
14474
144752008-02-01 Kenichi Handa <handa@m17n.org>
14476
14477 * xterm.c (x_new_font): Optimize for the case that the font is
14478 already set for the frame.
14479
144802008-02-01 Kenichi Handa <handa@m17n.org>
14481
14482 * chartab.c (char_table_ascii): Check if the char table contents
14483 is sub-char-table or not.
14484 (char_table_set, char_table_set_range): Fix argument to
14485 char_table_ascii.
14486
14487 * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
14488 (detect_coding_utf_8, detect_coding_utf_16)
14489 (detect_coding_emacs_mule, detect_coding_iso_2022)
14490 (detect_coding_sjis, detect_coding_big5)
14491 (detect_coding_ccl, detect_coding_charset): Change argument MASK
14492 to DETECT_INFO. Update DETECT_INFO and return 1 if the byte
14493 sequence is valid in this coding system. Change callers.
14494 (MAX_ANNOTATION_LENGTH): New macro.
14495 (ADD_ANNOTATION_DATA): New macro.
14496 (ADD_COMPOSITION_DATA): Change argument. Change callers. Call
14497 ADD_ANNOTATION_DATA. Change the format of annotation data.
14498 (ADD_CHARSET_DATA): New macro.
14499 (emacs_mule_char): New argument ID. Change callers.
14500 (decode_coding_emacs_mule, decode_coding_iso_2022)
14501 (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
14502 Produce charset annotation data in coding->charbuf.
14503 (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
14504 to charset annotation data in coding->charbuf.
14505 (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
14506 coding->common_flags if the coding system is iso-2022 based and
14507 uses designation.
14508 (produce_composition): Adjust for the new annotation data format.
14509 (produce_charset): New function.
14510 (produce_annotation): Handle charset annotation.
14511 (handle_composition_annotation, handle_charset_annotation): New
14512 functions.
14513 (consume_chars): Handle charset annotation. Utilize the above two
14514 functions.
14515 (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
14516 buffer, get the deleted text as a string and set
14517 coding->src_object to that string.
14518 (detect_coding, detect_coding_system): Use the new struct
14519 coding_detection_info.
14520
14521 * coding.h (struct coding_detection_info): New structure.
14522 (struct coding_system): Adjust prototype of the member `detector'.
14523 (CODING_ANNOTATE_CHARSET_MASK): New macro.
14524
145252008-02-01 Kenichi Handa <handa@m17n.org>
14526
14527 * insdel.c (insert_from_gap): Fix argument to offset_intervals.
14528
145292008-02-01 Dave Love <fx@gnu.org>
14530
14531 * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
14532 (Fapropos_internal): Don't gcpro apropos_accumulate. Set result
14533 to new local and nullify apropos_accumulate before returning.
14534 (syms_of_keymap): Staticpro and initialize apropos_accumulate.
14535
145362008-02-01 Kenichi Handa <handa@m17n.org>
14537
14538 * charset.c (Fdefine_charset_internal): Setup charset.fast_map
14539 correctly.
e3eea1fc 14540
aac0c6e3
MR
145412008-02-01 Dave Love <fx@gnu.org>
14542
14543 * fns.c (Flanginfo): Call synchronize_system_time_locale.
14544
145452008-02-01 Kenichi Handa <handa@m17n.org>
14546
14547 The following changes are to make character composition happen
14548 automatically on displaying.
14549
14550 * Makefile.in (lisp, shortlisp): Add composite.elc.
14551
14552 * composite.h (Qauto_composed, Vauto_composition_function)
14553 (Qauto_composition_function): Extern them.
14554
14555 * composite.c (Vcomposition_function_table)
14556 (Qcomposition_function_table): Delete variables.
14557 (Qauto_composed, Vauto_composition_function)
14558 (Qauto_composition_function): New variables.
14559 (run_composition_function): Don't call
14560 compose-chars-after-function.
14561 (update_compositions): Clear `auto-composed' text property.
14562 (compose_chars_in_text): Delete this function.
14563 (syms_of_composite): Staticpro Qauto_composed and
14564 Qauto_composition_function. Declare Vauto_composition_function as
14565 a Lisp variable.
14566
14567 * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
14568
14569 * xdisp.c (it_props): Add an entry for Qauto_composed.
14570 (handle_auto_composed_prop): New function.
14571
14572 * xselect.c (selection_data_to_lisp_data): Don't call
14573 compose_chars_in_text.
14574
145752008-02-01 Dave Love <fx@gnu.org>
14576
14577 * keyboard.c (read_char): Modify checking around use of
14578 Vkeyboard_translate_table.
14579
14580 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
14581 and fix C types.
14582
145832008-02-01 Kenichi Handa <handa@m17n.org>
14584
14585 * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
14586 (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
14587 (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
14588 the case that the last byte is '\r' correctly.
14589 (decode_coding): Flush out the unprocessed data correctly.
14590 (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
14591
145922008-02-01 Dave Love <fx@gnu.org>
14593
14594 * xterm.c (XTread_socket): Fix changes for defined keysyms.
14595 Add XK_ISO... case.
14596 (xaw_scroll_callback): Revert last change.
14597
145982008-02-01 Kenichi Handa <handa@m17n.org>
14599
14600 * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
14601
146022008-02-01 Kenichi Handa <handa@m17n.org>
14603
14604 * xfaces.c (Vface_resizing_fonts): New variable.
14605 (struct font_name): New member `resizing_ratio'.
14606 (font_resizing_ratio): New function.
14607 (split_font_name): Set font->resizing_ratio.
14608 (better_font_p): Pay attention to font->resizing_ratio.
14609 (build_scalable_font_name): Likewise. Don't change POINT_SIZE,
14610 RESX, and RESY fields.
14611 (try_alternative_families): Try scalable fonts if
14612 Vscalable_fonts_allowed is not Qt.
14613 (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
14614
146152008-02-01 Dave Love <fx@gnu.org>
14616
14617 * xterm.c (xaw_scroll_callback): Cast correctly.
14618
146192008-02-01 Dave Love <fx@gnu.org>
14620
14621 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
14622 (lispy_kana_keys): Comment out.
14623 (make_lispy_event) [XK_kana_A]: Comment out.
14624
14625 * xterm.c (xaw_scroll_callback): Cast call_data.
14626 (XTread_socket): Deal with ASCII keysyms.
14627 (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
14628
146292008-02-01 Dave Love <fx@gnu.org>
14630
14631 * xterm.c (Vx_keysym_table): New.
14632 (syms_of_xterm): Initialize it.
14633 (XTread_socket): Use it.
14634 From head: Eliminate incorrect optimization that tried to avoid
14635 decoding the output of X*LookupString.
14636 (x_get_font_repertory): Delete charset declaration.
14637
146382008-02-01 Kenichi Handa <handa@m17n.org>
14639
14640 * coding.c (detect_coding_charset): If only ASCII bytes are found,
14641 return 0.
14642 (Fdefine_coding_system_internal): Setup
14643 CODING_ATTR_ASCII_COMPAT (attrs) correctly.
14644
146452008-02-01 Dave Love <fx@gnu.org>
14646
14647 * coding.c (Fcheck_coding_system): Doc fix.
14648
14649 * editfns.c (Finsert_byte): Return a proper value.
14650
146512008-02-01 Kenichi Handa <handa@m17n.org>
14652
14653 * coding.c (decode_coding): Fix args to translate_chars. Pay
14654 attention to Vstandard_translation_table_for_decode.
14655 (encode_coding): Fix args to translate_chars. Pay attention to
14656 Vstandard_translation_table_for_encode.
14657
14658 * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
14659 SINGLE_BYTE_CHAR_P.
14660
14661 * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
14662 not by SINGLE_BYTE_CHAR_P.
14663
14664 * fns.c (concat): Check CH by ASCII_CHAR_P, not by
14665 SINGLE_BYTE_CHAR_P.
14666
14667 * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
14668 SINGLE_BYTE_CHAR_P.
14669
14670 * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
14671 by SINGLE_BYTE_CHAR_P.
14672
14673 * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
14674 SINGLE_BYTE_CHAR_P.
14675
146762008-02-01 Dave Love <fx@gnu.org>
14677
14678 * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
14679
146802008-02-01 Dave Love <fx@gnu.org>
14681
14682 * fns.c (Flanginfo): Fix typo.
14683
14684 * unexelf.c (unexec): Make last change conditional on Irix 6.5.
14685
146862008-02-01 Kenichi Handa <handa@m17n.org>
14687
14688 * coding.c (detect_coding_utf_8, detect_coding_utf_16)
14689 (detect_coding_emacs_mule, detect_coding_iso_2022)
14690 (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
14691 incomplete byte sequence. Don't update *mask when correctly detected.
14692 (decode_coding_sjis): Fix decoding of katakana-jisx0201.
14693 (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
14694 (detect_coding, detect_coding_system): Adjust for the changes above.
14695
146962008-02-01 Kenichi Handa <handa@m17n.org>
14697
14698 * character.c (char_string): Rename from
14699 char_string_with_unification. Pay attention to CHAR_MODIFIER_MASK.
14700 (string_char): Rename from string_char.
14701
14702 * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
14703 if C is greater than MAX_3_BYTE_CHAR.
14704 (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
14705 string_char instead of string_char_with_unification.
14706
147072008-02-01 Dave Love <fx@gnu.org>
14708
14709 * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
14710
147112008-02-01 Kenichi Handa <handa@m17n.org>
14712
14713 * keymap.c (push_key_description): Pay attention to force_multibyte.
14714
14715 * regex.c (re_search_2): Fix for the case of unibyte buffer.
14716
147172008-02-01 Dave Love <fx@gnu.org>
14718
14719 * charset.c (define_charset_internal): Rename `supprementary'.
14720
14721 * Makefile.in (lisp, shortlisp): Remove latin-N.
14722
147232008-02-01 Dave Love <fx@gnu.org>
14724
14725 * xfns.c (x_window, x_window): Use use_xim.
14726
14727 * xterm.c (use_xim): Initialize.
14728 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
14729 (x_term_init): Maybe set use_xim.
14730
14731 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
14732
147332008-02-01 Kenichi Handa <handa@m17n.org>
14734
14735 * search.c (search_buffer): Fix case-fold-search of multibyte
14736 characters.
14737 (boyer_moore): Rename the last argument to char_high_bits.
14738
147392008-02-01 Kenichi Handa <handa@m17n.org>
14740
14741 * xdisp.c (display_string): Fix for the case of zero width glyph.
14742
14743 * xfns.c (x_set_font): Change the error message of the case that
14744 x_new_fontset returns Qt.
14745
14746 * xfaces.c (set_lface_from_font_name): Reject the default fontset.
14747 (Finternal_set_lisp_face_attribute): Use signal_error for the
14748 error of invalid fontset.
14749
14750 * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
14751 fontset, return Qt.
14752
147532008-02-01 Dave Love <fx@gnu.org>
14754
14755 * unexelf.c (unexec): Make .got handling not SGI-specific.
14756
14757 * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
14758
14759 * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
14760
14761 * keyboard.c (read_key_sequence): Fix type error.
14762
14763 * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
14764 type error.
14765
14766 * fontset.c (fontset_add): Return Lisp_Object.
14767
147682008-02-01 Dave Love <fx@gnu.org>
14769
14770 * charset.h (charset_ordered_list_tick): Declare extern.
14771
147722008-02-01 Kenichi Handa <handa@m17n.org>
14773
14774 The following changes (and some of 2008-02-01 changes of mine) are
14775 for handling syntax, category, and case conversion for unibyte
14776 characters by converting them to multibyte on the fly. With these
14777 changes, we don't have to setup syntax and case tables for unibyte
14778 characters in each language environment.
14779
14780 * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
14781 multibyte if necessary.
14782
14783 * bytecode.c (Fbyte_code): Likewise.
14784
14785 * character.h (LEADING_CODE_LATIN_1_MIN)
14786 (LEADING_CODE_LATIN_1_MAX): New macros.
14787 (unibyte_to_multibyte_table): Extern it.
14788 (unibyte_char_to_multibyte): New macro.
14789 (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
14790 (CHAR_LEADING_CODE): New macro.
14791 (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
14792
14793 * character.c (unibyte_to_multibyte_table): New variable.
14794 (unibyte_char_to_multibyte): Move to character.h and define as macro.
14795 (multibyte_char_to_unibyte): If C is an eight-bit character,
14796 convert it to the corresponding byte value.
14797
14798 * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
14799 not 1, signals an error. Update the elements of
14800 unibyte_to_multibyte_table.
14801 (init_charset_once): Initialize unibyte_to_multibyte_table.
14802 (syms_of_charset): Define the charset `iso-8859-1'.
14803
14804 * cmds.c (internal_self_insert): In a multibyte buffer, insert C
14805 as is without converting it to unibyte. In a unibyte buffer,
14806 convert C to multibyte before checking the syntax.
14807
14808 * lisp.h (unibyte_char_to_multibyte): Delete extern.
14809
14810 * minibuf.c (Fminibuffer_complete_word): Use the macro
14811 FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
14812
14813 * regex.h (struct re_pattern_buffer): New member target_multibyte.
14814
14815 * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
14816 (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If
14817 that is zero, convert an eight-bit char to multibyte.
14818 (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
14819 non-emacs case.
14820 (PATFETCH): Convert an eight-bit char to multibyte.
14821 (HANDLE_UNIBYTE_RANGE): New macro.
14822 (regex_compile): Setup the compiled pattern for multibyte chars
14823 even if the given regex string is unibyte. Use PATFETCH_RAW
14824 instead of PATFETCH in many places. To handle `charset'
14825 specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap
14826 only for ASCII chars.
14827 (analyse_first) <exactn>: Simplify because the compiled pattern
14828 is multibyte.
14829 <charset_not>: Setup fastmap from bitmap only for ASCII chars.
14830 <charset>: Use CHAR_LEADING_CODE to get leading codes.
14831 <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
14832 (re_compile_fastmap) [emacs]: Call analyse_first with the arg
14833 multibyte always 1.
14834 (re_search_2): In emacs, set the locale variable multibyte to 1,
14835 otherwise to 0. New local variable target_multibyte. Check it
14836 to decide the multibyteness of STR1 and STR2. If
14837 target_multibyte is zero, convert unibyte chars to multibyte
14838 before translating and checking fastmap.
14839 (TARGET_CHAR_AND_LENGTH): New macro.
14840 (re_match_2_internal): In emacs, set the locale variable multibyte
14841 to 1, otherwise to 0. New local variable target_multibyte. Check
14842 it to decide the multibyteness of STR1 and STR2. Use
14843 TARGET_CHAR_AND_LENGTH to fetch a character from D.
14844 <charset, charset_not>: If multibyte is nonzero, check fastmap
14845 only for ASCII chars. Call bcmp_translate with
14846 target_multibyte, not with multibyte.
14847 <begline>: Declare the local variable C as `unsigned'.
14848 (bcmp_translate): Change the last arg name to target_multibyte.
14849
14850 * search.c (compile_pattern_1): Don't adjust the multibyteness of
14851 the regexp pattern and the matching target. Set cp->buf.multibyte
14852 to the multibyteness of the regexp pattern. Set
14853 cp->but.target_multibyte to the multibyteness of the matching target.
14854 (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
14855 FETCH_STRING_CHAR_ADVANCE.
14856 (Freplace_match): Convert unibyte chars to multibyte.
14857
14858 * syntax.c (char_quoted, back_comment, scan_words)
14859 (Fforward_comment, scan_lists, Fbackward_prefix_chars)
14860 (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
14861 unibyte chars to multibyte.
14862 (skip_chars): Delete the arg syntaxp, and move the code for
14863 handling syntaxes to skip_syntaxes. Change callers.
14864 Fix the case that the multibyteness of STRING and the current
14865 buffer doesn't match.
14866 (skip_syntaxes): New function.
14867 (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
14868 SINGLE_BYTE_CHAR_P.
14869
148702008-02-01 Kenichi Handa <handa@m17n.org>
14871
14872 * xfaces.c (QCfontset): New variable.
14873 (LFACE_FONTSET): New macro.
14874 (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
14875 (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
14876 (Finternal_set_lisp_face_attribute)
14877 (Finternal_get_lisp_face_attribute): Handle QCfontset.
14878 (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
14879 check also LFACE_FONTSET_INDEX.
14880 (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
14881 attrs[LFACE_FONT_INDEX].
14882 (syms_of_xfaces): Intern and staticpro QCfontset.
14883
14884 * dispextern.h (enum lface_attribute_index): New member
14885 LFACE_FONTSET_INDEX.
14886
14887 * fns.c (base64_encode_1): Handle eight-bit chars correctly.
14888
148892008-02-01 Kenichi Handa <handa@m17n.org>
14890
14891 * coding.c (coding_set_destination): Fix coding->destination for
14892 the case converting a region.
14893 (encode_coding_utf_8): Encode eight-bit chars as single byte.
14894 (encode_coding_object): Fix coding->dst_pos and
14895 coding->dst_pos_byte for the case converting a region.
14896
14897 * insdel.c (insert_from_gap): Make it work even if PT != GTP.
14898
14899 * character.h (BYTE8_STRING): New macro.
14900
14901 * fns.c (base64_decode_1): Insert eight-bit chars correctly.
14902
149032008-02-01 Kenichi Handa <handa@m17n.org>
14904
14905 * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
14906 characters by octal form.
14907
14908 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
14909
14910 * buffer.h (_fetch_multibyte_char_len): Delete extern.
14911 (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
14912 _fetch_multibyte_char_len.
14913 (FETCH_CHAR_AS_MULTIBYTE): New macro.
14914
14915 * casetab.c (set_canon, set_identity, shuffle): Simplify.
14916
14917 * casefiddle.c (casify_object): Simplify. Handle the case that
14918 the case conversion change the byte length.
14919 (casify_region): Likewise.
14920
14921 * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
14922
14923 * character.c (_fetch_multibyte_char_len): Delete this variable.
14924 (syms_of_character): Setup Vprintable_chars.
14925
14926 * editfns.c (Fchar_equal): Fix for the unibyte case.
14927 (Finsert_byte): New function.
14928 (syms_of_editfns): Defsubr it.
14929
14930 * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
14931 of direct code 0x3ffff.
14932
14933 * search.c (Freplace_match): Fix for the unibyte case.
14934
149352008-02-01 Kenichi Handa <handa@m17n.org>
14936
14937 * lread.c (safe_to_load_p): Fix the logic.
14938
14939 * syntax.c (scan_words): Don't treat characters belonging to
14940 different scripts as constituting a word.
14941
14942 * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
14943
14944 * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
14945
14946 * emacs.c (main): In the case of --unibyte, instead of aborting on
14947 finding non-empty buffer, make it unibyte.
14948
149492008-02-01 Kenichi Handa <handa@m17n.org>
14950
14951 * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
14952 to create a fontset.
14953
149542008-02-01 Dave Love <fx@gnu.org>
14955
14956 * character.c (Funibyte_char_to_multibyte): Doc fix.
14957
14958 * xfns.c [HAVE_STDLIB_H]: Fix last change.
14959
149602008-02-01 Kenichi Handa <handa@m17n.org>
14961
14962 * fontset.c (fontset_add): Make the type `int'.
14963 (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
14964
14965 * character.c (unibyte_char_to_multibyte)
14966 (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
14967 charset_unibyte, not charset_primary.
14968
14969 * charset.h (charset_unibyte): Extern it instead of charset_primary.
14970
14971 * charset.c (charset_unibyte): Rename from charset_primary.
14972 (Funibyte_charset): Rename from Fprimary_charset.
14973 (Fset_unibyte_charset): Rename from Fset_primary_charset.
14974 (syms_of_charset): Adjust for the above changes.
14975
14976 * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
14977 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
14978 it->multibyte_p is zero.
14979
14980 * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
14981 Delete extern.
14982
149832008-02-01 Kenichi Handa <handa@m17n.org>
14984
14985 * coding.c (Fdefine_coding_system_internal): Fix category setting
14986 for a coding system of type iso-2022.
14987
149882008-02-01 Kenichi Handa <handa@m17n.org>
14989
14990 * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
14991
149922008-02-01 Kenichi Handa <handa@m17n.org>
14993
14994 * syntax.c (Vnext_word_boundary_function_table): New variable.
14995 (next-word-boundary-function-table): Declare it as a Lisp variable
14996 in syms_of_syntax.
14997 (scan_words): Call functions in Vnext_word_boundary_function_table
14998 if any.
14999
15000 * xterm.c (x_load_font): Initialize fontp->fontset to -1.
15001
15002 * fontset.c (fs_load_font): If fontp->charset is not negative,
15003 return fontp without setting its members.
15004
150052008-02-01 Dave Love <fx@gnu.org>
15006
15007 * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
15008
15009 * m/sparc.h (HAVE_ALLOCA): Delete.
15010
15011 * s/irix6-5.h: Don't include strings.h.
15012 (bcopy, bzero, bcmp): Don't undef.
15013
15014 * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
15015
15016 * s/usg5-4.h (NO_SIOCTL_H): Don't define.
15017 (TIOCSIGSEND): Don't test IRIX6.
15018 (bcopy, bzero, bcmp): Define conditionally.
15019
150202008-02-01 Kenichi Handa <handa@m17n.org>
15021
15022 * buffer.c (Qas, Qmake, Qto): New variables.
15023 (Fset_buffer_multibyte): New optional arg METHOD. Change caller.
15024 (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
15025
15026 * callproc.c (Fcall_process): Don't call insert_1_both directly if
15027 we are inserting a process output into a multibyte buffer.
15028
15029 * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
15030 multibyte_char_to_unibyte.
15031
15032 * character.c (Funibyte_char_to_multibyte): If C can't be decoded
15033 by the primary charset, make it eight-bit char.
15034 (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
15035
15036 * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
15037 (charset_8_bit__control, charset_8_bit_graphic)
15038 (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
15039 (define_charset_internal): New function.
15040 (syms_of_charset): Call define_charset_internal for pre-defined
15041 charsets.
15042
15043 * charset.h (charset_8_bit): Extern it.
15044
15045 * coding.c (make_conversion_work_buffer): Adjust for the change
15046 of Fset_buffer_multibyte.
15047 (encode_coding_raw_text): Increment p0 in the loop.
15048
15049 * lisp.h (Fset_buffer_multibyte): Adjust prototype.
15050
15051 * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
15052 for the change of Fset_buffer_multibyte.
15053
15054 * fns.c (Fstring_to_multibyte): New function.
15055 (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
15056
150572008-02-01 Dave Love <fx@gnu.org>
15058
15059 * xfns.c (x_put_x_image): Declare args.
15060
15061 * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
15062 (try_font_list): Declare an arg.
15063
15064 * xdisp.c (message2_nolog, set_message): Declare an arg.
15065
15066 * terminfo.c (tparam): Declare an arg. Use P_ to declare tparm.
15067
15068 * syntax.c (scan_sexps_forward): Declare an arg.
15069
15070 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
15071 Declare an arg.
15072
15073 * lisp.h (Fnew_fontset): Declare.
15074
15075 * keymap.c (push_key_description): Call CHARACTERP correctly.
15076
15077 * fontset.c (fontset_add): Declare args. Call make_number correctly.
15078 (face_for_char): Delete unused vars.
15079 (Fset_fontset_font): Doc fix. Delete unused vars.
15080
15081 * doc.c (Fsubstitute_command_keys): Delete unused vars.
15082
15083 * composite.c (update_compositions): Declare arg.
15084
15085 * cm.c (calccost, cmgoto): Declare args.
15086
15087 * charset.c: Remove `emacs' conditional. Doc fixes.
15088 (map_char_table_for_charset): Declare.
15089
15090 * character.c (syms_of_character) <translation-table-vector>: Doc fix.
15091
15092 * ccl.c: Remove `emacs' conditional.
15093
150942008-02-01 Kenichi Handa <handa@m17n.org>
15095
15096 The following changes are to allow specifying multiple font
15097 patterns for a character range (specified by script or charset).
15098
15099 * Makefile.in (abbrev.o): Depend on syntax.h.
15100 (xfaces.o): Depend on charset.h.
15101
15102 * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
15103 SINGLE_BYTE_CHAR_P.
15104
15105 * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
15106
15107 * character.h (Vchar_script_table): Extern it.
15108
15109 * character.c (Vscript_alist): Delete.
15110 (Vchar_script_table, Qchar_script_table): New variable.
15111 (syms_of_character): Declare Vchar_script_table as a lisp variable
15112 and initialize it.
15113
15114 * chartab.c (Fmake_char_table): Doc fix. If PURPOSE doesn't
15115 have property char-table-extra-slots, make no extra slot.
15116
15117 * dispextern.h (struct face): Delete member `charset'.
15118 (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
15119 SINGLE_BYTE_CHAR_P.
15120 (choose_face_font, lookup_non_ascii_face, font_name_registry):
15121 Add prototypes.
15122 (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
15123 (generate_ascii_font_name): Rename from generate_ascii_font.
15124
15125 * fontset.h (get_font_repertory_func): New prototype.
15126 (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
15127 (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
15128
15129 * fontset.c (Qprepend, Qappend): New variables.
15130 (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
15131 (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
15132 (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
15133 (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
15134 (fontset_ref_and_range, fontset_add, reorder_font_vector)
15135 (load_font_get_repertory): New functions.
15136 (fontset_set): Delete.
15137 (fontset_face): New arg FACE. Return face ID, not face.
15138 Complete re-write to handle new fontset structure. Change caller.
15139 (free_face_fontset): Use ASET istead of AREF (X) = Y.
15140 (face_for_char): Don't call lookup_face.
15141 (make_fontset_for_ascii_face): New arg FACE.
15142 (fs_load_font): New arg CHARSET_ID. Don't check
15143 Vfont_encoding_alist here.
15144 (find_font_encoding): New function.
15145 (list_fontsets): Use STRINGP, not ! NILP.
15146 (accumulate_script_ranges): New function.
15147 (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
15148 re-written to handle new fontset structure.
15149 (Ffontset_font): Return a copy of element.
15150 (syms_of_fontset): Define symbols Qprepend and Qappend. Fix
15151 docstring of font-encoding-alist.
15152
15153 * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
15154 (Fset_fotset_font): Fix arguments to 5.
15155
15156 * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
15157
15158 * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
15159 Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
15160 (highlight_trailing_whitespace): Adjust for the change of
15161 lookup_named_face.
15162
15163 * xfaces.c: Include charset.h.
15164 (load_face_font): Delete argument C. Change caller.
15165 (generate_ascii_font_name): Rename from generate_ascii_font.
15166 (font_name_registry): New function.
15167 (cache_face): Store ascii faces before non-ascii faces in buckets.
15168 (lookup_face): Delete arguments C and BASE_FACE. Change caller.
15169 Lookup only ascii faces.
15170 (lookup_non_ascii_face): New function.
15171 (lookup_named_face): Delete argument C. Change caller.
15172 (lookup_derived_face): Delete argument C. Change caller.
15173 (try_font_list): New arg PATTERN. Change caller. If PATTERN is
15174 a string, just call font_list with it.
15175 (choose_face_font): Delete arguments FACE and C. New arg
15176 FONT_SPEC. Change caller.
15177 (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
15178 Change caller.
15179 (realize_non_ascii_face): New function.
15180 (realize_x_face): Call load_face_font here.
15181 (realize_tty_face): Delete argument C. Change caller.
15182 (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
15183 get a face ID.
15184 (dump_realized_face): Don't print charset of FACE.
15185
15186 * xfns.c (x_set_font): Always call x_new_fontset and
15187 store_frame_parameter.
15188 (Fx_create_frame): Call x_new_fontset, not x_new_font.
15189 (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
15190
15191 * xterm.h (x_get_font_repertory): Extern it.
15192
15193 * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
15194 SINGLE_BYTE_CHAR_P. Fix the logic of handling non-ASCII char when
15195 it->multibyte_p is zero.
15196 (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
15197 (x_new_fontset): If FONTSETNAME doesn't match any existing
15198 fontsets, create a new one.
15199 (x_get_font_repertory): New function.
15200
152012008-02-01 Kenichi Handa <handa@m17n.org>
15202
15203 * coding.c (Ffind_coding_systems_region_internal): Detect an
15204 ASCII only string correctly.
15205
15206 * lread.c (Fload): Don't load with Qload_force_doc_strings t if
15207 version is 0.
15208
152092008-02-01 Kenichi Handa <handa@m17n.org>
15210
15211 * lread.c: Include "coding.h".
15212 (Qget_emacs_mule_file_char, Qload_force_doc_strings)
15213 (load_each_byte, unread_char): New variables.
15214 (readchar_backlog): Delete.
15215 (readchar): Return a character unless load_each_byte is nonzero.
15216 Handle the case that readcharfun is Qget_emacs_mule_file_char or a
15217 cons. If unread_char is not -1, simply return it.
15218 (unreadchar): Handle the case that readcharfun is
15219 Qget_emacs_mule_file_char or a cons. Set unread_char if necessary.
15220 (read_multibyte): Delete.
15221 (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
15222 (read_emacs_mule_char): New functions.
15223 (Fload): Even if the file doesn't have the extension ".elc", if
15224 safe_to_load_p returns a positive version number, assume that the
15225 file contains bytecompiled code. If the version is less than 22,
15226 load the file while decoding multibyte sequences by emacs-mule.
15227 (readevalloop): Don't use readchar_backlog.
15228 (Fread): Likewise. Pay attention to the case that STREAM is a cons.
15229 (Fread_from_string): Pay attention to the case that STREAM is a cons.
15230 (read_escape): Delete the arg BYTEREP.
15231 (read1): Set load_each_byte to 1 temporarily while handling
15232 #@NUMBER. Don't call read_multibyte.
15233 (read_vector): Call Fread with a cons. If readcharfun is
15234 Qget_emacs_mule_file_char, decode the read string by emacs-mule.
15235 (read_list): If doc_reference is 2, make the cdr part string as unibyte.
15236 (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
15237 and Qload_force_doc_strings.
15238
152392008-02-01 Kenichi Handa <handa@m17n.org>
15240
15241 * xdisp.c (face_before_or_after_it_pos): Call
15242 FETCH_MULTIBYTE_CHAR with byte postion, not char position.
15243
152442008-02-01 Kenichi Handa <handa@m17n.org>
15245
15246 * character.h (TRAILING_CODE_P): New macro.
15247 (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
15248 (string_char_with_unification): Fix prototype.
15249 (Vscript_alist): Extern it.
15250
15251 * character.c (Vscript_alist): New variable.
15252 (string_char_with_unification, str_as_unibyte)
15253 (string_escape_byte8): Add `const' to local variables.
15254 (syms_of_character): Declare script-alist as a Lisp variable.
15255
15256 * charset.h (Vcharset_ordered_list): Extern it.
15257 (charset_ordered_list_tick): Extern it.
15258 (EMACS_MULE_LEADING_CODE_PRIVATE_11)
15259 (EMACS_MULE_LEADING_CODE_PRIVATE_12)
15260 (EMACS_MULE_LEADING_CODE_PRIVATE_21)
15261 (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
15262 (Funify_charset): Adjust for the change of Funify_charset.
15263
15264 * charset.c (charset_ordered_list_tick): New variable.
15265 (Fdefine_charset_internal): Increment charset_ordered_list_tick.
15266 (Funify_charset): New optional arg DEUNIFY. If it is non-nil,
15267 deunify intead of unify a charset.
15268 (string_xstring_p): Add `const' to local variables.
15269 (find_charsets_in_text): Add `const' to arguments and local variables.
15270 (encode_char): Adjust for the change of Funify_charset. Fix
15271 detecting of invalid code.
15272 (Fset_charset_priority): Increment charset_ordered_list_tick.
15273 (Fmap_charset_chars): Fix handling of default value for FROM_CODE
15274 and TO_CODE.
15275
15276 * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
15277 (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
15278 Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
15279 (decode_coding_ccl, consume_chars)
15280 (Ffind_coding_systems_region_internal)
15281 (Fcheck_coding_systems_region): Add `const' to local variables.
15282
15283 * print.c (print_object): Use octal form for printing the
15284 contents of a bool vector.
15285
152862008-02-01 Dave Love <fx@gnu.org>
15287
15288 * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
15289 <version == 20>: Refuse to load.
15290
152912008-02-01 Dave Love <fx@gnu.org>
15292
15293 * fns.c: Move coding.h.
15294 (Qcodeset, Qdays, Qmonths): New.
15295 (concat): Use CHARACTERP instead of INTEGERP.
15296 (Flocale_codeset): Delete.
15297 (Flanginfo): New function.
15298 (syms_of_fns): Change accordingly.
15299
15300 * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
15301
153022008-02-01 Dave Love <fx@gnu.org>
15303
15304 * casetab.c (init_casetab_once, init_casetab_once): Fix
15305 CHAR_TABLE_SET call.
15306
15307 * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
15308
15309 * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
15310
15311 * charset.c (Fmap_charset_chars): Check args. Convert Lisp types.
15312 (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
15313 (Fset_charset_priority, syms_of_charset): Convert Lisp types.
15314
15315 * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
15316
15317 * coding.c (ENCODE_DESIGNATION, decode_eol)
15318 (make_conversion_work_buffer, code_conversion_restore)
15319 (Fdefine_coding_system_internal): Convert Lisp types.
15320 (code_conversion_restore): Use EQ, not ==.
15321 (Fencode_coding_string): Fix code_convert_string call.
15322
15323 * coding.h (code_convert_region): Fix prototype.
15324
15325 * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
15326
15327 * fontset.c (fontset_ref, fontset_set, fs_load_font)
15328 (Ffontset_info): Convert Lisp types.
15329
15330 * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
15331
15332 * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
15333
15334 * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
15335
15336 * chartab.c: Include "...h", not <...h> in some cases.
15337
15338 * callproc.c (Fcall_process): Remove unused variables.
15339
153402008-02-01 Dave Love <fx@gnu.org>
15341
15342 * coding.c (Fset_coding_system_priority): Allow null arg list.
15343
153442008-02-01 Dave Love <fx@gnu.org>
15345
15346 * minibuf.c (Fminibuffer_complete_word): Remove unused var.
15347 (Fself_insert_and_exit): Use CHARACTERP.
15348
15349 * callproc.c (Fcall_process): Remove unused vars.
15350
15351 * xterm.c (XTread_socket): Add extra dead keysyms.
15352
15353 * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
15354
15355 * dispextern.h: Remove prototypes for redraw_frame,
15356 redraw_garbaged_frames.
15357
15358 * cmds.c (Fself_insert_command): Use CHARACTERP.
15359
15360 * chartab.c (make_sub_char_table): Remove unused var.
15361 (Fset_char_table_default, Fmap_char_table): Doc fix.
15362
15363 * keymap.c (access_keymap): Remove generic char code.
15364 (push_key_description): Use CHARACTERP.
15365
153662008-02-01 Dave Love <fx@gnu.org>
15367
15368 * charset.c: Doc fixes.
15369 (Funify_charset): Extra checking.
15370
153712008-02-01 Dave Love <fx@gnu.org>
15372
15373 * lread.c: Remove some unused variables.
15374 (safe_to_load_p): If safe, return the magic number version byte.
15375 (Fload): Maybe use load-with-code-conversion.
15376
153772008-02-01 Kenichi Handa <handa@m17n.org>
15378
15379 * category.c (Fmodify_category_entry): Don't modify the contents
15380 of category_set for characters out of the range. Avoid
15381 unnecessary modification.
15382
15383 * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
15384 Vchar_unify_table. The default value of the table is now nil.
15385
15386 * character.c (syms_of_character): Setup Vchar_width_table for
15387 eight-bit-control and raw-byte chars.
15388
15389 * charset.h (enum define_charset_arg_index): Delete
15390 charset_arg_parents and add charset_arg_subset and
15391 charset_arg_superset.
15392 (enum charset_attr_index): Delete charset_parents and add
15393 charset_subset and charset_superset.
15394 (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
15395 CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
15396 (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
15397 (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
15398 (CHARSET_SUPERSET): New macros.
15399 (charset_work): Extern it.
15400 (ENCODE_CHAR): Use charset_work.
15401 (CHAR_CHARSET_P): Adjust for the change of encoder format.
15402 (map_charset_chars): Extern it.
15403
15404 * charset.c (load_charset_map): Set the default value of encoder
15405 and deunifier char-tables to nil.
15406 (map_charset_chars): Change argument. Change callers. Use
15407 map_char_table_for_charset instead of map_char_table.
15408 (Fmap_charset_chars): New optional args from_code and to_code.
15409 (Fdefine_charset_internal): Adjust for the change of
15410 `define-charset' (:parents -> :subset or :superset).
15411 (charset_work): New variable.
15412 (encode_char, syms_of_charset): Adjust for the change of
15413 Fdefine_charset_internal.
15414 (Ffind_charset_string): Setup the vector `charsets' correctly.
15415
15416 * chartab.c (sub_char_table_ref_and_range): New arg default. Fix
15417 the previous change.
15418 (char_table_ref_and_range): Adjust for the above change.
15419 (map_sub_char_table_for_charset): New function.
15420 (map_char_table_for_charset): New function.
15421
15422 * keymap.c (describe_vector): Handle a char-table directly here.
15423 (describe_char_table): Delete.
15424
15425 * lisp.h (map_charset_chars): Delete.
15426
154272008-02-01 Dave Love <fx@gnu.org>
15428
15429 * fns.c (count_combining): Comment out (unused).
15430 (Flocale_codeset): New.
15431 (syms_of_fns): Defsubr it.
15432
15433 * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
15434 (size_t): Remove.
15435
154362008-02-01 Dave Love <fx@gnu.org>
15437
15438 * Makefile.in (chartab.o): Depend on charset.h.
15439
154402008-02-01 Kenichi Handa <handa@m17n.org>
15441
15442 * character.c (syms_of_character): Set the default value of
15443 Vprintable_chars to Qnil.
15444
154452008-02-01 Dave Love <fx@gnu.org>
15446
15447 * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
15448
154492008-02-01 Kenichi Handa <handa@m17n.org>
15450
15451 * charset.c (load_charset_map): Handle the case that from < to
15452 correctly.
15453
15454 * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
15455 (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
15456 Pay attention to raw-8-bit chars.
15457
154582008-02-01 Kenichi Handa <handa@m17n.org>
15459
15460 * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
15461 It is not bytecompiled now.
15462
15463 * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
15464 (charset_jisx0208): New variables.
15465 (Fdefine_charset_internal): Setup them if appropriate.
15466 (init_charset_once): Initialize them to -1.
15467
15468 * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
15469 (charset_jisx0208): Extern them.
15470
15471 * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
15472 (CODING_ISO_FLAG_USE_OLDJIS): New macro.
15473 (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
15474 (setup_iso_safe_charsets): Fix arguments to Fassq.
15475 (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
15476 (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
15477 CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
15478 (encode_coding_iso_2022): Change the 1st arg to
15479 ENCODE_ISO_CHARACTER to a variable.
15480
154812008-02-01 Kenichi Handa <handa@m17n.org>
15482
15483 * charset.h (enum define_charset_arg_index): New enums
15484 charset_arg_min_code and charset_arg_max_code.
15485 (struct charset): New member char_index_offset.
15486
15487 * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
15488 Take charset->char_index_offset into account.
15489 (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
15490 args[charset_arg_max_code]. Setup charset.char_index_offset.
15491 (syms_of_charset): Fix args to Fdefine_charset_internal.
15492
154932008-02-01 Dave Love <fx@gnu.org>
15494
15495 * coding.c (decode_coding_utf_8): Reject overlong sequences.
15496
154972008-02-01 Dave Love <fx@gnu.org>
15498
15499 * coding.c: Doc fixes.
15500 (Fcoding_system_aliases): Fix return value.
15501 (Qmac): Remove (duplicated) definition.
15502
155032008-02-01 Dave Love <fx@gnu.org>
15504
15505 * charset.c (Fcharset_priority_list, Fset_charset_priority): New
15506 functions.
15507
15508 * character.c (Fstring): Doc fix.
15509
15510 * charset.c (Fdefine_charset_alias): Update Vcharset_list.
15511
15512 * fontset.c (Ffontset_info): Doc fix. Return charset names, not
15513 ids.
15514 (font-encoding-alist): Doc fix.
15515
155162008-02-01 Dave Love <fx@gnu.org>
15517
15518 * term.c (costs_set): Declare static, non-initialized for pcc.
15519 (encode_terminal_code): Remove unused var.
15520
15521 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
15522 for K&R.
15523
15524 * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
15525
15526 * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
15527 (suffixes): Move out of make_subsidiaries for K&R.
15528
15529 * charset.c (map_charset_chars): Fix c_function declaration for K&R.
15530
15531 * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
15532
155332008-02-01 Dave Love <fx@gnu.org>
15534
15535 * data.c (Fchar_or_string_p): Doc fix. Use CHARACTERP.
15536
15537 * category.c (Fmodify_category_entry): Doc fix. Remove unused vars.
15538
155392008-02-01 Yong Lu <lyongu@asia-infonet.com>
15540
15541 * charset.c (Fdefine_charset_internal): Fix argument to bzero.
15542
15543 * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
15544
155452008-02-01 Kenichi Handa <handa@m17n.org>
15546
15547 * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
15548 vietnamese.elc to vietnamese.el. They are not bytecompiled now.
15549
155502008-02-01 Kenichi Handa <handa@m17n.org>
15551
15552 * coding.c (decode_coding_charset): Adjust for the change of
15553 Fdefine_coding_system_internal.
15554 (Fdefine_coding_system_internal): For a coding system of
15555 `charset' type, store a list of charset IDs in
15556 `charset_attr_charset_valids' element of coding attributes.
15557
155582008-02-01 Kenichi Handa <handa@m17n.org>
15559
15560 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
15561 (emacs_mule_char): New arg src. Delete arg `composition'. Change
15562 caller. Handle 2-byte and 3-byte charsets correctly.
15563 (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
15564 DECODE_EMACS_MULE_COMPOSITION_RULE. Change caller.
15565 (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
15566 (DECODE_EMACS_MULE_21_COMPOSITION): Call
15567 DECODE_EMACS_MULE_COMPOSITION_RULE_21. Produce correct annotation
15568 sequence.
15569 (decode_coding_emacs_mule): Handle composition correctly. Rewind
15570 `src' and `consumed_chars' correctly before calling emacs_mule_char.
15571 (DECODE_COMPOSITION_START): Correctly handle the case of altchar
15572 and alt&rule composition.
15573 (decode_coding_iso_2022): Handle composition correctly.
15574 (init_coding_once): Setup emacs_mule_bytes for private charsets.
15575
15576 * charset.c (Fdefine_charset_internal): Fix bug for the case of
15577 re-defining a charset. If the charset has :emacs-mule-id, setup
15578 emacs_mule_bytes.
15579 (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
15580
155812008-02-01 Kenichi Handa <handa@m17n.org>
15582
15583 * coding.c (encode_coding_iso_2022, encode_coding_sjis)
15584 (encode_coding_big5, encode_coding_charset): If coding requires safe
15585 encoding, produce a character specified by
15586 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
15587
155882008-02-01 Dave Love <fx@gnu.org>
15589
15590 * xterm.c (XSetIMValues): Declare.
15591
15592 * process.c: Conditionally include sys/wait.h, pty.h.
15593
15594 * print.c (print_object): Fix print format for 64-bit systems.
15595
15596 * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
15597
15598 * buffer.c (emacs_strerror): Declare.
15599
15600 * fontset.c (Fclear_face_cache): Declare.
15601 (accumulate_font_info): Comment-out (unused).
15602 (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
15603 variables.
15604
15605 * character.h (string_escape_byte8): Declare.
15606
15607 * charset.c (load_charset_map, load_charset_map_from_file): Remove
15608 unused vars.
15609 (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
15610 (Fmap_charset_chars): Doc fix.
15611
15612 * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
15613 (Fset_coding_system_priority, Fset_coding_system_priority)
15614 (Fdefine_coding_system_internal): Doc fix.
15615
156162008-02-01 Dave Love <fx@gnu.org>
15617
15618 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
15619
156202008-02-01 Kenichi Handa <handa@m17n.org>
15621
15622 * character.c (string_escape_byte8): Make multibyte string with
15623 correct size.
15624
15625 * charset.c (Fmake_char): Delete unnecessary code.
15626
156272008-02-01 Kenichi Handa <handa@m17n.org>
15628
15629 * xfns.c (x_encode_text): Allocate coding.destination here, and
15630 call encode_coding_object with dst_object Qnil.
15631
15632 * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
15633 multibyte form correctly.
15634
15635 * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
15636 against Vfont_encoding_alist.
15637
15638 * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the
15639 handling of charset list.
15640 (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
15641 (decode_coding_object): Move point to coding->dst_pos before
15642 calling post-read-conversion function.
15643 (encode_coding_object): Give correct arguments to
15644 pre-write-conversion. Ignore the return value of
15645 pre-write-conversion function. Pay attention to the case that
15646 pre-write-conversion changes the current buffer. If dst_object is
15647 Qt, even if coding->src_bytes is zero, allocate at least one byte
15648 to coding->destination.
15649
15650 * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
15651
15652 * charset.c (Fmake_char): Make it more backward compatible.
15653 (Fmap_charset_chars): Fix docstring.
15654
156552008-02-01 Dave Love <fx@gnu.org>
15656
15657 * coding.c: Doc fixes.
15658 (Fdefine_coding_system_alias): Use names, not symbols, in
15659 coding-system-alist.
15660
156612008-02-01 Kenichi Handa <handa@m17n.org>
15662
15663 * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
15664 of calling free_realized_face.
15665
156662008-02-01 Yong Lu <lyongu@asia-infonet.com>
15667
15668 * charset.c (read_hex): Don't treat SPC as a comment starter.
15669 (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
15670 (Fdecode_char): Fix typo.
15671
156722008-02-01 Kenichi Handa <handa@m17n.org>
15673
15674 * charset.h (struct charset): New member `code_space_mask'.
15675
15676 * coding.c (coding_set_source): Delete the local variable beg_byte.
15677 (encode_coding_charset, Fdefine_coding_system_internal):
15678 Delete the local variable charset.
15679 (Fdefine_coding_system_internal): Setup
15680 attrs[coding_attr_charset_valids] correctly.
15681
15682 * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
15683 member to check if CODE is valid or not.
15684 (Fdefine_charset_internal): Initialize `code_space_mask' member.
15685 (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
15686 is within the range of charset->min_code and carset->max_code.
15687
156882008-02-01 Dave Love <fx@gnu.org>
15689
15690 * syntax.h (syntax_temp) [!__GNUC__]: Declare.
15691
15692 * dispextern.h (generate_ascii_font): Fix return type.
15693
15694 * xfaces.c (generate_ascii_font): Fix arg declaration.
15695
15696 * coding.c (coding_inherit_eol_type)
15697 (Fset_terminal_coding_system_internal)
15698 (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
15699
157002008-02-01 Kenichi Handa <handa@m17n.org>
15701
15702 * coding.c (decode_coding_charset, encode_coding_charset): Handle
15703 multiple charsets correctly.
15704
157052008-02-01 Kenichi Handa <handa@m17n.org>
15706
15707 * search.c (boyer_moore): Fix handling of multibyte character
15708 translation.
15709
15710 * xdisp.c (display_mode_element): When the variable `elt' is
15711 changed, update `this' and `lisp_string'.
15712
157132008-02-01 Kenichi Handa <handa@m17n.org>
15714
15715 * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
15716
15717 * callproc.c (Fcall_process): Be sure to give the current buffer
15718 to decode_coding_c_string. Update PT and PT_BYTE after the insertion.
15719
15720 * charset.c (struct charset_map_entries): New struct.
15721 (load_charset_map): Rename from parse_charset_map. New args
15722 entries and n_entries. Change caller.
15723 (load_charset_map_from_file): Rename from load_charset_map.
15724 Change caller. New arg control_flag. Call load_charset_map at
15725 the tail.
15726 (load_charset_map_from_vector): New function.
15727 (Fdefine_charset_internal): Setup charset.compact_codes_p.
15728 (encode_char): If the charset is compact, change a character index
15729 to a code point.
15730
15731 * coding.c (coding_alloc_by_making_gap): Check the case that the
15732 source and destination are the same correctly.
15733 (decode_coding_raw_text): Set coding->consumed_char and
15734 coding->consumed to 0.
15735 (produce_chars): If coding->chars_at_source is nonzero, update
15736 coding->consumed_char and coding->consumed before calling
15737 alloc_destination.
15738 (Fdefine_coding_system_alias): Register ALIAS in
15739 Vcoding_system_alist.
15740 (syms_of_coding): Define `no-conversion' coding system at the tail.
15741
15742 * fileio.c (Finsert_file_contents): Set coding_system instead of
15743 val. If the current buffer is multibyte, always call
15744 decode_coding_gap.
15745
15746 * xfaces.c (try_font_list): Give higher priority to fontset's
15747 family than face's family.
15748
157492008-02-01 Kenichi Handa <handa@m17n.org>
15750
15751 * callproc.c (Fcall_process): Be sure to give the current buffer
15752 to decode_coding_c_string.
15753
15754 * xfaces.c (try_font_list): Give a family specified in a fontset
15755 higher priority than a family specified in a face.
15756
157572008-02-01 Kenichi Handa <handa@m17n.org>
15758
15759 * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
15760 Fix arguments to insert_from_buffer.
15761
15762 * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
15763
157642008-02-01 Kenichi Handa <handa@m17n.org>
15765
15766 * coding.c (produce_chars): Set the variable `multibytep' correctly.
15767 (decode_coding_gap): Set coding->dst_multibyte correctly.
15768
157692008-02-01 Kenichi Handa <handa@m17n.org>
15770
15771 * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
15772 (decode_coding_utf_16): Fix converting high and low bytes to code-point.
15773 (encode_coding_utf_16): Substitute coding->default_char for
15774 non-Unicode characters.
15775 (decode_coding): Don't call record_insert here.
15776 (setup_coding_system): Initialize `surrogate' of
15777 coding->spec.utf_16 to 0.
15778 (EMIT_ONE_BYTE): Fix for multibyte case.
15779
15780 * insdel.c (insert_from_gap): Call record_insert.
15781
157822008-02-01 Kenichi Handa <handa@m17n.org>
15783
15784 * casefiddle.c (casify_region): Fix multibyte case.
15785
15786 * character.c (c_string_width): Add return type `int'.
15787 (char_string_with_unification): Delete arg ADVANCED.
15788
15789 * character.h (CHAR_VALID_P): Don't call CHARACTERP.
15790 (CHAR_STRING): Adjust for the change of char_string_with_unification.
15791 (CHAR_STRING_ADVANCE): Make it do-while statement.
15792
15793 * chartab.c (sub_char_table_set_range): Optimize for the case
15794 DEPTH == 3. Add workaround code for a GCC optimization bug.
15795
15796 * charset.c (parse_charset_map): Remove an unused variable.
15797
15798 * coding.c: Delete unused variables.
15799
15800 * fileio.c (Finsert_file_contents): Set coding_system to Qnil
15801 earlier. If inserted is zero and the coding system doesn't
15802 require flushing, don't call decode_coding_gap.
15803
15804 * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
15805
158062008-02-01 Kenichi Handa <handa@m17n.org>
15807
15808 The following changes are for using Unicode as an internal
15809 character model, and use UTF-8 format for buffer/string
15810 representation.
15811
15812 * .gdbinit (xchartable): Adjust for the change of char table structure.
15813 (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
15814
15815 * Makefile.in (obj): Add character.o and chartab.o.
15816 (lisp, shortlisp): Remove utf-8.elc.
15817 (*.o): For many files, change dependency on charset.h to
15818 character.h, and add dependency on character.h.
15819 (character.o, chartab.o): New targets.
15820
15821 * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
15822 * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
15823 * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
15824 of "charset.h".
15825
15826 * dired.c, filelock.c: Include "character.h".
15827
15828 * alloc.c: Include "character.h" instead of "charset.h".
15829 (Fmake_char_table, make_sub_char_table): Move to chartab.c.
15830 (syms_of_alloc): Remove defsubr for Smake_char_table.
15831
15832 * buffer.c: Include "character.h" instead of "charset.h", don't
15833 include "coding.h".
15834 (Fset_buffer_multibyte): Adjust for UTF-8.
15835
15836 * buffer.h: EXFUN Fbuffer_live_p.
15837
15838 * callproc.c: Include "character.h" instead of "charset.h".
15839 (Fcall_process): Big change for the new code-conversion APIs.
15840
15841 * casetab.c: Include "character.h" instead of "charset.h".
15842 (set_canon, set_identity, shuffle): Adjust for the new
15843 map_char_table spec.
15844 (init_casetab_once): Call CHAR_TABLE_SET instead of directly
15845 accessing the char table structure.
15846
15847 * chartab.c: New file that implements char table.
15848
15849 * category.c: Include "character.h".
15850 (copy_category_entry): New function.
15851 (copy_category_table): Call map_char_table and copy_category_entry.
15852 (Fmake_category_table): Initialize all top-level slots.
15853 (char_category_set): New function.
15854 (modify_lower_category_set): Delete.
15855 (Fmodify_category_entry): Call char_table_ref_and_range.
15856
15857 * category.h (CATEGORY_SET): Just call char_category_set.
15858
15859 * ccl.c: Include "character.h".
15860 (Qccl, Qcclp): New variables.
15861 (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
15862 it's less than 256.
15863 (CCL_WRITE_MULTIBYTE_CHAR): Delete.
15864 (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
15865 and DST type.
15866 (ccl_driver): Change types of argument, adjust code accordingly.
15867 (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
15868 ccl_driver.
15869 (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
15870
15871 * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
15872 New members src_multibyte, dst_multibyte, consumed, and produced.
15873 (struct ccl_spec): Delete members decoder and encoder. New member ccl.
15874 (CODING_SPEC_CCL_PROGRAM): New macro.
15875 (ccl_driver): Update prototype.
15876 (Qccl, Qcclp, Fccl_program_p): Extern them.
15877 (CHECK_CCL_PROGRAM): New macro.
15878
15879 * character.c, character.h, chartab.c: New files.
15880
15881 * charset.c: Mostly re-written. Move character and multibyte sequence
15882 handling codes to character.c.
15883
15884 * charset.h: Mostly re-written. Move character and multibyte sequence
15885 handling codes to character.h.
15886
15887 * coding.c, coding.h: Mostly re-written.
15888
15889 * composite.c: Include "character.h" instead of "charset.h".
15890 (CHAR_WIDTH): Move to character.h.
15891 (HASH_KEY, HASH_VALUE): Delete.
15892
15893 * composite.h (enum composition_method): Change order of enumeration
15894 symbols.
15895
15896 * data.c: Include "character.h" instead of "charset.h".
15897 (Faref): Call CHAR_TABLE_REF for a char table.
15898 (Faset): Call CHAR_TABLE_SET for a char table.
15899
15900 * dispextern.h (free_realized_face, check_face_attribytes)
15901 (generate_ascii_font): Extern them.
15902 (free_realized_multibyte_face): Delete extern.
15903
15904 * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
15905 table structure.
15906
15907 * editfns.c: Include "character.h" instead of "charset.h".
15908 (Fchar_to_string): Always call CHAR_STRING.
15909
15910 * emacs.c (main): Call init_charset_once, init_charset,
15911 syms_of_chartab, and syms_of_character.
15912
15913 * fileio.c: Include "character.h" instead of "charset.h".
15914 (Finsert_file_contents): Big change for the new code-conversion API.
15915 (choose_write_coding_system, Fwrite_region): Likewise.
15916 (build_annotations_2): Delete.
15917 (e_write): Big change for the new code-conversion API.
15918
15919 * fns.c: Include "character.h" instead of "charset.h".
15920 (copy_sub_char_table): Move to chartab.c.
15921 (Fcopy_sequence): Call copy_char_table for a char table.
15922 (concat): Delete codes calling count_multibyte.
15923 (string_char_to_byte, string_byte_to_char): Adjust for the new
15924 multibyte form.
15925 (internal_equal): Adjust for the change of char table structure.
15926 (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
15927 (Fchar_table_extra_slot, Fset_char_table_extra_slot)
15928 (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
15929 (char_table_translate, optimize_sub_char_table)
15930 (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
15931 chartab.c.
15932 (char_table_ref_and_index): Delete.
15933 (HASH_KEY, HASH_VALUE): Move to lisp.h.
15934 (Fmd5): Call preferred_coding_system instead of accessing
15935 Vcoding_category_list. Adjust for the new code-conversion API.
15936 (syms_of_fns): Move defsubr for char table related functions to
15937 chartab.c.
15938
15939 * fontset.c: Mostly re-written.
15940
15941 * fontset.h (struct font_info): Change type of the member encoding_type.
15942 (enum FONT_SPEC_INDEX): New enum.
15943 (fontset_font_pattern, fs_load_font): Update prototype.
15944 (FS_LOAD_FONT): Adjust for the change of fs_load_font.
15945
15946 * indent.c: Include "character.h" instead of "charset.h".
15947 (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
15948
15949 * insdel.c: Include "character.h" instead of "charset.h".
15950 (copy_text): Don't refer to Vnonascii_translation_table.
15951 (insert_from_gap): New function.
15952
15953 * keyboard.c: Include "character.h" instead of "charset.h".
15954 (command_loop_1): Never call direct_output_forward_char before
15955 a non-ASCII character.
15956 (read_char): If Vkeyboard_translate_table is a char table, always
15957 translate a character.
15958
15959 * keymap.c: Include "character.h".
15960 (store_in_keymap): Handle the case that IDX is a cons.
15961 (Fdefine_key): Handle the case that KEY is a cons and the car part
15962 is also a cons (range).
15963 (push_key_description): Adjust for the new character code.
15964 (describe_vector): Call describe_char_table for a char table.
15965 (describe_char_table): New function.
15966
15967 * keymap.h (describe_char_table): Extern it.
15968
15969 * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
15970 (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
15971 (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
15972 (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
15973 Delete.
15974 (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
15975 structure.
15976 (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
15977 (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
15978 (CHARTAB_SIZE_BITS_3): New macros.
15979 (chartab_size): Extern it.
15980 (struct Lisp_Char_Table): Re-design.
15981 (struct Lisp_Sub_Char_Table): New structure.
15982 (HASH_KEY, HASH_VALUE): Move from fns.c.
15983 (CHARACTERBITS): Define as 22.
15984 (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
15985 (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
15986 (GC_SUB_CHAR_TABLE_P): New macro.
15987 (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
15988 (code_convert_string_norecord): Deleted extern.
15989 (init_character_once, syms_of_character, init_charset)
15990 (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
15991
15992 * lread.c: Include "character.h".
15993 (read_multibyte): New arg NBYTES.
15994 (read_escape): Change the meaning of returned *BYTEREP.
15995 (to_multibyte): Delete.
15996 (read1): Adjust the handling of char table and string.
15997
15998 * print.c: Include "character.h" instead of "charset.h".
15999 (print_string): Convert 8-bit raw bytes to octal form by
16000 string_escape_byte8.
16001 (print_object): Adjust for the new multibyte form. Print 8-bit
16002 raw bytes always in octal form. Handle sub char table correctly.
16003
16004 * process.c: Include "character.h" instead of "charset.h".
16005 (read_process_output, send_process): Adjust for the new
16006 code-conversion API.
16007
16008 * puresize.h (BASE_PURESIZE): Increase.
16009
16010 * regex.c: Include "character.h" instead of "charset.h".
16011 (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
16012 (regex_compile): Accept a range whose starting and ending
16013 character have different leading bytes.
16014 (analyse_first): Adjust for the above change.
16015
16016 * search.c: Include "character.h" instead of "charset.h".
16017 (search_buffer, boyer_moore): Adjust for the new multibyte form.
16018 (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
16019
16020 * syntax.c: Include "character.h" instead of "charset.h".
16021 (syntax_parent_lookup): Delete.
16022 (Fmodify_syntax_entry): Accept a cons as CHAR.
16023 (skip_chars): Adjust for the new multibyte form.
16024 (init_syntax_once): Call char_table_set_range instead of directly
16025 accessing the structure of a char table.
16026
16027 * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
16028 (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
16029 (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
16030 (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
16031
16032 * term.c: Include "buffer.h" and "character.h".
16033 (encode_terminal_code, write_glyphs): Adjust for the new
16034 code-conversion API.
16035 (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
16036
16037 * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
16038
16039 * xdisp.c: Include "character.h".
16040 (get_next_display_element): Adjust for the new multibyte form.
16041 (disp_char_vector): Adjust for the new char table structure.
16042 (decode_mode_spec_coding): Adjust for the new structure of
16043 coding system.
16044 (decode_mode_spec): Adjust for the new code-conversion API.
16045
16046 * xfaces.c: Include "character.h" instead of "charset.h".
16047 (load_face_font): Adjust for the change of choose_face_font and
16048 FS_LOAD_FONT.
16049 (generate_ascii_font): New function.
16050 (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
16051 (set_font_frame_param): Adjust for the change of choose_face_font.
16052 (free_realized_face): Make it public.
16053 (free_realized_faces_for_fontset): Rename from
16054 free_realized_multibyte_face. Free also faces realized for ASCII.
16055 (choose_face_font): Change arguments. Adjust for the change of
16056 fontset_font_pattern and FS_LOAD_FONT.
16057
16058 * xfns.c: Include "character.h".
16059 (x_encode_text): Adjust for the new code-conversion API.
16060
16061 * xselect.c: Don't include "charset.h".
16062 (selection_data_to_lisp_data): Adjust for the new code conversion API.
16063
16064 * xterm.c: Include "character.h".
16065 (x_encode_char): New argument CHARSET. Change caller.
16066 (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
16067 Call ENCODE_CHAR instead of SPLIT_CHAR.
16068 (x_produce_glyphs): Don't check Vnonascii_translation_table Call
16069 CHAR_WIDTH instead of CHARSET_WIDTH.
16070 (XTread_socket): Adjust for the new code-conversion API.
16071 (x_new_font): Adjust for the change of FS_LOAD_FONT.
16072 (x_load_font): Adjust for the change of struct font.
16073
160742008-02-01 Stefan Monnier <monnier@iro.umontreal.ca>
16075
16076 * xfaces.c (face_at_buffer_position): Remove unused vars.
16077
160782008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
16079
16080 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
16081 Fix overflow checking.
16082
160832008-02-01 Kenichi Handa <handa@ni.aist.go.jp>
16084
16085 * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
16086 Cancel previous change.
16087
160882008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
16089
16090 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
16091 ccl->eight_bit_control. Fix check for buffer overflow.
16092 (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
16093 (ccl_driver): Initialize extra_bytes to 0.
16094
160952008-01-31 Kenichi Handa <handa@ni.aist.go.jp>
16096
16097 * keyboard.c (make_ctrl_char): If C is a multibyte character, just
16098 return it ORed with ctrl_modifier.
16099
161002008-01-29 Miles Bader <miles@gnu.org>
16101
16102 * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
16103
161042008-01-28 Jason Rumney <jasonr@gnu.org>
16105
16106 * w32.c (stat): Don't double check for networked drive.
16107
161082008-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
16109
16110 * window.c (run_window_configuration_change_hook): New function.
16111 Code extracted from set_window_buffer. Set the selected frame.
16112 (set_window_buffer): Use it.
16113 * window.h (run_window_configuration_change_hook): Declare.
16114 * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
16115
16116 * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
16117
161182008-01-27 Dan Nicolaescu <dann@ics.uci.edu>
16119
16120 * Makefile.in: Remove references to unused macros.
16121
161222008-01-26 Eli Zaretskii <eliz@gnu.org>
16123
16124 * w32.c (g_b_init_get_sid_sub_authority)
16125 (g_b_init_get_sid_sub_authority_count): New static variables.
16126 (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
16127 (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
16128 (init_user_info): Use them to retrieve uid and gid.
16129 Use 500/513, the Windows defaults, as Administrator's uid/gid.
16130 (fstat): Use pw_uid and pw_gid from the_passwd structure for
16131 st_uid and st_gid of the file.
16132
161332008-01-26 Jason Rumney <jasonr@gnu.org>
16134
16135 * w32.c (logon_network_drive): New function.
16136 (stat): Use it.
16137
161382008-01-26 Chong Yidong <cyd@stupidchicken.com>
16139
16140 * xdisp.c (pos_visible_p): Handle the case where charpos falls on
16141 invisible text covered with an ellipsis.
16142
161432008-01-25 Richard Stallman <rms@gnu.org>
16144
16145 * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
16146 jump back to beginning. Move some other initializations after that.
16147 (Qwindow_text_change_functions, Vwindow_text_change_functions):
16148 New variables.
16149 (syms_of_xdisp): Init them.
16150
16151 * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
16152
16153 * buffer.c (reset_buffer_local_variables):
16154 Implement `permanent-local-hook'.
16155 (Qpermanent_local_hook): New variable.
16156 (syms_of_buffer): Init and staticpro it.
16157
161582008-01-25 Michael Albinus <michael.albinus@gmx.de>
16159
16160 * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
16161
161622008-01-25 Thien-Thi Nguyen <ttn@gnuvola.org>
16163
16164 * fns.c (Fclrhash): Return TABLE.
16165
161662008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16167
16168 * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
16169 (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
16170 is set even without positional changes.
16171 (x_scroll_bar_clear): Set bar->redraw_needed_p.
16172
16173 * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
16174
161752008-01-23 Jason Rumney <jasonr@gnu.org>
16176
16177 * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
16178
16179 * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
16180 the unicode range available in MULE by locale-coding-system.
16181 Improve dbcs lead byte detection. Set event timestamp and modifiers
16182 earlier.
16183
161842008-01-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16185
16186 * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
16187 [MAC_OSX] (init_mac_osx_environment): Initialize it.
16188 [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
16189 when used on child processes.
16190
161912008-01-21 Michael Albinus <michael.albinus@gmx.de>
16192
16193 * dbusbind.c (Fdbus_method_return_internal): Rename from
16194 Fdbus_method_return.
16195 (Fdbus_unregister_object): Move to dbus.el.
16196 (Fdbus_call_method, Fdbus_method_return_internal)
16197 (Fdbus_send_signal): Improve debug messages.
16198
161992008-01-20 Martin Rudalics <rudalics@gmx.at>
16200
16201 * undo.c (undo_inhibit_record_point): New variable.
16202 (syms_of_undo): Initialize it.
16203 (record_point): Don't record point when undo_inhibit_record_point
16204 is set.
16205
162062008-01-19 Stefan Monnier <monnier@iro.umontreal.ca>
16207
16208 * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
16209
16210 * xdisp.c (Qauto_hscroll_mode): New var.
16211 (syms_of_xdisp): Initialize it.
16212 (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
16213 window's buffer.
16214 (hscroll_windows): Don't check automatic_hscrolling_p here.
16215
16216 * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
16217 vscroll if we're setting window-buffer to the value it already has.
16218
162192008-01-18 Dan Nicolaescu <dann@ics.uci.edu>
16220
16221 * m/intel386.h: Remove references to XENIX.
16222
162232008-01-17 Andreas Schwab <schwab@suse.de>
16224
16225 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
16226 instead of HAVE_X86_64_LIB64_DIR.
16227 * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
16228
162292008-01-17 Glenn Morris <rgm@gnu.org>
16230
16231 * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
16232 to HAVE_X86_64_LIB64_DIR.
16233
162342008-01-16 Dan Nicolaescu <dann@ics.uci.edu>
16235
16236 * s/irix3-3.h:
16237 * s/irix4-0.h:
16238 * s/386-ix.h:
16239 * s/domain.h:
16240 * s/hpux9-x11r4.h:
16241 * s/hpux9shxr4.h: Remove files for systems no longer supported.
16242
16243 * sysdep.c: Remove code containing references to symbols defined
16244 by unsupported systems.
16245
162462008-01-16 Glenn Morris <rgm@gnu.org>
16247
16248 * coding.c (select-safe-coding-system-function): Doc fix.
16249
162502008-01-15 Glenn Morris <rgm@gnu.org>
16251
16252 * config.in: Revert 2008-01-13 change: this is a generated file.
16253
162542008-01-13 Tom Tromey <tromey@redhat.com>
16255
16256 * lisp.h: Fix typo.
16257
162582008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
16259
16260 * m/sequent-ptx.h:
16261 * m/sequent.h:
16262 * s/ptx.h:
16263 * s/ptx4-2.h:
16264 * s/ptx4.h: Remove files for systems no longer supported.
16265
16266 * callproc.c (Fcall_process): Fix previous change.
16267
162682008-01-13 Dan Nicolaescu <dann@ics.uci.edu>
16269
16270 * unexsunos4.c: Remove file, system not supported anymore.
16271
16272 * m/mips.h:
16273 * m/intel386.h:
16274 * callproc.c:
16275 * config.in:
16276 * ecrt0.c:
16277 * emacs.c:
16278 * fileio.c:
16279 * frame.c:
16280 * getpagesize.h:
16281 * keyboard.c:
16282 * lread.c:
16283 * process.c:
16284 * puresize.h:
16285 * sysdep.c:
16286 * systty.h:
16287 * syswait.h:
16288 * unexec.c:
16289 * xdisp.c:
16290 * alloc.c: Remove code containing references to symbols defined by
16291 unsupported systems.
16292
162932008-01-11 Kenichi Handa <handa@ni.aist.go.jp>
16294
16295 * coding.c (detect_coding_mask): Fix previous change.
16296
162972008-01-09 Kenichi Handa <handa@ni.aist.go.jp>
16298
16299 * coding.c (detect_coding_iso2022): New arg
16300 latin_extra_code_state. Allow Latin extra codes only
16301 when *latin_extra_code_state is nonzero.
16302 (detect_coding_mask): If there is a NULL byte, detect the encoding
16303 as UTF-16 or binary. If Latin extra codes exist, detect the
16304 encoding as ISO-2022 only when there's no other proper encoding is
16305 found.
16306
163072008-01-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16308
16309 * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
16310 #ifdef MAC_OS.
16311
163122008-01-08 Richard Stallman <rms@gnu.org>
16313
16314 * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
16315
163162008-01-06 Nick Roberts <nickrob@snap.net.nz>
16317
16318 * keyboard.c (parse_menu_item): Don't enclose key bindings on
16319 menu bar in parentheses.
16320
163212008-01-06 Dan Nicolaescu <dann@ics.uci.edu>
16322
16323 * m/7300.h:
16324 * m/acorn.h:
16325 * m/alliant-2800.h:
16326 * m/alliant.h:
16327 * m/alliant1.h:
16328 * m/alliant4.h:
16329 * m/altos.h:
16330 * m/amdahl.h:
16331 * m/apollo.h:
16332 * m/att3b.h:
16333 * m/aviion-intel.h:
16334 * m/aviion.h:
16335 * m/celerity.h:
16336 * m/clipper.h:
16337 * m/cnvrgnt.h:
16338 * m/convex.h:
16339 * m/cydra5.h:
16340 * m/delta88k.h:
16341 * m/dpx2.h:
16342 * m/dual.h:
16343 * m/elxsi.h:
16344 * m/f301.h:
16345 * m/gould-np1.h:
16346 * m/gould.h:
16347 * m/i860.h:
16348 * m/ibmps2-aix.h:
16349 * m/ibmrt-aix.h:
16350 * m/ibmrt.h:
16351 * m/irist.h:
16352 * m/is386.h:
16353 * m/isi-ov.h:
16354 * m/mega68.h:
16355 * m/mg1.h:
16356 * m/news-r6.h:
16357 * m/news-risc.h:
16358 * m/news.h:
16359 * m/nh3000.h:
16360 * m/nh4000.h:
16361 * m/ns16000.h:
16362 * m/ns32000.h:
16363 * m/nu.h:
16364 * m/orion.h:
16365 * m/orion105.h:
16366 * m/paragon.h:
16367 * m/pfa50.h:
16368 * m/plexus.h:
16369 * m/pyramid.h:
16370 * m/pyrmips.h:
16371 * m/sh3el.h:
16372 * m/sps7.h:
16373 * m/sr2k.h:
16374 * m/stride.h:
16375 * m/sun1.h:
16376 * m/sun2.h:
16377 * m/sun3-68881.h:
16378 * m/sun3-fpa.h:
16379 * m/sun3-soft.h:
16380 * m/sun3.h:
16381 * m/sun386.h:
16382 * m/symmetry.h:
16383 * m/tad68k.h:
16384 * m/tahoe.h:
16385 * m/targon31.h:
16386 * m/tek4300.h:
16387 * m/tekxd88.h:
16388 * m/tower32.h:
16389 * m/tower32v3.h:
16390 * m/ustation.h:
16391 * m/wicat.h:
16392 * m/xps100.h:
16393 * s/cxux.h:
16394 * s/cxux7.h:
16395 * s/dgux.h:
16396 * s/dgux4.h:
16397 * s/dgux5-4-3.h:
16398 * s/dgux5-4r2.h:
16399 * s/esix.h:
16400 * s/esix5r4.h:
16401 * s/hiuxmpp.h:
16402 * s/hiuxwe2.h:
16403 * s/iris3-5.h:
16404 * s/iris3-6.h:
16405 * s/isc2-2.h:
16406 * s/isc3-0.h:
16407 * s/isc4-0.h:
16408 * s/isc4-1.h:
16409 * s/newsos5.h:
16410 * s/newsos6.h:
16411 * s/osf1.h:
16412 * s/osf5-0.h:
16413 * s/riscix1-1.h:
16414 * s/riscix12.h:
16415 * s/sco4.h:
16416 * s/sco5.h:
16417 * s/sunos4-0.h:
16418 * s/sunos4-1.h:
16419 * s/sunos413.h:
16420 * s/sunos4shr.h:
16421 * s/umax.h:
16422 * s/unipl5-2.h:
16423 * s/xenix.h:
16424 * cxux-crt0.s:
16425 * unexapollo.c:
16426 * unexconvex.c:
16427 * unexenix.c:
16428 * unexsni.c: Remove files for systems no longer supported.
16429
16430 * m/intel386.h: Remove references to unsupported systems.
16431
16432 * w32.c (get_emacs_configuration): Remove reference to i860.
16433
16434 * sysdep.c: Remove dead code.
16435
164362008-01-05 Dan Nicolaescu <dann@ics.uci.edu>
16437
16438 * s/rtu.h:
16439 * m/masscomp.h: Remove files. Platform is obsolete.
16440
164412008-01-04 Michael Albinus <michael.albinus@gmx.de>
16442
16443 * dbusbind.c (Fdbus_method_return): New function.
16444 (xd_read_message): Add the serial number to the event.
16445 (Fdbus_register_method): Activate the function.
16446
164472008-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
16448
16449 * keyboard.c (read_key_sequence): Fix typo.
16450
164512008-01-03 Michael Albinus <michael.albinus@gmx.de>
16452
16453 * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
16454 (xd_signature, xd_append_arg): Handle element type detection for
16455 empty arrays.
16456 (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
16457 SDATA () calls; this must be solved more general.
16458 (Fdbus_register_signal): Use SBYTES instead of strlen.
16459
164602008-01-03 Magnus Henoch <magnus@zemdatav>
16461
16462 * dbusbind.c (xd_append_arg): Use unsigned char instead of
16463 unsigned int for byte values (necessary for big-endian platform).
16464 (Fdbus_call_method): Handle the case of no returned arguments.
16465
164662007-12-31 Tom Tromey <tromey@redhat.com> (tiny change)
16467
16468 * dbusbind.c (xd_read_message): Use non-static input_event struct.
16469
164702007-12-31 Magnus Henoch <mange@freemail.hu>
16471
16472 * dbusbind.c (xd_signature): Signature of variant is just "v".
16473
164742007-12-30 Michael Albinus <michael.albinus@gmx.de>
16475
16476 * dbusbind.c: Fix several errors and compiler warnings.
16477 Reported by Tom Tromey <tromey@redhat.com>.
16478 (XD_ERROR, XD_DEBUG_MESSAGE)
16479 (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
16480 (xd_append_arg): Part for basic D-Bus types rewritten.
16481 (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
16482 DBUS_TYPE_(U)INT16. Don't call XD_DEBUG_MESSAGE with "%f" if not
16483 appropriate.
16484 (xd_read_message): Return Qnil. Don't signal an error; it is not
16485 useful during event reading.
16486 (Fdbus_register_signal): Signal an error if the check for
16487 FUNCTIONP fails.
16488 (Fdbus_register_method): New function. The implementation is not
16489 complete, the call of the function signals an error therefore.
16490 (Fdbus_unregister_object): New function, renamed from
16491 Fdbus_unregister_signal. The initial check signals an error, if
16492 the object is not well formed.
16493
164942007-12-30 Richard Stallman <rms@gnu.org>
16495
16496 * textprop.c (get_char_property_and_overlay):
16497 Signal error if POSITION is out of range in a buffer.
16498
164992007-12-29 Martin Rudalics <rudalics@gmx.at>
16500
16501 * w32fns.c (Fx_create_frame): Make copy of frame parameters
16502 because the original parameters are in pure storage now.
16503
165042007-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16505
16506 * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
16507
165082007-12-22 Eli Zaretskii <eliz@gnu.org>
16509
16510 * callint.c (syms_of_callint) <command-history>: Add reference to
16511 history-length in the doc string.
16512
165132007-12-17 Jason Rumney <jasonr@gnu.org>
16514
16515 * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
16516 before passing as wParam.
16517
165182007-12-22 Michael Albinus <michael.albinus@gmx.de>
16519
16520 * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
16521 DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
16522 DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
16523 Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
16524 as number.
16525 (Fdbus_call_method): Fix docstring.
16526
165272007-12-21 Michael Albinus <michael.albinus@gmx.de>
16528
16529 * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
16530 New macros.
16531 (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
16532 (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
16533 Simplify.
16534 (xd_signature): New function.
16535 (xd_append_arg): Compute also signatures. Major rewrite.
16536 (xd_retrieve_arg): Make debug messages friendly.
16537 (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
16538 Check for signatures of arguments.
16539
165402007-12-19 Michael Albinus <michael.albinus@gmx.de>
16541
16542 * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
16543 (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
16544 (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
16545 (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
16546 (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
16547 (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
16548 (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
16549 (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
16550 (xd_retrieve_value): Remove. Functionality included in ...
16551 (xd_append_arg): New function.
16552 (Fdbus_call_method, Fdbus_send_signal): Apply it.
16553
165542007-12-16 Michael Albinus <michael.albinus@gmx.de>
16555
16556 * dbusbind.c (top): Include <stdio.h>.
16557 (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
16558 dbus_message_new_method_call and dbus_message_new_signal.
16559 (Fdbus_register_signal): Rename unique_name to uname.
16560 Check handler for FUNCTIONP instead of CHECK_SYMBOL. Handle case of
16561 non-existing unique name. Fix typos in matching rule. Return an
16562 object which is useful in Fdbus_unregister_signal.
16563 (Fdbus_unregister_signal): Reimplementation, in order to remove
16564 only the corresponding entry.
16565 (Vdbus_registered_functions_table): Change the order of entries.
16566 Apply these changes in xd_read_message and Fdbus_register_signal.
16567
165682007-12-16 Andreas Schwab <schwab@suse.de>
16569
16570 * fileio.c (Finsert_file_contents): Fix overflow check to not
16571 depend on undefined integer overflow.
16572
165732007-12-14 Jason Rumney <jasonr@gnu.org>
16574
16575 * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
16576 for characters above 127.
16577
165782007-12-13 Jason Rumney <jasonr@gnu.org>
16579
16580 * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
16581 before dereferencing array.
16582 (lookup_vk_code): Remove zero comparison.
16583
165842007-12-14 Michael Albinus <michael.albinus@gmx.de>
16585
16586 * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
16587 (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
16588 Use `unsigned int' instead of `uint'.
16589 (xd_read_message, Fdbus_register_signal): Split expressions into
16590 multiple lines before operators "&&" and "||", according to the
16591 GNU Coding Standards.
16592
165932007-12-14 Eli Zaretskii <eliz@gnu.org>
16594
16595 * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
16596
165972007-12-12 Juri Linkov <juri@jurta.org>
16598
16599 * buffer.c (Frename_buffer): In interactive spec replace
16600 `read-buffer' with `read-string' that uses `buffer-name-history'
16601 as history, and the current buffer's name as default.
16602
166032007-12-10 Stefan Monnier <monnier@iro.umontreal.ca>
16604
16605 * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
16606 manipulating the backtrace manually.
16607 (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
16608 (struct backtrace, backtrace_list): Remove.
16609 (command_loop_1): Remove dead var `no_direct'.
16610
16611 * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
16612 preserve non-built-in buffer-local variables.
16613 (Fkill_all_local_variables): Don't re-create&re-set permanent
16614 buffer-local variables.
16615
166162007-12-09 Juri Linkov <juri@jurta.org>
16617
16618 * buffer.c (Frename_buffer): Change interactive spec from "s" to
16619 Lisp code that uses `read-buffer' with current buffer as default.
16620
166212007-12-08 Michael Albinus <michael.albinus@gmx.de>
16622
16623 * dbusbind.c (xd_read_message): Generate an event for every
16624 registered handler. There might be several handlers registered
16625 for the same signal.
16626 (Fdbus_register_signal): Don't overwrite a registration for the
16627 same signal. Add a new registration if handlers are different.
16628 (Vdbus_registered_functions_table): Rework doc string.
16629
166302007-12-07 Michael Albinus <michael.albinus@gmx.de>
16631
16632 * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
16633 (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
16634 DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
16635 (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
16636 Unify argument lists.
16637 (xd_read_message, Fdbus_register_signal): Reorder and extend event
16638 arguments and hash table keys. Use unique name for service.
16639 (Fdbus_unregister_signal): Remove checks.
16640 (Vdbus_registered_functions_table): Fix doc string.
16641
166422007-12-05 Magnus Henoch <mange@freemail.hu>
16643
16644 * process.c (make_process): Initialize pty_flag to 0.
16645
166462007-12-05 Jason Rumney <jasonr@gnu.org>
16647
16648 * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
16649 specified XBMs.
16650
166512007-12-05 Richard Stallman <rms@gnu.org>
16652
16653 * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
16654
166552007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16656
16657 * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
16658 New variable.
16659 (mac_try_close_socket) [MAC_OSX]: New function.
16660 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
16661 Update cfsockets_for_select. Replace invalid CFRunLoop source.
16662
16663 * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
16664 Use mac_try_close_socket.
16665
166662007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16667
16668 * unexmacosx.c (unrelocate): New argument BASE. Use it instead of
16669 reloc_base.
16670 (copy_dysymtab): Compute relocation base here.
16671 (rebase_reloc_address) [__ppc64__]: New function.
16672 (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
16673 changed.
16674
166752007-12-05 Jason Rumney <jasonr@gnu.org>
16676
16677 * w32proc.c (sys_spawnve): Quote args with wildcards.
16678
166792007-12-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16680
16681 * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
16682 __objc_* sections.
16683 (unrelocate) [_LP64]: Set relocation base to address of data segment.
16684
166852007-12-05 Michael Albinus <michael.albinus@gmx.de>
16686
16687 * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
16688 Move check for Vdbus_registered_functions_table to
16689 xd_read_queued_messages.
16690 (xd_read_queued_messages): Protect xd_read_message calls by
16691 internal_condition_case_1.
16692
166932007-12-04 Michael Albinus <michael.albinus@gmx.de>
16694
16695 * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
16696 Qdbus_system_bus and Qdbus_session_bus, respectively.
16697 (Vdbus_intern_symbols): Remove.
16698 (Vdbus_registered_functions_table): New hash table.
16699 (XD_SYMBOL_INTERN_SYMBOL): Remove.
16700 (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
16701 Rewrite in order to manage registered functions by hash table
16702 Vdbus_registered_functions_table.
16703
167042007-12-03 Jan Djärv <jan.h.d@swipnet.se>
16705
16706 * xterm.c: Update URL to Window Manager Specification in comment.
16707
167082007-12-02 Michael Albinus <michael.albinus@gmx.de>
16709
16710 * config.in (HAVE_DBUS): Add.
16711
16712 * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
16713 (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
16714 (obj): Add $(DBUS_OBJ).
16715 (LIBES): Add $(DBUS_LIBS).
16716 (dbusbind.o): New target.
16717
16718 * dbusbind.c: New file.
16719
16720 * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
16721
16722 * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
16723 (Qdbus_event): New Lisp symbol.
16724 (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
16725 (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
b97439ce 16726 (keys_of_keyboard): Define dbus-event.
aac0c6e3
MR
16727
16728 * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
16729
167302007-12-01 Richard Stallman <rms@gnu.org>
16731
16732 * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
16733
167342007-11-30 Jason Rumney <jasonr@gnu.org>
16735
16736 * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
16737 (w32con_reset_terminal_modes): Clear screen buffer.
16738 (w32_face_attributes): Don't use color indexes that are out of range.
16739 Only reverse the default colors.
16740
16741 * xfaces.c (map_tty_color, tty_color_name): Remove special case for
16742 WINDOWSNT.
16743
16744 * w32console.c, w32term.h (vga_stdcolor_name): Remove.
16745
167462007-11-29 Jason Rumney <jasonr@gnu.org>
16747
16748 * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
16749 (w32_face_attributes): Use Vtty_defined_color_alist to determine
16750 if the terminal colors are initialized.
16751 (unspecified_fg, unspecified_bg): Remove unused declarations.
16752
167532007-11-29 Andreas Schwab <schwab@suse.de>
16754
16755 * keyboard.c (apply_modifiers): Fix typo.
16756
167572007-11-29 Richard Stallman <rms@gnu.org>
16758
16759 * keymap.c (Fcurrent_local_map): Doc fix.
16760
167612007-11-28 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
16762
16763 * s/gnu-kfreebsd.h: New file.
16764
167652007-11-28 Stefan Monnier <monnier@iro.umontreal.ca>
16766
16767 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
16768 Don't cast redundantly.
16769
16770 * keyboard.c (KEY_TO_CHAR): New macro.
16771 (parse_modifiers, apply_modifiers): Accept integer arguments.
16772 (read_key_sequence): Use them to unify the "shift->unshift" mapping
16773 for chars and symbol keys.
16774 After doing such remapping, apply function-key-map again.
16775
167762007-11-27 Dan Nicolaescu <dann@ics.uci.edu>
16777
16778 * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
16779 compiled anymore.
16780
167812007-11-26 Andreas Schwab <schwab@suse.de>
16782
16783 * process.c (list_processes_1): Fix indentation level of the
16784 command column.
16785
167862007-11-23 Andreas Schwab <schwab@suse.de>
16787
16788 * editfns.c (Fformat): Handle %c specially since it requires the
16789 argument to be of type int.
16790
167912007-11-23 Markus Triska <markus.triska@gmx.at>
16792
16793 * emacs.c (main): Call init_editfns before init_process, since
16794 init_process sets Vprocess_connection_type depending on OS release.
16795
167962007-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
16797
16798 * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
16799 (find_symbol_value): Use do_symval_forwarding.
16800
16801 * data.c (set_internal): Set the value in the `cons-cell' (for
16802 Buffer_Local_values) not only for frame-local variables.
16803
168042007-11-22 Andreas Schwab <schwab@suse.de>
16805
16806 * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
16807 values to sprintf.
16808 * keymap.c (Fsingle_key_description): Likewise.
16809 * print.c (print_object): Likewise.
16810
168112007-11-22 Jan Djärv <jan.h.d@swipnet.se>
16812
16813 * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
16814 file for image is nil.
16815
168162007-11-22 Dan Nicolaescu <dann@ics.uci.edu>
16817
16818 * term.c: Include stdarg.h.
16819 (fatal): Implement using varargs.
16820 * lisp.h (fatal): Add argument types. (Restore 2005-09-30 change).
16821
168222007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
16823
16824 * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
16825 * data.c (store_symval_forwarding): Get type from buffer_objfwd.
16826 Update call to buffer_slot_type_mismatch.
16827 * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
16828 (buffer_slot_type_mismatch): Update.
16829 * buffer.c (buffer_local_types): Remove.
16830 (buffer_slot_type_mismatch): Get the symbol and type as arguments.
16831 (defvar_per_buffer): Set the type in the buffer_objfwd.
16832
168332007-11-21 Jason Rumney <jasonr@gnu.org>
16834
16835 * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
16836 CreateFileMapping returns NULL on failure.
16837
168382007-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
16839
16840 * search.c (Fset_match_data): Remove the `evaporate' feature.
16841 (unwind_set_match_data): Don't use the `evaporate' feature.
16842
168432007-11-21 Jason Rumney <jasonr@gnu.org>
16844
16845 * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
16846
16847 * w32console.c (w32con_write_glyphs): Remove unused variables.
16848
168492007-11-20 Dan Nicolaescu <dann@ics.uci.edu>
16850
16851 * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
16852
16853 * s/darwin.h (MULTI_KBOARD): Remove.
16854
16855 * macfns.c (x_create_tip_frame, Fx_create_frame)
16856 (x_create_tip_frame): Don't deal with MULTI_KBOARD.
16857
168582007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
16859
16860 * buffer.c (Fbuffer_local_value): Remove redundant test.
16861 (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
16862 than in `current-buffer' to match the comment.
16863 Do the swap using swap_in_global_binding.
16864
16865 * data.c (store_symval_forwarding, set_internal):
16866 * eval.c (specbind): Remove dead code.
16867
16868 * coding.c (detect_coding, Fupdate_coding_systems_internal):
16869 * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
16870 Since we do not want to see internal Lisp_*fwd objects here.
16871
168722007-11-18 Jan Djärv <jan.h.d@swipnet.se>
16873
16874 * sysdep.c (init_system_name): Use getaddrinfo if available.
16875
16876 * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
16877 (x_scroll_bar_note_movement): start, end, with, height in struct
16878 scroll_bar are integers and not Lisp_Object, so remove XINT for them.
16879
168802007-11-17 Dan Nicolaescu <dann@ics.uci.edu>
16881
16882 * puresize.h (BASE_PURESIZE): Increase to 1190000.
16883
168842007-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
16885
16886 * buffer.h (struct buffer): Move `undo_list' back to before `name'.
16887 This undoes Richard's change of 14-Oct-2002.
16888
16889 * alloc.c (allocate_other_vector):
16890 * lisp.h (allocate_other_vector): Remove.
16891
16892 * window.c (struct save_window_data): Move non-lisp data to the end
16893 and make it `int' rather than Lisp_Object.
16894 (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
16895 Done wrap/unwrap integer values.
16896 (Fset_window_configuration, compare_window_configurations):
16897 Update use of fields to their new types.
16898
16899 * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
16900 Turn integer fields into `int'. Merge x_window_low and x_window_high.
16901 (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
16902 (SET_SCROLL_BAR_X_WINDOW): Remove.
16903 (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
16904 Access the new x_window field directly.
16905 * xterm.c (x_scroll_bar_create): Use a pseudovector.
16906 Don't wrap/unwrap integers into Lisp_Objects.
16907 (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
16908 (x_scroll_bar_report_motion):
16909 Don't wrap/unwrap integers into Lisp_Objects.
16910 (x_term_init): Use SDATA.
16911 (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
16912 (x_scroll_bar_set_handle, x_scroll_bar_remove)
16913 (XTset_vertical_scroll_bar, x_scroll_bar_expose)
16914 (x_scroll_bar_report_motion, x_scroll_bar_clear):
16915 * xfns.c (x_set_background_color):
16916 * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
16917 Access the new x_window field directly.
16918
16919 * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
16920 (allocate_pseudovector): Make non-static.
16921
16922 * lisp.h (enum pvec_type): New tag PVEC_OTHER.
16923 (allocate_pseudovector): Declare.
16924 (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
16925
169262007-11-15 Andreas Schwab <schwab@suse.de>
16927
16928 * editfns.c (Fformat): Correctly format EMACS_INT values.
16929 Also take precision into account when formatting an integer.
16930
16931 * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
16932
169332007-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
16934
16935 * keyboard.c (Fevent_symbol_parse_modifiers): New function.
16936 (syms_of_keyboard): Defsubr it.
16937
16938 * data.c (swap_in_global_binding): Fix longstanding bug where
16939 store_symval_forwarding was not called with the right second argument,
16940 thus causing objfwd-ing from being dropped.
16941
169422007-11-14 Juanma Barranquero <lekktu@gmail.com>
16943
16944 * macfns.c (Fx_create_frame, Fx_display_pixel_width)
16945 (Fx_display_pixel_height, Fx_display_planes)
16946 (Fx_display_color_cells, Fx_server_max_request_size)
16947 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
16948 (Fx_display_visual_class, Fx_display_save_under):
16949 * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
16950 (Fx_display_pixel_height, Fx_display_planes)
16951 (Fx_display_color_cells, Fx_server_max_request_size)
16952 (Fx_server_vendor, Fx_server_version, Fx_display_screens)
16953 (Fx_display_mm_height, Fx_display_mm_width)
16954 (Fx_display_backing_store, Fx_display_visual_class)
16955 (Fw32_select_font, Fx_display_save_under):
16956 * xfns.c (Fx_create_frame, Fx_display_pixel_width)
16957 (Fx_display_pixel_height, Fx_display_planes)
16958 (Fx_display_color_cells, Fx_server_max_request_size)
16959 (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
16960 (Fx_display_save_under): Fix typos in docstrings.
16961
169622007-11-14 Juanma Barranquero <lekktu@gmail.com>
16963
16964 * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
16965 corresponding to deleted entries; they are an implementation detail.
16966 (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
16967 Remove variables.
16968 (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
16969 (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
16970 (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
16971 (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
16972 (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
16973 (Fw32_define_rgb_color, Fw32_load_color_file)
16974 (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
16975 Fix typos in docstrings.
16976 (Fx_server_version): Reflow docstring.
16977 (Fw32_shell_execute): Doc fixes.
16978
169792007-11-13 Juanma Barranquero <lekktu@gmail.com>
16980
16981 * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
16982 if w32_parse_hot_key returned nil.
16983
169842007-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
16985
16986 * xdisp.c (load_overlay_strings): Fix copy&paste typo.
16987
169882007-11-09 Jason Rumney <jasonr@gnu.org>
d6c952f8 16989
aac0c6e3
MR
16990 * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
16991
16992 * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
16993
16994 * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
16995 Remove W32_SCROLL_BAR_CLICK_EVENT.
16996
16997 * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
16998 Add MULTIMEDIA_KEY_EVENT.
16999
17000 * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
17001 (lispy_multimedia_keys) [WINDOWSNT]: New array.
17002 (make_lispy_event) [WINDOWSNT]: Use it to translate
17003 MULTIMEDIA_KEY_EVENT.
17004
17005 * w32term.h (WM_APPCOMMAND): Define if not already.
17006 (GET_APPCOMMAND_LPARAM): Likewise.
17007
17008 * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
17009 WM_APPCOMMAND.
17010
17011 * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
17012 (syms_of_w32fns): Export and initialize it.
17013 (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
17014
170152007-11-09 Chong Yidong <cyd@stupidchicken.com>
17016
17017 * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
17018 twice.
17019
17020 * xdisp.c (handle_face_prop): Fix last change.
17021
170222007-11-09 Richard Stallman <rms@gnu.org>
17023
17024 * xdisp.c (handle_face_prop): Test for strings that came from overlays,
17025 not just for after-strings and before-strings.
17026 Call face_for_overlay_string and pass the overlay to it.
17027 (handle_display_prop): Determine whether property came from an overlay.
17028 Pass OVERLAY arg to handle_single_display_spec.
17029 (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
17030 (load_overlay_strings): Fill in it->string_overlays.
17031 (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
17032
17033 * xfaces.c (face_for_overlay_string): Function renamed from
17034 face_at_buffer_position_no_overlays, and add arg OVERLAY.
17035
17036 * dispextern.h (struct it): New elt string_overlays.
17037 New elt from_overlay, also in stack.
17038 Rearrange a few elements.
17039 (face_for_overlay_string): Decl renamed from
17040 face_at_buffer_position_no_overlays, and add argument.
17041
170422007-11-09 Richard Stallman <rms@gnu.org>
17043
17044 * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
17045 to get the base face for an overlay string.
17046
17047 * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
17048
17049 * xfaces.c (face_at_buffer_position_no_overlays): New function.
17050
17051 * xdisp.c (handle_stop): Move some code out of loop.
17052
170532007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17054
17055 * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
17056 Fix conversion from Lisp object to ATSUFontID.
17057
170582007-11-09 Jason Rumney <jasonr@gnu.org>
17059
17060 * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
17061
170622007-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17063
17064 * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
17065 Don't assume regions are aligned to page boundary.
17066 (print_load_command_name): Add LC_UUID if defined.
17067
170682007-11-09 Richard Stallman <rms@gnu.org>
17069
17070 * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
17071
170722007-11-07 Jason Rumney <jasonr@gnu.org>
17073
17074 * s/windows95.h: Remove.
17075
170762007-11-06 Jan Djärv <jan.h.d@swipnet.se>
17077
17078 * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
17079 abort with a message on unhandled store_type values.
17080
170812007-11-01 Jan Djärv <jan.h.d@swipnet.se>
17082
17083 * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
17084 Remove HAVE_X11R5 and HAVE_X11R4.
17085
170862007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
17087
17088 * Makefile.in: Remove references to sunfns.c and sunfns.o.
17089
170902007-11-01 Johan Bockgård <bojohan@gnu.org>
17091
17092 * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
17093 Don't set s->stippled_p here, since it has already been set by
17094 x_set_glyph_string_gc from x_draw_glyph_string.
17095
170962007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
17097
17098 * sunfns.c: Remove file.
17099
17100 * m/sun386.h:
17101 * m/sun2.h:
17102 * m/sparc.h: Remove Sun windows code.
17103
171042007-10-31 Stefan Monnier <monnier@iro.umontreal.ca>
17105
17106 * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
17107 (init_keyboard): Set current_kboard's window-system to nil.
17108 (tty_read_avail_input): Typo.
17109 * frame.c (make_initial_frame): Don't initialize the initial_kboard.
17110
171112007-10-31 Dan Nicolaescu <dann@ics.uci.edu>
17112
17113 * s/usg5-4.h:
17114 * s/usg5-3.h:
17115 * s/ptx.h:
17116 * m/is386.h:
17117 * m/ibmps2-aix.h:
17118 * Makefile.in: Remove all mentions of X10.
17119
17120 * dispnew.c (syms_of_display): Don't mention version 10.
17121
171222007-10-28 Juanma Barranquero <lekktu@gmail.com>
17123
17124 * makefile.w32-in (OBJ1): Remove abbrev.$(O).
17125 ($(BLD)/abbrev.$(O)): Remove.
17126
171272007-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
17128
17129 Rewrite abbrev.c in Elisp.
17130 * image.c (Qcount): Don't declare as extern.
17131 (syms_of_image): Initialize and staticpro `Qcount'.
17132 * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
17133 * emacs.c (main): Don't call syms_of_abbrev.
17134 * Makefile.in (obj): Remove abbrev.o.
17135 (abbrev.o): Remove.
17136 * abbrev.c: Remove.
17137
171382007-10-26 Martin Rudalics <rudalics@gmx.at>
17139
17140 * window.c (window_min_size_2): Don't count header-line.
17141
171422007-10-26 Dan Nicolaescu <dann@ics.uci.edu>
17143
17144 * frame.h (struct frame): Move all bit fields after the first bit
17145 field to take advantage of the available space. Group all the
17146 chars together to reduce wasted space due to padding.
17147
171482007-10-26 Juanma Barranquero <lekktu@gmail.com>
17149
17150 * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
17151
17152 * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
17153 (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
17154 (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
17155 (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
17156 (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
17157 (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
17158 (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
17159 (last_marked, mark_object_loop_halt): Make static.
17160
17161 * frame.c (syms_of_frame) <delete-frame-functions>:
17162 Fix typo in docstring.
17163
171642007-10-25 Juanma Barranquero <lekktu@gmail.com>
17165
17166 * w32.c (init_environment): Fix tiny memory leak.
17167 (w32_get_resource): Remove unused variable `ok'.
17168
171692007-10-25 Stefan Monnier <monnier@iro.umontreal.ca>
17170
17171 Make `window-system' into a keyboard-local variable (rather than
17172 frame-local as done originally by multi-tty).
17173
17174 * keyboard.h (struct kboard): Add Vwindow_system.
17175 * keyboard.c (init_kboard): Set a default for Vwindow_system.
17176 (mark_kboards): Mark Vwindow_system.
17177
17178 * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
17179 (init_display): Don't set the obsolete `window-system' frame-param.
17180
17181 * xterm.c (x_term_init):
17182 * w32term.c (w32_create_terminal):
17183 * term.c (init_tty): Set Vwindow_system.
17184 * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
17185 multi-tty merge maybe?), copied from w32term.c. Set Vwindow_system.
17186
17187 * xfns.c (Fx_create_frame, x_create_tip_frame):
17188 * w32fns.c (Fx_create_frame, x_create_tip_frame):
17189 * macfns.c (Fx_create_frame):
17190 Don't set the obsolete `window-system' frame-param.
17191
17192 * frame.h (Qwindow_system): Remove.
17193 * frame.c (Qwindow_system): Remove. In `syms_of_frame' as well.
17194 (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
17195
171962007-10-24 Richard Stallman <rms@gnu.org>
17197
17198 * frame.c (x_figure_window_size): For fullscreen case,
17199 set USPosition | PPosition without clobbering rest of window_prompting.
17200
17201 * keyboard.c (Fcurrent_idle_time): Doc fix.
17202
17203 * print.c (Fwith_output_to_temp_buffer): Doc fix.
17204
172052007-10-23 Stefan Monnier <monnier@iro.umontreal.ca>
17206
17207 * process.c (unwind_request_sigio): Only define if __ultrix__.
17208
17209 * callproc.c (child_setup): Remove spurious *.
17210
17211 * lisp.h (Fget_text_property): Declare.
17212 (have_menus_p): Declare it here rather than in sys-dep header files.
17213 * macterm.h (have_menus_p):
17214 * msdos.h (have_menus_p):
17215 * xterm.h (have_menus_p): Remove.
17216
17217 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
17218 (Fmake_variable_frame_local): Just check the variable's const-ness
17219 rather than checking nil or t.
17220
172212007-10-22 Jason Rumney <jasonr@gnu.org>
17222
17223 * w32fns.c: Include math.h.
17224 (w32_abort): Declaration moved to nt/config.nt.
17225
17226 * s/ms-w32.h (HAVE_STDLIB_H): Define.
17227 (abort): Redefinition moved to nt/config.nt.
17228
17229 * m/windowsnt.h: Remove.
17230
172312007-10-22 Juanma Barranquero <lekktu@gmail.com>
17232
17233 * emacs.c (Fdump_emacs): Fix typo in message.
17234 (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
17235 <installation-directory>: Reflow docstring.
17236
172372007-10-22 Juri Linkov <juri@jurta.org>
17238
17239 * minibuf.c: Allow minibuffer default to be a list of default values.
17240 With empty input use the first element of this list as returned default.
17241 (string_to_object)
17242 (read_minibuf_noninteractive): If defalt is cons, set val to its car.
17243 (read_minibuf): If defalt is cons, set histstring to its car.
17244 (Fread_string): If default_value is cons, set val to its car.
17245 (Fread_buffer): If def is cons, use its car.
17246 (Fcompleting_read): If defalt is cons, set val to its car.
17247
172482007-10-21 Michael Albinus <michael.albinus@gmx.de>
17249
17250 * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
17251
172522007-10-20 Juanma Barranquero <lekktu@gmail.com>
17253
17254 * doc.c (Fdocumentation): Check for advice in all cases.
17255
172562007-10-19 Chong Yidong <cyd@stupidchicken.com>
17257
17258 * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
17259
172602007-10-19 Richard Stallman <rms@gnu.org>
17261
17262 * doc.c (Fdocumentation): Check for and handle an advised function.
17263
172642007-10-19 Juanma Barranquero <lekktu@gmail.com>
17265
17266 * process.c (Fset_process_filter): Doc fix.
17267
172682007-10-18 Stefan Monnier <monnier@iro.umontreal.ca>
17269
17270 * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
17271 which caused key-translation-map to applied repeatedly (thus breaking
17272 double-mode).
17273
172742007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
17275
17276 * xselect.c (x_own_selection, x_handle_selection_clear)
17277 (x_clear_frame_selections):
17278 * w32menu.c (list_of_panes, list_of_items):
17279 * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
17280 * textprop.c (validate_plist, interval_has_all_properties)
17281 (interval_has_some_properties, interval_has_some_properties_list)
17282 (add_properties, text_property_list):
17283 * process.c (Fget_buffer_process, list_processes_1, status_notify):
17284 * minibuf.c (Fassoc_string):
17285 * macselect.c (x_own_selection, x_clear_frame_selections)
17286 (Fx_disown_selection_internal):
17287 * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
17288 Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
17289
172902007-10-17 Chong Yidong <cyd@stupidchicken.com>
17291
17292 * process.c: Link to libs for calling res_init() if available.
17293 (Fmake_network_process): Call res_init() before getaddrinfo or
17294 gethostbyname, if possible.
17295
172962007-10-17 Stefan Monnier <monnier@iro.umontreal.ca>
17297
17298 * lread.c (read1): Set pvectype for char_tables.
17299
17300 * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
17301 (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
17302 Add type checks.
17303 (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
17304
17305 * alloc.c (free_misc): Use XMISCTYPE.
17306 (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
17307
173082007-10-17 Glenn Morris <rgm@gnu.org>
17309
17310 * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
17311 (syms_of_minibuf): Add Qcompletion_ignore_case.
17312 * dired.c (Qcompletion_ignore_case): Change to external.
17313 (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
17314 * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
17315 (Fread_file_name): Use it rather than intern'ing.
17316
17317 * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
17318 (Fread_coding_system): Ignore case of user input.
17319
173202007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17321
17322 * xdisp.c (handle_display_prop): Ignore display specs after
17323 replacing one when string text is being replaced.
17324 (handle_single_display_spec): Pretend as if characters with display
17325 property haven't been consumed only when buffer text is being replaced.
17326
173272007-10-16 Stefan Monnier <monnier@iro.umontreal.ca>
17328
17329 * xfns.c (Fx_create_frame, Fx_display_list):
17330 * window.c (window_fixed_size_p, enlarge_window)
17331 (shrink_window_lowest_first):
17332 * macterm.c (init_font_name_table):
17333 * macfns.c (Fx_create_frame, Fx_display_list):
17334 * lread.c (close_load_descs):
17335 * keyboard.c (read_char_x_menu_prompt):
17336 * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
17337 * coding.c (code_convert_region_unwind): Test the type of an object
17338 rather than just !NILP before extracting data from it.
17339
17340 * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
17341
17342 * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
17343 (XMISCANY): New macro.
17344 (XMISCTYPE): Use it.
17345 (struct Lisp_Misc_Any): New type.
17346 (union Lisp_Misc): Use it.
17347 (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
17348 * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
17349 (find_symbol_value, set_internal, default_value, Fset_default)
17350 (Fmake_variable_buffer_local, Fmake_local_variable)
17351 (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
17352 (Flocal_variable_if_set_p, Fvariable_binding_locus):
17353 The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
17354 * alloc.c (allocate_buffer): Set the size and tag.
17355 (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
17356 Use XMISCANY.
17357 (die): Follow the GNU convention for error messages.
17358 * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
17359 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
17360 tag any more.
17361 (set_buffer_internal_1):
17362 * frame.c (store_frame_param):
17363 * eval.c (specbind):
17364 * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
17365
17366 * doc.c (Fsnarf_documentation): Simplify.
17367
173682007-10-14 Juanma Barranquero <lekktu@gmail.com>
17369
17370 * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
17371 (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
17372
173732007-10-14 Stefan Monnier <monnier@iro.umontreal.ca>
17374
17375 * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
17376
173772007-10-14 Juanma Barranquero <lekktu@gmail.com>
17378
17379 * eval.c (do_autoload): Don't save autoloads.
17380
17381 * data.c (Ffset): Save autoload of the function being set.
17382
173832007-10-07 John Paul Wallington <jpw@pobox.com>
17384
17385 * xfns.c (x_create_tip_frame): Set the `display-type' frame
17386 parameter before setting up faces.
17387
173882007-10-13 Eli Zaretskii <eliz@gnu.org>
17389
17390 * ccl.c (Fregister_code_conversion_map):
17391 * keyboard.c (append_tool_bar_item): Reformat last change.
17392
17393 * lisp.h (eabs): Rename from `abs'. All callers changed.
17394
173952007-10-05 Dmitry Antipov <dmantipov@yandex.ru>
17396
17397 * buffer.c (add_overlay_mod_hooklist):
17398 * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
17399 * fontset.c (make_fontset):
17400 * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
17401 (append_tool_bar_item):
17402 * macmenu.c (grow_menu_items):
17403 * w32menu.c (grow_menu_items):
17404 * xmenu.c (grow_menu_items): Use larger_vector.
17405
174062007-10-13 Eli Zaretskii <eliz@gnu.org>
17407
17408 * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
17409 selected frame'' on MSDOS).
17410
174112007-10-12 Martin Rudalics <rudalics@gmx.at>
17412
17413 * frame.c (Qexplicit_name): New variable.
17414 (x_report_frame_params): Report it in parameter alist.
17415 (syms_of_frame): Intern and staticpro it.
17416
174172007-10-10 Patrick Mahan <mahan@mahan.org> (tiny change)
17418
17419 * macfns.c (x_create_tip_frame): Set terminal for frame.
17420
174212007-10-10 Stefan Monnier <monnier@iro.umontreal.ca>
17422
17423 * frame.c (Qenvironment): Remove.
17424 (syms_of_frame) <Qenvironment>: Don't initialize.
17425 (Fdelete_frame): Don't treat the `environment' param specially.
17426 * frame.h (Qenvironment): Don't declare.
17427 * callproc.c (set_initial_environment): Don't set unused frame param.
17428
17429 * frame.c (Fframe_with_environment): Remove.
17430 (syms_of_frame) <Sframe_with_environment>: Don't declare.
17431
17432 * lisp.h (Fframe_with_environment): Don't declare.
17433
174342007-10-10 Juanma Barranquero <lekktu@gmail.com>
17435
17436 * indent.c (indent_tabs_mode, last_known_column)
17437 (last_known_column_modified): Make static.
17438 (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
17439
174402007-10-10 Katsumi Yamaoka <yamaoka@jpl.org>
17441
17442 * puresize.h (BASE_PURESIZE): Increase to 1170000.
17443
174442007-10-09 Jason Rumney <jasonr@gnu.org>
17445
17446 * w32term.c (x_set_window_size): Disable code that attempts to tell
17447 Lisp code about a size change before it actually happens.
17448
174492007-10-09 Richard Stallman <rms@gnu.org>
17450
17451 * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
17452 return HANDLED_RETURN.
17453
174542007-10-08 Martin Rudalics <rudalics@gmx.at>
17455
17456 * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
17457 when there's an unread command event.
17458
17459 * frame.c (focus_follows_mouse): Move here from frame.el to allow
17460 window autoselection act appropriately when leaving selected frame.
17461 (syms_of_frame): Initialize focus_follows_mouse.
17462 * frame.h (focus_follows_mouse): Extern it.
17463 * macterm.c (XTread_socket): When focus_follows_mouse is nil
17464 make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
17465 * msdos.c (dos_rawgetc): Likewise.
17466 * w32term.c (w32_read_socket): Likewise.
17467 * xterm.c (handle_one_xevent): Likewise.
17468 * xdisp.c (syms_of_xdisp): In doc-string of
17469 mouse-autoselect-window mention focus-follows-mouse.
17470
174712007-10-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
17472
17473 * macterm.c (mac_load_query_font): Fix missing return value.
17474 [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
17475 Add BLOCK_INPUT.
17476
174772007-10-08 Richard Stallman <rms@gnu.org>
17478
17479 * xdisp.c (get_window_cursor_type): Implement documented behavior
17480 for cursor-in-non-selected-windows = t.
17481
174822007-10-08 Jason Rumney <jasonr@gnu.org>
17483
17484 * w32.c (w32_get_resource): Always close registry keys.
17485
174862007-10-08 Jason Rumney <jasonr@gnu.org>
17487
17488 * makefile.w32-in (LIBS): Add COMCTL32.
17489
17490 * w32fns.c (globals_of_w32fns): Init common controls.
17491
174922007-10-08 Richard Stallman <rms@gnu.org>
17493
17494 * image.c (our_memory_buffer): Rename from omfib_buffer.
17495
174962007-10-08 Richard Stallman <rms@gnu.org>
17497
17498 * buffer.c (Foverlays_at): Doc fix.
17499
175002007-10-08 Stefan Monnier <monnier@iro.umontreal.ca>
17501
17502 * fns.c (Fplist_put): Preserve uneven tail data.
17503
175042007-10-08 Peter O'Gorman <bug-gnu-emacs@mlists.thewrittenword.com> (tiny change)
17505
17506 * termhooks.h (enum event_kind): Remove trailing comma.
17507
17508 * frame.h (enum): Remove trailing comma.
17509
175102007-10-08 Dhruva Krishnamurthy <dhruvakm@gmail.com> (tiny change)
17511
17512 * w32proc.c (delete_child): Don't terminate threads of zombies.
17513
175142007-10-08 Martin Rudalics <rudalics@gmx.at>
17515
17516 * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
17517
17518 * keyboard.c (syms_of_keyboard): Set up new Lisp variable
17519 last-repeatable-command.
17520 (init_kboard): Initialize Vlast_repeatable_command.
17521 (command_loop_1): Set it to real_this_command unless that was
17522 bound to an input event.
17523 (mark_kboards): Mark it.
17524
175252007-10-08 Richard Stallman <rms@gnu.org>
17526
17527 * eval.c (condition-case): Doc fix.
17528
175292007-10-08 Masatake YAMATO <jet@gyve.org>
17530
17531 * xfaces.c (tty_supports_face_attributes_p): Fix code
17532 for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
17533 was copied and not edited.
17534
175352007-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
17536
17537 Add new `input-decode-map' keymap and use it for terminal
17538 escape sequences.
17539 * keyboard.h (struct kboard): Add Vinput_decode_map.
17540 Remove Vlocal_key_translation_map.
17541 * keyboard.c (read_key_sequence): Add support for input-decode-map.
17542 (init_kboard): Init input-decode-map.
17543 Replace local-key-translation-map back with key-translation-map.
17544 (syms_of_keyboard): Declare input-decode-map.
17545 Remove local-key-translation-map. Update docstrings.
17546 (mark_kboards): Mark Vinput_decode_map.
17547 Don't mark Vlocal_key_translation_map.
17548 * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
17549 Replace local-key-translation-map back with key-translation-map.
17550 * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
17551 Bind in input-decode-map rather than function-key-map.
17552
17553 * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
17554 This was made redundant by the previous introduction of XSETPVECTYPE.
17555
175562007-10-09 Richard Stallman <rms@gnu.org>
17557
17558 * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
17559
175602007-09-29 Richard Stallman <rms@gnu.org>
17561
17562 * eval.c (internal_condition_case_2, internal_condition_case_1)
17563 (internal_condition_case): Reenable abort if x_catching_errors ()
17564 to see if that really happens and why.
17565
175662007-10-06 Andreas Schwab <schwab@suse.de>
17567
17568 * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
17569
175702007-10-04 Juanma Barranquero <lekktu@gmail.com>
17571
17572 * image.c (syms_of_image) <image-types>: Fix typo in docstring.
17573
175742007-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
17575
17576 * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
17577
175782007-10-02 Stefan Monnier <monnier@iro.umontreal.ca>
17579
17580 * window.h (struct window):
17581 * window.c (struct save_window_data, struct saved_window):
17582 * termhooks.h (struct terminal):
17583 * process.h (struct Lisp_Process):
17584 * frame.h (struct frame):
17585 * buffer.h (struct buffer):
17586 * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
17587 (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
17588 The size field of (pseudo)vectors is now unsigned.
17589 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
17590
17591 * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
17592 Turn `count' into an integer.
17593
17594 * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
17595 (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
17596 * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
17597 * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
17598 (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
17599
17600 * alloc.c (allocate_pseudovector): New fun.
17601 (ALLOCATE_PSEUDOVECTOR): New macro.
17602 (allocate_window, allocate_terminal, allocate_frame)
17603 (allocate_process): Use it.
17604 (mark_vectorlike): New function.
17605 (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
17606 (mark_terminals): Use it.
17607 (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
17608 (Fmake_byte_code): Use XSETPVECTYPE.
17609
17610 * frame.c (Fframe_parameters): Minor simplification.
17611
17612 * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
17613
17614 * marker.c (Fmarker_buffer): Make test for odd case into a failure.
17615
17616 * buffer.c (Fget_buffer_create, init_buffer_once):
17617 * lread.c (defsubr):
17618 * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
17619
17620 * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
17621 defined differently in the m/*.h files.
17622 (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
17623 (XSETPVECTYPE): New macro.
17624 (XSETPSEUDOVECTOR): Use it.
17625
17626 * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
17627 (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
17628
17629 * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
17630 * lread.c (defvar_per_buffer):
17631 * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
17632
17633 * window.c (candidate_window_p): Only consider as visible frames that
17634 are on the same terminal.
17635
17636 * m/ibms390x.h (MARKBIT): Remove unused macro.
17637
176382007-10-01 Juanma Barranquero <lekktu@gmail.com>
17639
17640 * lread.c (Fload): Fix typo in docstring.
17641
176422007-10-01 Michaël Cadilhac <michael@cadilhac.name>
17643
17644 * floatfns.c (Fexpt): Manually check for overflows, so that a power
17645 of a non-zero value can't yield zero.
17646
176472007-09-29 Stefan Monnier <monnier@iro.umontreal.ca>
17648
17649 * term.c (term_clear_mouse_face, term_mouse_highlight)
17650 (tty_write_glyphs_with_face): Only define is HAVE_GPM.
17651
17652 * print.c (safe_debug_print): Use XHASH.
17653
17654 * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
17655 Lisp elements such as tags.
17656 (XHASH): New macro.
17657 (EQ): Use it.
17658 (SREF, SSET, STRING_COPYIN): Use SDATA.
17659 (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
17660
17661 * alloc.c (mark_terminal): Remove left-over declaration.
17662 (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
17663 (allocate_vectorlike): Remove type argument. Adjust callers.
17664 (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
17665 Only handle the one remaining MEM_TYPE_VECTORLIKE.
17666
17667 * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
17668 to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
17669 (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
17670 (lisp_align_free, make_interval, allocate_string, allocate_string_data)
17671 (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
17672 Use them.
17673
17674 * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
17675 Don't let signal handlers run when a GC is freed but not yet NULL'ed.
17676 (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
17677
176782007-09-28 Dan Nicolaescu <dann@ics.uci.edu>
17679
17680 * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
17681 loaded by default.
17682
176832007-09-28 Stefan Monnier <monnier@iro.umontreal.ca>
17684
17685 * term.c (Fgpm_mouse_start): Don't signal an error if already activated
17686 on this tty.
17687 (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
17688
17689 * term.c (mouse_face_window): Rename from Qmouse_face_window.
17690 Update all users.
17691 (handle_one_term_event): Use Gpm_DrawPointer.
17692 (Fgpm_mouse_start): Rename from Fterm_open_connection.
17693 Signal errors instead of returning nil. Always return nil.
17694 (Fgpm_mouse_stop): Rename from Fterm_close_connection.
17695 Make it a noop if gpm-mouse was not activated.
17696 (syms_of_term): Update names.
17697
176982007-09-27 Stefan Monnier <monnier@iro.umontreal.ca>
17699
17700 * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
17701 (init_sys_modes): Check that gpm_tty is the current tty.
17702
17703 * alloc.c (allocate_terminal): Set the vector size to only count the
17704 lisp fields. Initialize those to nil.
17705 (mark_object): Don't treat terminals specially.
17706 (mark_terminal): Remove.
17707 (mark_terminals): Use mark_object instead.
17708
17709 * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
17710 the GC to the beginning.
17711
17712 * indent.h:
17713 * indent.c: Use EMACS_INT for ints coming from Elisp data.
17714
17715 * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
17716
177172007-09-25 Jason Rumney <jasonr@gnu.org>
17718
17719 * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
17720
17721 * w32console.c (create_w32cons_output): Remove.
17722
17723 * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
17724
17725 * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
17726 (reset_sys_modes): Use reset_terminal_modes_hook.
17727
177282007-09-24 Stefan Monnier <monnier@iro.umontreal.ca>
17729
17730 * eval.c (do_autoload): Don't output any message.
17731
177322007-09-24 Juri Linkov <juri@jurta.org>
17733
17734 * emacs.c (standard_args): Change priority of "--no-splash"
17735 from 40 to 3. Add "--no-desktop" with the same priority.
17736
177372007-09-23 Dmitry Antipov <dmantipov@yandex.ru>
17738
17739 * alloc.c (gc_sweep): Check cons cell mark bits word by word
17740 and optimize the case where they are all 1.
17741
177422007-09-23 Johannes Weiner <hannes@saeurebad.de>
17743
17744 * lisp.h (abs): Define if not defined.
17745 * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
17746 Don't define `abs', since it's defined in lisp.h.
17747
177482007-09-22 Eli Zaretskii <eliz@gnu.org>
17749
17750 * term.c (DEV_TTY): New macro. Provide a definition for MS-Windows.
17751 (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
17752 (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
17753 (init_tty): Use DEV_TTY instead of "/dev/tty".
17754 [WINDOWSNT]: No need to protect from NAME arg being null.
17755
177562007-09-21 Dan Nicolaescu <dann@ics.uci.edu>
17757
17758 * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
17759 up the tty state.
17760
177612007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
17762
17763 * termhooks.h (term_gpm): Delete. Use gpm_tty's NULLness instead.
17764 (gpm_tty): Change its type.
17765 * term.c (term_gpm): Delete. Use gpm_tty's NULLness instead.
17766 (gpm_tty): Change its type and initialize it.
17767 (Fterm_open_connection): Check the frame is indeed a tty.
17768 Use the new gpm_tty.
17769 (Fterm_close_connection): Use the new gpm_tty.
17770 * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
17771 * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
17772
177732007-09-21 Juanma Barranquero <lekktu@gmail.com>
17774
17775 * w32term.c (x_draw_glyph_string): Use strike_through_color, not
17776 underline_color, to draw strike-through.
17777
177782007-09-21 Stefan Monnier <monnier@iro.umontreal.ca>
17779
17780 * lisp.h (allocate_terminal): Declare.
17781
17782 * window.c (candidate_window_p): Consider frames that are being placed
17783 by the user as somewhere between visible and iconified.
17784 (window_loop): Prefer windows on the current frame.
17785 (Fselect_window): Move the use of select-frame to the beginning so we
17786 can just delegate all the work (it'll call us back anyway).
17787
17788 * frame.c (Qdisplay_environment_variable):
17789 * frame.h (Qdisplay_environment_variable): Delete.
17790
17791 * .gdbinit (xbacktrace): Print the arg's address rather than the value
17792 of the first arg, since that value may be a union.
17793
17794 * callproc.c (child_setup, getenv_internal): Use the frame's `display'
17795 parameter rather than Qdisplay_environment_variable. If all else
17796 fails, look for DISPLAY in initial-environment.
17797
177982007-09-21 Glenn Morris <rgm@gnu.org>
17799
17800 * Makefile.in (emacstool): Remove target.
17801 (lisp, shortlisp): Remove termdev.elc.
17802
178032007-09-21 Markus Triska <markus.triska@gmx.at>
17804
17805 * xterm.c (x_delete_display): Compile session management conditionally.
17806
178072007-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
17808
17809 * callproc.c (getenv_internal_1): New function.
17810 (getenv_internal): Use it.
17811 (Fgetenv_internal): Use it. Accept an env-list as optional arg.
17812
17813 * terminal.c (get_terminal): Don't accept ints to represent terminals.
17814 (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
17815 (Fset_terminal_parameter): Work with dead terminals as well.
17816 (Fmodify_terminal_parameters): Remove.
17817
17818 * terminal.c (get_terminal): Handle terminals.
17819 Make sure the terminal returned is live.
17820 (create_terminal): Use allocate_terminal.
17821 (mark_terminals): Move to alloc.c.
17822 (delete_terminal): Use terminal->name as liveness status.
17823 NULL out fields after freeing their contents.
17824 Don't deallocate the object.
17825 (Fframe_terminal): Use FRAME_TERMINAL. Return the terminal object
17826 rather than an int.
17827 (Fterminal_live_p): Accept non-integer arguments.
17828 (Fterminal_list): Return terminal objects rather than an ints.
17829
17830 * alloc.c (enum mem_type): New member for `terminal' objects.
17831 (allocate_terminal): New function.
17832 (mark_maybe_pointer, valid_lisp_object_p, mark_object):
17833 Handle terminals.
17834 (mark_terminal): New fun.
17835 (mark_terminals): Move from terminal.c.
17836
17837 * term.c (get_tty_terminal): Don't treat output_initial specially.
17838 (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
17839 (delete_tty): Use terminal->name as liveness status.
17840
17841 * termhooks.h (struct terminal): Make it into a pseudovector.
17842 Remove `deleted' replaced by checking `name's nullness.
17843
17844 * print.c (print_object): Handle terminals.
17845
17846 * lisp.h (enum pvec_type): New `terminal' pseudovector.
17847 (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
17848
17849 * frame.c (make_terminal_frame):
17850 * keyboard.c (tty_read_avail_input):
17851 * w32term.c (x_delete_terminal):
17852 * xfns.c (Fx_create_frame, x_create_tip_frame):
17853 * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
17854
178552007-09-20 Glenn Morris <rgm@gnu.org>
17856
17857 * process.c (Fmake_network_process): Doc fix.
17858
178592007-09-19 Jason Rumney <jasonr@gnu.org>
17860
17861 * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
17862
178632007-09-19 Michaël Cadilhac <michael@cadilhac.name>
17864
17865 * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
17866 Fix a C warning regarding variable constness.
17867
17868 * xterm.c (handle_one_xevent): Fix a C warning.
17869
178702007-09-18 Jason Rumney <jasonr@gnu.org>
17871
17872 * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
17873
178742007-09-17 Jan Djärv <jan.h.d@swipnet.se>
17875
17876 * gtkutil.c (gdpy_def): New variable.
17877 (xg_initialize): Initialize gdpy_def.
17878 (xg_display_close): If no other display exists, set gdpy_def to a
17879 new connection.
17880
178812007-09-16 Jan Djärv <jan.h.d@swipnet.se>
17882
17883 * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
17884 when we have no file name for the icon.
17885 (xg_tool_bar_expose_callback): Remove.
17886 (xg_create_tool_bar): Don't connect expose signal to
17887 xg_tool_bar_expose_callback.
17888 (xg_get_file_with_chooser): Move GCPRO1 after declarations.
17889
178902007-09-16 Andreas Schwab <schwab@suse.de>
17891
17892 * alloc.c (reset_malloc_hooks): Set the hooks to the previous
17893 values instead of zapping them.
17894
178952007-09-14 Glenn Morris <rgm@gnu.org>
17896
17897 * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
17898 * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
17899 * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
17900 scope and rename to omfib_buffer for clarity.
17901 (gif_load) <interlace_start, interlace_increment>: Move to file scope.
17902
179032007-09-14 Kenichi Handa <handa@m17n.org>
17904
17905 * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
17906
179072007-09-13 Jason Rumney <jasonr@gnu.org>
17908
17909 * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
17910
17911 * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
17912
17913 * macterm.c (mac_initialize): Don't call mac_init_fringe here.
17914 (mac_term_init): Call here instead, passing rif.
17915
179162007-09-13 Glenn Morris <rgm@gnu.org>
17917
17918 * s/hpux.h: No longer define `static' as nothing.
17919
179202007-09-13 Johan Bockgård <bojohan@gnu.org>
17921
17922 * callint.c (Fcall_interactively): Remove unused var `fun'.
17923
179242007-09-12 Romain Francoise <romain@orebokech.com>
17925
17926 * window.c (prefer_window_split_horizontally, display_buffer):
17927 Revert 2007-09-08 change.
17928
179292007-09-12 Glenn Morris <rgm@gnu.org>
17930
17931 * alloca.c: Remove file.
17932 * Makefile.in (alloca): Do not undef.
17933 (allocaobj, alloca.o): Remove.
17934 (otherobj): Remove allocaobj.
17935 * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
17936 * regex.c (C_ALLOCA): Remove all references and code that was only
17937 used when this was defined.
17938 * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
17939 * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
17940 * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
17941
17942 * Makefile.in (SOURCES, unlock, relock): Delete.
17943
17944 * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
17945 (menu_grab_callback): All uses changed.
17946
17947 * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
17948 (x_reply_selection_request): All uses changed.
17949
179502007-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
17951
17952 * lread.c (load_warn_old_style_backquotes): Change message to look
17953 better when it appears in the middle of byte-compiler messages.
17954
179552007-09-10 Dan Nicolaescu <dann@ics.uci.edu>
17956
17957 * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
17958
17959 * xterm.c (x_create_terminal): Add comment.
17960
17961 * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
17962
179632007-09-10 Richard Stallman <rms@gnu.org>
17964
17965 * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
17966
179672007-09-10 Michaël Cadilhac <michael@cadilhac.name>
17968
17969 * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
17970 (DEFUN): Document `intspec', use it instead of `prompt'.
17971
17972 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
17973
17974 * data.c (Finteractive_form): If the interactive specification starts
17975 with a `(', use it as a Lisp form.
17976
17977 * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
17978 name and file modes.
17979
17980 * callint.c (Fcall_interactively): Comment fixes.
17981
179822007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
17983
17984 * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
17985 and compiled functions.
17986
179872007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
17988
17989 * window.c (prefer_window_split_horizontally): New variable.
17990 (display_buffer): Consider splitting window horizontally depending
17991 on prefer_window_split_horizontally.
17992
179932007-09-08 Eli Zaretskii <eliz@gnu.org>
17994
17995 * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
17996
179972007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
17998
17999 * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
18000
18001 * frame.c (x_set_frame_parameters): Check number is positive before
18002 using XFASTINT.
18003
18004 * window.c (freeze_window_start): Don't presume selected_window holds
18005 a window object.
18006 (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
18007
180082007-09-07 Angelo Graziosi <Angelo.Graziosi@roma1.infn.it> (tiny change)
18009
18010 * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
18011
180122007-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
18013
18014 * window.c (Vsplit_window_preferred_function): New var.
18015 (Fdisplay_buffer): Use it.
18016 (syms_of_window): Export, and initialize it.
18017
180182007-09-06 Pixel <pixel@mandriva.com> (tiny change)
18019
18020 * image.c (gif_load): Fix bug: Handle nonexistent colormap.
18021
180222007-09-06 Glenn Morris <rgm@gnu.org>
18023
18024 * gtkutil.c (menu_grab_callback) <cnt>:
18025 * xselect.c (x_reply_selection_request) <cnt>: Move static
18026 variable to file scope.
18027
180282007-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
18029
18030 * xdisp.c (redisplay_internal): Make sure Elisp code always sees
18031 consistent values of selected_frame and selected_window.
18032
180332007-09-04 Jason Rumney <jasonr@gnu.org>
18034
18035 * w32console.c (initialize_w32_display): Zero unused hooks.
18036
180372007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
18038
18039 * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
18040 (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
18041
180422007-09-04 Jason Rumney <jasonr@gnu.org>
18043
18044 * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
18045 in w32console.c. Set up input. Remove XXX comments that have been
18046 confirmed as correct.
18047
18048 * s/ms-w32.h (MULTI_KBOARD): Define.
18049
18050 * w32console.c (one_and_only_w32cons): Remove.
18051 (initialize_w32_display): Take terminal argument.
18052
18053 * term.c (init_tty) [WINDOWSNT]: Pass terminal to
18054 initialize_w32_display.
18055 (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
18056
18057 * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
18058
18059 * keyboard.c (discard_mouse_events): Discard it.
18060 (make_lispy_event): Translate it to a lisp event.
18061 (lispy_wheel_names): Add wheel-left and right events.
18062 (syms_of_keyboard): Enlarge wheel_syms.
18063
18064 * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
18065 <WM_MOUSEHWHEEL>: Pass new system message to lisp.
18066
18067 * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
18068
18069 * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
18070 from WM_MOUSEHWHEEL.
18071 (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
18072
18073 * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
18074 terminal.
18075
18076 * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
18077 keyboard for the terminal.
18078
180792007-09-04 Dan Nicolaescu <dann@ics.uci.edu>
18080
18081 * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
18082 (Vresume_tty_hook): Rename from Vresume_tty_functions.
18083 (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
18084 and resume-tty-function to resume-tty-hook.
18085 (Fsuspend_tty, Fresume_tty): Use new names.
18086
180872007-09-02 Jan Djärv <jan.h.d@swipnet.se>
18088
18089 * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
18090 if it starts with "n:".
18091
180922007-08-31 Jan Djärv <jan.h.d@swipnet.se>
18093
18094 * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
18095
180962007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
18097
18098 * frame.h:
18099 * frame.c (Qterm_environment_variable): Remove.
18100 (syms_of_frame): Don't init and staticpro it.
18101
18102 * callproc.c (getenv_internal): Remove special case for $TERM.
18103
18104 * callproc.c (Vinitial_environment): New variable.
18105 (set_initial_environment): Initialize it.
18106 (syms_of_callproc): Declare it.
18107 (child_setup): Don't mess with TERM via Qterm_environment_variable; the
18108 TERM under which a process runs is never related to the TERM in which
18109 Emacs is running.
18110
181112007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
18112
18113 * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
18114 * s/darwin.h: ... do it here.
18115
181162007-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
18117
18118 * lisp.h (set_initial_environment): Rename from set_global_environment.
18119
18120 * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
18121 removed by mistake on the multi-tty branch.
18122
18123 * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
18124 (Fmodify_frame_parameters): Return a value.
18125
18126 * image.c (png_load): Comment-out var only used in commented-out code.
18127
18128 * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
18129 before passing it to mark_object.
18130
18131 * xfaces.c (internal_resolve_face_name): Return a value.
18132 (internal_resolve_face_name, resolve_face_name_error): Comment out.
18133
18134 * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
18135 (x_icon): Comment-out var only used in commented-out code.
18136
181372007-08-29 Romain Francoise <romain@orebokech.com>
18138
18139 * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
18140 QUIT hasn't been provided.
18141
181422007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
18143
18144 * callproc.c (child_setup, getenv_internal): Use the
18145 display-environment-variable and term-environment-variable frame params.
18146 (set_initial_environment): Initialise Vprocess_environment.
18147
18148 * config.in: Disable multi-keyboard support on a mac.
18149
18150 * frame.c (Qterm_environment_variable)
18151 (Qdisplay_environment_variable): New variables.
18152 (syms_of_frame): Intern and staticpro them.
18153 (Fmake_terminal_frame): Disable output method test.
18154
18155 * frame.h: Declare them here.
18156
18157 * macfns.c (x_set_mouse_color): Get rif from the frame.
18158 (x_set_tool_bar_lines): Don't use updating_frame.
18159 (mac_window): Add 2 new parameters for consistency with other systems.
18160 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
18161 frame parameters following what is done in X11 and w32. Don't use
18162 FRAME_MAC_DISPLAY_INFO.
18163 (Fx_open_connection, start_hourglass): Remove window-system check.
18164 (x_create_tip_frame): Get the keyboard from the terminal.
18165
18166 * macmenu.c: Reorder includes.
18167 (Fx_popup_menu): Use terminal specific mouse_position_hook.
18168
18169 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
18170 terminal parameter.
18171 (x_clear_frame): Add a frame parameter.
18172 (note_mouse_movement): Get rif from the frame.
18173 (mac_term_init): Initialize the terminal.
18174 (mac_initialize): Make static and move terminal initialization ...
18175 (mac_create_terminal): ... to this new function.
18176
18177 * macterm.h (struct mac_display_info): Add terminal.
18178 (mac_initialize): Delete declaration.
18179
18180 * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
18181
18182 * sysdep.c: Comment out text after #endif.
18183
18184 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
18185 is defined. Better initialize ttys in windows. Use terminal
18186 specific mouse_position_hook.
18187
18188 * termhooks.h (union display_info): Add mac_display_info.
18189
18190 * w32fns.c (Fx_create_frame): Use kboard from the terminal.
18191 Set the default minibuffer frame, window_system and the rest of the
18192 frame parameters following what is done in X11.
18193
18194 * w32term.c (w32_initialize): Make static.
18195
18196 * xselect.c (x_handle_selection_clear): Only access
18197 terminal->kboard when MULTI_KBOARD is defined.
18198
18199 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
18200 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
18201
182022007-08-29 Jason Rumney <jasonr@gnu.org>
18203
18204 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
18205 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
18206
18207 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
18208 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
18209
18210 * keyboard.c (restore_kboard_configuration): Only define when
18211 MULTI_KBOARD defined.
18212
18213 * makefile.w32-in: Update dependancies from Makefile.in.
18214 (OBJ1): Add terminal.$(O)
18215
18216 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
18217 Don't define function body.
18218 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
18219
18220 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
18221
18222 * w32.c (request_sigio, unrequest_sigio): Remove.
18223
18224 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
18225 (w32con_clear_frame, w32con_clear_end_of_line)
18226 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
18227 (w32con_delete_glyphs, w32con_set_terminal_window)
18228 (scroll_line, w32_sys_ring_bell): Add frame arg.
18229 (w32con_set_terminal_modes, w32con_reset_terminal_modes):
18230 Add terminal arg.
18231 (PICK_FRAME): Remove.
18232 (w32con_write_glyphs): Use frame specific terminal coding.
18233 (one_and_only_w32cons): New global variable.
18234 (initialize_w32_display): Use it for storing hooks.
18235 (create_w32cons_output): New function.
18236
18237 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
18238 arg a frame.
18239
18240 * w32fns.c (x_create_tip_frame): Set terminal and ref count.
18241 Set window_system.
18242 (x_set_tool_bar_lines): Don't use updating_frame.
18243 (Fx_create_frame): Set terminal and ref count.
18244 (Fx_open_connection): Remove window-system check.
18245
18246 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
18247
18248 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
18249 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
18250 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
18251 Add frame arg.
18252 (x_delete_terminal, w32_create_terminal): New functions.
18253 (w32_term_init): Create a terminal.
18254 (w32_initialize): Move terminal specific initialization to
18255 w32_create_terminal.
18256
18257 * w32term.h (x_output): Remove foreground_pixel and background_pixel.
18258 (w32_clear_rect, w32_clear_area): Use background from frame.
18259 (w32_display_info): Add terminal.
18260 (w32_sys_ring_bell, x_delete_display): Declare here.
18261
18262 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
18263
18264 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
18265
182662007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
18267
18268 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
18269 Fix get_named_tty calls for the controlling tty.
18270
182712007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
18272
18273 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
18274
182752007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
18276
18277 * term.c (tty_insert_glyphs): Add missing first parameter.
18278
182792007-08-29 Károly Lőrentey <karoly@lorentey.hu>
18280
18281 * buffer.c (Fbuffer_list, Fbury_buffer):
18282 Take frame->buried_buffer_list into account.
18283
18284 * cm.c (current_tty): New variable, for cmputc().
18285 (cmputc): Use it.
18286 (cmcheckmagic): Add tty parameter, look up terminal streams there.
18287 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
18288 (cmgoto): Add tty parameter. Pass it on to calccost().
18289 Use emacs_tputs() instead of tputs().
18290
18291 * cm.h (emacs_tputs): New macro to set current_tty, and then call
18292 tputs().
18293 (current_tty): New variable, for cmputc().
18294 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
18295
18296 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
18297 (internal_condition_case, internal_condition_case_1)
18298 (internal_condition_case_2): Don't abort when x_catching_errors.
18299
18300 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
18301 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
18302 prevent crashes caused by bogus longjmps in read_char.
18303
18304 * keymap.h (Fset_keymap_parent): Add EXFUN.
18305
18306 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
18307 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
18308 Remove redundant definition.
18309
18310 * macfns.c (x_set_mouse_color, x_make_gc):
18311 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18312
18313 * w32term.c (x_free_frame_resources):
18314 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18315 (w32_initialize): Use the accessor macros for terminal characteristics.
18316
18317 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
18318 Use the accessor macros for terminal characteristics.
18319 * msdos.c (internal_terminal_init): Use the accessor macros for
18320 terminal characteristics.
18321 (ScreenVisualBell, internal_terminal_init):
18322 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18323
18324 * termopts.h (no_redraw_on_reenter): Declare.
18325
18326 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
18327 (mark_terminals, mark_ttys): Declare.
18328 (Fgarbage_collect): Call them.
18329 (mark_object): Mark buried_buffer_list.
18330
18331 * prefix-args.c: Include stdlib.h for exit.
18332
18333 * syssignal.h: Add comment.
18334
18335 * indent.c: Include stdio.h.
18336
18337 * window.h (Vinitial_window_system): Declare.
18338 (Vwindow_system): Delete declaration.
18339
18340 * fontset.c (Finternal_char_font): Use FRAME_RIF.
18341
18342 * image.c (lookup_image): Don't initialize `c' until the xasserts
18343 have been run.
18344
18345 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
18346 FRAME_FOREGROUND_PIXEL.
18347
18348 * print.c (print_preprocess): Don't lose print_depth levels while
18349 iterating.
18350
18351 * widget.c (update_from_various_frame_slots):
18352 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18353
18354 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
18355 frames.
18356 (window_internal_height): Remove bogus make_number call.
18357 (init_window_once): Call make_terminal_frame with two zero parameters.
18358
18359 * fileio.c (Fread_file_name): Update comment.
18360
18361 * callint.c (Fcall_interactively):
18362 Use temporarily_switch_to_single_kboard instead of single_kboard_state.
18363 Make sure it is correctly unwound.
18364
18365 * xsmfns.c (x_session_close): New function.
18366
18367 * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
18368 Delete declarations.
18369
18370 * xterm.h: Remove declaration for x_fully_uncatch_errors.
18371 (x_output): Remove background_pixel and foreground_pixel fields.
18372 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
18373 (x_delete_device, x_session_close): Declare.
18374
18375 * lread.c: Include setjmp.h. Update declaration of `read_char'.
18376 (read_filtered_event): Call `read_char' with a local
18377 `wrong_kboard_jmpbuf'.
18378
18379 * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
18380 Don't call single_kboard_state. Use FRAME_RIF.
18381
18382 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
18383 systems.
18384
18385 * lisp.h (set_process_environment): Rename to `set_global_environment'.
18386 (Fframe_with_environment, Fset_input_meta_mode)
18387 (Fset_quit_char): EXFUN.
18388 (x_create_device, tty_output, terminal, tty_display_info): Declare.
18389 (init_sys_modes, reset_sys_modes): Update prototypes.
18390 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
18391
18392 * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
18393 Vlocal_key_translation_map, and Vkeyboard_translate_table.
18394 (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
18395 Delete declarations.
18396 (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
18397 (temporarily_switch_to_single_kboard, tty_read_avail_input):
18398 New declarations.
18399
18400 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
18401 already does that during init_display(). Call syms_of_keymap
18402 before syms_of_keyboard. Call `syms_of_terminal'.
18403 Call set_initial_environment, not set_process_environment.
18404 (shut_down_emacs): Call reset_all_sys_modes() instead of
18405 reset_sys_modes().
18406
18407 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
18408 (internal_resolve_face_name, resolve_face_name_error): New functions.
18409 (resolve_face_name): Protect against loops and errors thrown by Fget.
18410 (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
18411 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
18412
18413 * scroll.c: Replace CURTTY() with local variables throughout the
18414 file (where applicable).
18415 (calculate_scrolling, calculate_direct_scrolling)
18416 (scrolling_1, scroll_cost): Use the accessor macros for terminal
18417 characteristics.
18418
18419 * keymap.c (Vfunction_key_map): Remove.
18420 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
18421 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
18422 (Vkey_translation_map): Remove.
18423 (syms_of_keymap): Remove DEFVAR for key-translation-map.
18424 (Fdescribe_buffer_bindings)
18425 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
18426 Update for terminal-local key-translation-map.
18427
18428 * Makefile.in (callproc.o): Update dependencies.
18429 (lisp, shortlisp): Add termdev.elc.
18430 (obj): Add terminal.o.
18431 (terminal.o): Add dependencies.
18432 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
18433 (data.o, fns.o): Add termhooks.h dependency.
18434 (SOME_MACHINE_LISP): Add dnd.elc.
18435 (minibuf.o): Fix typo.
18436 Update dependencies.
18437
18438 * data.c (do_symval_forwarding, store_symval_forwarding)
18439 (find_symbol_value): Use the selected frame's keyboard, not
18440 current_kboard.
18441
18442 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
18443 Vwindow_system.
18444
18445 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
18446 Fmenu_bar_open.
18447 (syms_of_xmenu): Update defsubr.
18448 (mouse_position_for_popup, Fx_popup_menu)
18449 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
18450 (set_frame_menubar, free_frame_menubar)
b97439ce 18451 (create_and_show_popup_menu, xmenu_show)
aac0c6e3
MR
18452 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
18453 an X frame.
18454
18455 * xselect.c (x_own_selection): Abort if not an X frame.
18456 (some_frame_on_display): Check if it is an X frame.
18457 (x_handle_selection_clear): Deal with MULTI_KBOARD.
18458
18459 * coding.c: Include frame.h and termhooks.h.
18460 (terminal_coding, keyboard_coding): Delete.
18461 (Fset_terminal_coding_system_internal)
18462 (Fset_keyboard_coding_system_internal)
18463 (Fkeyboard_coding_system)
18464 (Fterminal_coding_system): Add a terminal parameter.
18465 Get terminal_coding from the terminal.
18466 (init_coding_once): Don't call setup_coding_system here.
18467
18468 * dispextern.h (set_scroll_region, turn_off_insert)
18469 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
18470 (tty_clear_end_of_line, tty_setup_colors)
18471 (delete_tty, updating_frame)
18472 (produce_special_glyphs, produce_glyphs, write_glyphs)
18473 (insert_glyphs): Remove.
18474 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
18475 (tty_turn_off_highlight, get_tty_size): Add declaration.
18476 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
18477
18478 * frame.h (enum output_method): Add output_initial.
18479 (struct x_output): Delete.
18480 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
18481 Access foreground_pixel and background_pixel directly from the frame.
18482 (tty_display): Delete.
18483 (struct frame): Add buried_buffer_list, foreground_pixel,
18484 background_pixel and terminal. Delete kboard.
18485 (union output_data): Add tty.
18486 (FRAME_KBOARD): Get the kboard from the terminal.
18487 (FRAME_INITIAL_P): New macro.
18488 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
18489 (Qterm_environment_variable, Qdisplay_environment_variable)
18490 (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
18491 New declarations.
18492
18493 * termchar.h (tty_output, tty_display_info): New structures.
18494 (tty_list): Declare.
18495 (FRAME_TTY, CURTTY): New macros.
18496 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
18497 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
18498 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
18499 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
18500
18501 * callproc.c: Include frame.h and termhooks.h, for terminal
18502 parameters.
18503 (add_env): New function.
18504 (child_setup): Use it.
18505 (child_setup, getenv_internal): Handle the new Vprocess_environment.
18506 (getenv_internal): Fix get_terminal_param call.
18507 (Fgetenv_internal, egetenv): Update doc.
18508 (syms_of_callproc): Initialize Vprocess_environment to nil.
18509 Register and initialize them. Remove obsolete defvars. Update doc
18510 strings.
18511 (child_setup): Handle Vlocal_environment_variables.
18512 (getenv_internal): Add terminal parameter.
18513 Handle Vlocal_environment_variables.
18514 (Fgetenv_internal): Add terminal parameter.
18515 (child_setup, getenv_internal, Fgetenv_internal): Store the local
18516 environment in a frame (not terminal) parameter. Update doc strings.
18517 (set_initial_environment): Rename from set_global_environment.
18518 Store Emacs environment in initial frame parameter.
18519
18520 * xdisp.c (redisplay_internal): Update references to
18521 `previous_terminal_frame'.
18522 (display_mode_line, Fformat_mode_line): Replace calls to
18523 `push_frame_kboard' with `push_kboard'.
18524 (get_glyph_string_clip_rects): Add extra parentheses and
18525 braces to prevent compiler warnings.
18526 (calc_pixel_width_or_height): Add xassert to check that the
18527 frame is alive. Don't call `lookup_image' on a termcap frame.
18528 (message2_nolog, message3_nolog, redisplay_internal)
18529 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
18530 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
18531 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
18532 (Fx_display_pixel_width, Fx_display_pixel_height)
18533 (Fx_display_planes, Fx_display_color_cells)
18534 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
18535 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
18536 (Fx_display_backing_store, Fx_display_visual_class)
18537 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
18538 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
18539
18540 * xfns.c (x_set_foreground_color x_set_background_color)
18541 (x_set_mouse_color, x_set_cursor_color, x_make_gc):
18542 Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18543 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
18544 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
18545 terminal that is being deleted.
18546 (Fx_create_frame): Use `store_frame_param' to set `window-system'
18547 frame parameter, and make sure it overrides any user-supplied setting.
18548 (Fx_close_connection, Fx_synchronize): Unify argument names with
18549 the rest of the DEFUNs.
18550
18551 * dispnew.c (Fsend_string_to_terminal): Update call to
18552 `get_tty_terminal'.
18553 (Fredraw_frame, Fsend_string_to_terminal)
18554 (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
18555 FRAME_TERMCAP_P and FRAME_TTY.
18556 (window_change_signal): Don't believe width/height values that are
18557 impossibly small.
18558 (Vinitial_window_system): Rename from Vwindow_system.
18559 (termscript, Wcm, rif): Delete.
18560
18561 * termhooks.h (struct terminal): New struct containing the
18562 previously global text display hooks and new members NAME,
18563 DELETED and PARAM_ALIST.
18564 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
18565 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
18566 (FRAME_RIF): New macros.
18567 (get_terminal_param, get_device): New declarations.
18568 (termscript): Delete declaration.
18569
18570 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
18571 (XTflash, x_free_frame_resources, x_scroll_bar_create)
18572 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
18573 FRAME_FOREGROUND_PIXEL.
18574 (x_fully_uncatch_errors): Disable definition.
18575 (x_scroll_bar_expose): Fix reference to foreground pixel.
18576 (XTread_socket): Disable loop on all X displays.
18577 (x_delete_terminal): Don't set terminal->deleted and let
18578 delete_terminal delete the frames on the terminal.
18579 (x_delete_display): Doc update to reflect changes in
18580 delete_terminal.
18581 (x_display_info) <terminal>: Move member earlier in the struct.
18582 (deleting_tty): Remove old variable.
18583 (Fsuspend_tty): Call clear_tty_hooks.
18584 (Fresume_tty, init_tty): Call set_tty_hooks.
18585 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
18586 errors on X frames.
18587 (x_catch_errors_unwind): Abort if x_error_message is NULL.
18588 (handle_one_xevent): Initialize `f' to NULL.
18589 (x_delete_terminal, x_create_terminal): New functions.
18590 (XTset_terminal_modes, XTreset_terminal_modes)
18591 (XTread_socket, x_connection_closed, x_term_init)
18592 (x_term_init, x_delete_display): Add terminal parameter.
18593 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
18594 X connections.
18595
18596 * frame.c: Include termchar.h.
18597 (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
18598 (Qwindow_system, Qenvironment, Qterm_environment_variable)
18599 (Qdisplay_environment_variable): New vars.
18600 (Fframep): Deal with output_initial.
18601 (Fframe-live-p): Doc fix.
18602 (Fwindow-system): New function.
18603 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
18604 (make_terminal_frame): Don't create frames on a terminal that is
18605 being deleted. Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
18606 (store_frame_param): Check for found_for_frame before calling XFRAME.
18607 (Fmake_terminal_frame): Handle NULL tty names correctly.
18608 (syms_of_frame): Enhance doc string of `default-frame-alist'.
18609 (Fdelete_frame): Remove unused variable `count'. Don't allow other
18610 frames to refer to a deleted frame in their 'environment parameter.
18611 (Fframe_with_environment): New function.
18612 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
18613 (get_future_frame_param): New function.
18614 (Fmake_terminal_frame): Use it.
18615 (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
18616
18617 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
18618 * sysdep.c (reset_sys_modes): Update for renames.
18619
18620 * keyboard.c (tty_read_avail_input): New function.
18621 (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
18622 (syms_of_keyboard): Defsubr them.
18623 (Fset_input_meta_mode, Fset_quit_char): New functions.
18624 (Fset_input_mode): Split to above functions.
18625 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
18626 parameter. Use it in call to `read_char'.
18627 (read_char): Declare. Update call to `read_char_minibuf_menu_prompt'.
18628 Set wrong_kboard_jmpbuf correctly in recursive calls.
18629 Use current_kboard to access Vkeyboard_translate_table.
18630 Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
18631 Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
18632 Update longjmp invocations. Remember the original current_kboard,
18633 and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
18634 changes it. Comment out unnecessary calls to
18635 `record_single_kboard_state' and `any_kboard_state'.
18636 Update recursive calls.
18637 (wrong_kboard_jmpbuf): Remove global variable.
18638 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
18639 Handle deleted interrupted_kboards correctly; that is a legal
18640 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
18641 and read_char calls. Abort if interrupted_kboard died in read_char.
18642 (any_kboard_state, single_kboard_state)
18643 (push_frame_kboard): Remove function.
18644 (pop_kboard): Switch out of single_kboard mode if the kboard has
18645 been deleted. Remove unused variable. Help debugging by not
18646 changing current_kboard unnecessarily. Set current_kboard to the
18647 kboard of the selected frame when the stored kboard object has
18648 been deleted before pop_kboard.
18649 (temporarily_switch_to_single_kboard): Change first parameter to a
18650 frame pointer. Throw an error when caller wants to change kboards
18651 while in single_kboard mode. Don't push_kboard if we weren't in
18652 single kboard state. Don't pop_kboard if we popped into any
18653 kboard state.
18654 (restore_kboard_configuration): Abort if pop_kboard changed the
18655 kboard in single_kboard mode. Call pop_kboard only after setting
18656 up single_kboard mode.
18657 (Frecursive_edit): Switch to single_kboard mode only in nested
18658 command loops.
18659 (cmd_error, command_loop, command_loop_1, timer_check):
18660 Comment out unnecessary call to `any_kboard_state' and
18661 `record_single_kboard_state'.
18662 (delete_kboard): Exit single_kboard mode if we have just deleted
18663 that kboard. Use FRAME_KBOARD.
18664 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
18665 `fatal_error_signal'.
18666 (record_single_kboard_state): Don't push_kboard if we weren't in
18667 single kboard state. Don't pop_kboard if we popped into any
18668 kboard state.
18669 (push_frame_kboard): Rename to push_kboard.
18670 (kbd_buffer_get_event): Use FRAME_TERMINAL.
18671 (read_avail_input): Read input from all terminals.
18672 (mark_kboards): Also mark Vkeyboard_translate_table.
18673 (kbd_buffer_store_event_hold): Simplify condition.
18674 (read_key_sequence): Reinitialize fkey and keytran at each replay.
18675 (Vkeyboard_translate_table): Move to struct kboard.
18676 (init_kboard): Initialize Vkeyboard_translate_table.
18677 (syms_of_keyboard): Use DEFVAR_KBOARD to define
18678 Vkeyboard_translate_table. Update doc strings. Update docs of
18679 local-function-key-map and function-key-map.
18680
18681 * terminal.c: New file.
18682
18683 * term.c: Include errno.h.
18684 (Vring_bell_function, device_list, initial_device)
18685 (next_device_id, ring_bell, update_begin, update_end)
18686 (set_terminal_window, cursor_to, raw_cursor_to)
18687 (clear_to_end, clear_frame, clear_end_of_line)
18688 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
18689 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
18690 (syms_of_term): Move their initialization to terminal.c.
18691 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
18692 (Ftty_display_color_cells)
18693 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
18694 (clear_tty_hooks, set_tty_hooks)
18695 (init_tty, maybe_fatal): New functions.
18696 (Ftty_type): Return nil if terminal is not on a tty instead of
18697 throwing an error. Doc update.
18698 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
18699 Doc update. Initialize new subrs and variables.
18700 (delete_tty): Use terminal->deleted.
18701 (tty_set_terminal_modes): Rename from set_terminal_modes.
18702 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
18703 (set_scroll_region): Rename to `tty_set_scroll_region'.
18704 (turn_on_insert): Rename to `tty_turn_on_insert'.
18705 (turn_off_insert): Rename to `tty_turn_off_insert'.
18706 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
18707 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
18708 (toggle_highligh): Rename to `tty_toggle_highlight'.
18709 (background_highlight): Rename to `tty_background_highlight'.
18710 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
18711 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
18712 (tty_set_scroll_region, tty_background_highlight)
18713 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
18714 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
18715 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
18716 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
18717 Add static modifier.
18718 (tty_reset_terminal_modes, tty_set_terminal_window)
18719 (tty_set_scroll_region, tty_background_highlight)
18720 (tty_highlight_if_desired, tty_cursor_to)
18721 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
18722 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
18723 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
18724 renames.
18725
187262007-08-28 Jan Djärv <jan.h.d@swipnet.se>
18727
18728 * keyboard.c: Qrtl is new.
18729 (parse_tool_bar_item): Handle :rtl keyword.
18730 (syms_of_keyboard): Intern :rtl keyword.
18731
18732 * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
18733
18734 * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
18735 so no Lisp code is executed.
18736 (file_for_image, find_rtl_image): New functions.
18737 (xg_get_image_for_pixmap): Use file_for_image.
18738 (update_frame_tool_bar): If direction is RTL, use RTL image if
18739 defined. Use Gtk stock images if defined.
18740
187412007-08-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18742
18743 * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
18744 for nonexistent or zero-width glyph in composition glyph.
18745
187462007-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
18747
18748 * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
18749
18750 * xdisp.c (Finvisible_p): New function.
18751 (syms_of_xdisp): defsubr it.
18752
187532007-08-24 Juanma Barranquero <lekktu@gmail.com>
18754
18755 * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
18756 Doc fixes.
18757
187582007-08-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18759
18760 * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
18761
187622007-08-24 Martin Rudalics <rudalics@gmx.at>
18763
18764 * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
18765 whether decoding has modified buffer contents.
18766
187672007-08-24 Jason Rumney <jasonr@gnu.org>
18768
18769 * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
18770 (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
18771 (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
18772 (init_svg_functions) [HAVE_NTGUI]: New function.
18773 (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
18774 (svg_load_image): Use them.
18775 (svg_load_image) [HAVE_NTGUI]: Implement background.
18776
187772007-08-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18778
18779 * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
18780 (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
18781 (LIBX): Remove @RSVG_LIBS@.
18782 (LIBES): Add $(RSVG_LIBS).
18783
18784 * image.c (svg_load_image): Blend with specified background if exists.
18785 Use IMAGE_BACKGROUND. Add Mac OS Support.
18786
18787 * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
18788 (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
18789 Remove macros.
18790 [MAC_OSX] (socket_callback): Do nothing.
18791 [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
18792 ReceiveNextEvent.
18793 [MAC_OSX] (sys_select): Likewise. Don't set context as argument to
18794 socket_callback.
18795 (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
18796
187972007-08-22 Glenn Morris <rgm@gnu.org>
18798
18799 * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
18800
188012007-08-22 Paul Pogonyshev <pogonyshev@gmx.net>
18802
18803 * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
18804
18805 * image.c: Add support for SVG images. Some additional comments
18806 by Joakim Verona <joakim@verona.se>. When HAVE_RSVG is defined:
18807 (svg_image_p): New function to test for SVG image.
18808 (svg_load): New function to load SVG image.
18809 (svg_load_image): New function, helper for svg_load.
18810 (Qsvg): New Lisp_object.
18811 (svg_keyword_index): New enum.
18812 (svg_format): New static `image_keyword' struct.
18813 (svg_type): New static `image_type' struct.
18814 (librsvg/rsvg.h): Include it.
18815
188162007-08-23 Stefan Monnier <monnier@iro.umontreal.ca>
18817
18818 * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
18819
188202007-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
18821
18822 * lread.c (Qold_style_backquotes): New var.
18823 (syms_of_lread): Init and staticpro it.
18824 (load_warn_old_style_backquotes): New fun.
18825 (Fload): Use them to warn about old style backquotes.
18826 (end_of_file_error, Fload): Remove unused vars.
18827
18828 * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
18829
18830 * lread.c (Vold_style_backquotes): New var.
18831 (syms_of_lread): Init and export it to Elisp.
18832 (read1): Set it when we find an old-style (back)quote.
18833
188342007-08-22 Jason Rumney <jasonr@gnu.org>
18835
18836 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
18837
188382007-08-22 Katsumi Yamaoka <yamaoka@jpl.org>
18839
18840 * puresize.h (BASE_PURESIZE): Increase to 1140000.
18841
188422007-08-19 Richard Stallman <rms@gnu.org>
18843
18844 * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
18845
188462007-08-19 Andreas Schwab <schwab@suse.de>
18847
18848 * alloc.c (pure): Round PURESIZE up.
18849
188502007-08-17 Jan Djärv <jan.h.d@swipnet.se>
18851
18852 * xterm.c (handle_one_xevent): Remove check that mouse click is in
18853 active frame.
18854
188552007-08-16 Richard Stallman <rms@gnu.org>
18856
18857 * eval.c (Fcommandp): Add parens to clarify.
18858
18859 * minibuf.c (Fall_completions): Use enum for type of table.
18860
18861 * emacs.c (USAGE2): Improve text.
18862
188632007-08-15 Philippe Waroquiers <philippe.waroquiers@eurocontrol.int>
18864
18865 * term.c (tty_default_color_capabilities): Declare static
18866 variables in file scope, to avoid HPUX compiler problem.
18867
188682007-08-13 Jan Djärv <jan.h.d@swipnet.se>
18869
18870 * gtkutil.c (update_frame_tool_bar): Use -1 as index
18871 to gtk_toolbar_insert.
18872
188732007-08-13 Stefan Monnier <monnier@iro.umontreal.ca>
18874
18875 * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
18876
18877 * insdel.c (reset_var_on_error): New fun.
18878 (signal_before_change, signal_after_change):
18879 Use it to reset (after|before)-change-functions to nil in case of error.
18880 Bind inhibit-modification-hooks to t.
18881 Don't bind (after|before)-change-functions to nil while they run.
18882
188832007-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18884
18885 * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
18886 filling pixmap with stippled background.
18887
188882007-08-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18889
18890 * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
18891 Don't use invisible frame as parent window for repositioning.
18892
188932007-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
18894
18895 * print.c (new_backquote_output): Rename from old_backquote_output.
18896 (print): Inverse its logic (according to its name) so as to match the
18897 behavior of new_backquote_flag in lread.c.
18898
188992007-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18900
18901 * gmalloc.c (posix_memalign): New function.
18902
18903 * macterm.c (frame_highlight, frame_unhighlight): Don't call
18904 ActivateControl/DeactivateControl here.
18905 [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
18906 frame-notice-user-settings is non-nil.
18907 [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
18908 for kEventParamFMFontStyle.
18909 [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
18910 mac_pass_command_to_system and mac_pass_control_to_system here.
18911 (XTread_socket): Call ActivateControl/DeactivateControl here.
18912 (XTread_socket) [TARGET_API_MAC_CARBON]:
18913 Check mac_pass_command_to_system and mac_pass_control_to_system here.
18914 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
18915 for window repositioning.
18916
189172007-08-08 Glenn Morris <rgm@gnu.org>
18918
18919 * Replace `iff' in doc-strings and comments.
18920
189212007-08-07 Chong Yidong <cyd@stupidchicken.com>
18922
18923 * xdisp.c (move_it_by_lines): Remove incorrect optimization.
18924
189252007-08-07 Martin Rudalics <rudalics@gmx.at>
18926
18927 * fileio.c (Finsert_file_contents): Run format-decode and
18928 after_insert_file_functions on entire buffer when REPLACE is
18929 non-nil and inhibit modification_hooks and point_motion_hooks.
18930 For consistency, run after_insert_file_functions iff something
18931 got inserted. Move signal_after_change and update_compositions
18932 after code running after_insert_file_functions. Make sure that
18933 undo_list doesn't record intermediate steps of the decoding process.
18934
189352007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18936
18937 * emacs.c (main)
18938 [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
18939 Call malloc_enable_thread on interactive startup.
18940
18941 * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
18942 (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
18943 [USE_PTHREAD]: Conditionalize with it.
18944 (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
18945 (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
18946 New functions.
18947
189482007-08-06 Chong Yidong <cyd@stupidchicken.com>
18949
18950 * xdisp.c (redisplay_window): When restoring original buffer
18951 position, make sure it is still valid.
18952
18953 * image.c (png_load): Ignore png-supplied background color.
18954
189552007-08-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
18956
18957 * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
18958 Use kCFAbsoluteTimeIntervalSince1970.
18959
18960 * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
18961 New variable.
18962 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
18963 event loop should be quit.
18964 [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
18965 Quit dialog event loop if quit_dialog_event_loop is set.
18966
18967 * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
18968 (Selection): New typedef. Use instead of ScrapRef.
18969 (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
18970 (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
18971 (mac_clear_selection): Rename from clear_scrap.
18972 (get_flavor_type_from_symbol): New argument SEL and subsume function of
18973 scrap_has_target_type. All uses changed.
18974 (mac_get_selection_ownership_info, mac_valid_selection_value_p)
18975 (mac_selection_has_target_p): New functions.
18976 (mac_put_selection_value): Rename from put_scrap_string.
18977 (mac_get_selection_value): Rename from get_scrap_string.
18978 (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
18979 (put_scrap_private_timestamp, scrap_has_target_type)
18980 (get_scrap_private_timestamp): Remove functions.
18981 (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
18982 (x_own_selection, x_get_local_selection):
18983 Use mac_valid_selection_value_p.
18984 (x_own_selection): Don't use put_scrap_private_timestamp.
18985 Record OWNERSHIP-INFO into Vselection_alist instead.
18986 (x_get_local_selection): Don't check type if request is local.
18987 (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
18988 Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
18989
189902007-08-04 Jan Djärv <jan.h.d@swipnet.se>
18991
18992 * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
18993 add comment explaining why.
18994
189952007-08-03 Richard Stallman <rms@gnu.org>
18996
18997 * fileio.c (Fvisited_file_modtime): Use make_time.
18998
189992007-08-01 Ryo Yoshitake <ryo@shiftmode.net> (tiny change)
19000
19001 * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
19002 build.
19003
190042007-07-31 Stefan Monnier <monnier@iro.umontreal.ca>
19005
19006 * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
19007
190082007-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
19009
19010 * puresize.h (BASE_PURESIZE): Increase to 1130000.
19011
190122007-07-30 Richard Stallman <rms@gnu.org>
19013
19014 * lread.c (readevalloop, read1): Treat NBSP as whitespace.
19015
190162007-07-29 Jan Djärv <jan.h.d@swipnet.se>
19017
19018 * gmalloc.c (__malloc_initialize): Remove pthread_once. Not needed.
19019
190202007-07-28 Nick Roberts <nickrob@snap.net.nz>
19021
19022 * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
19023 remote default-directory.
19024
19025 * buffer.c (mode-line-format): Update doc string.
19026
190272007-07-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19028
19029 * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
19030 scroll bar gap.
19031 (x_scroll_bar_create): Set bar->fringe_extended_p.
19032 (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
19033 on frame edge. Check fringe background extension. Don't clear
19034 extended fringe background area.
19035
19036 * w32term.h (struct scroll_bar): New member fringe_extended_p.
19037 (w32_fill_area): Enclose multiple statements with do ... while (0).
19038
19039 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
19040 Extend fringe background to scroll bar gap.
19041 (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
19042 Set bar->fringe_extended_p.
19043 (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
19044 Put leftmost/rightmost scroll bars on frame edge. Check fringe
19045 background extension. Don't clear extended fringe background area.
19046
19047 * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
19048 New member fringe_extended_p.
19049
190502007-07-25 Glenn Morris <rgm@gnu.org>
19051
19052 * Relicense all FSF files to GPLv3 or later.
19053
19054 * COPYING: Switch to GPLv3.
19055
190562007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
19057
19058 * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
19059
19060 * data.c (Finteractive_form): Check for the presence of an
19061 `interactive-form' symbol property more thoroughly.
19062
19063 * data.c (Finteractive_form): Use an `interactive-form' property if
19064 present, analogous to the function-documentation property.
19065
190662007-07-24 Jason Rumney <jasonr@gnu.org>
19067
19068 * w32fns.c (x_real_positions): Get real position from OS instead of
19069 calculating it.
19070
190712007-07-23 Jason Rumney <jasonr@gnu.org>
19072
19073 * filelock.c (current_lock_owner): Allow for @ sign in username.
19074
190752007-07-22 Nick Roberts <nickrob@snap.net.nz>
19076
19077 * xdisp.c (decode_mode_spec): Add case 'R' for to test for
19078 remote default-directory.
19079
19080 * buffer.c (mode-line-format): Describe above case in doc string.
19081
190822007-07-20 Eli Zaretskii <eliz@gnu.org>
19083
19084 * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
19085 Define if not defined.
19086
190872007-07-18 Jason Rumney <jasonr@gnu.org>
19088
19089 * w32proc.c (w32_executable_type): Handle 64 bit executables.
19090
190912007-07-18 Richard Stallman <rms@gnu.org>
19092
19093 * data.c (Fsetq_default): Doc fix.
19094
19095 * eval.c (Fsetq): Doc fix.
19096
190972007-07-18 Juanma Barranquero <lekktu@gmail.com>
19098
19099 * coding.c (Ffind_operation_coding_system):
19100 * eval.c (For, Fand): Doc fixes.
19101 Reported by Johan Bockgård.
19102
191032007-07-18 Jan Djärv <jan.h.d@swipnet.se>
19104
19105 * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
19106
19107 * xterm.h: Declare x_ewmh_activate_frame.
19108
19109 * xterm.c (x_ewmh_activate_frame): New function.
19110 (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
19111
191122007-07-17 Martin Rudalics <rudalics@gmx.at>
19113
19114 * window.c (Fdisplay_buffer): If largest or LRU window is the
19115 only window, split it even if it is not eligible for splitting.
19116 This restores the original behavior broken by the 2007-07-15
19117 change.
19118
191192007-07-17 Glenn Morris <rgm@gnu.org>
19120
19121 * abbrev.c (abbrev_check_chars): New function.
19122 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
19123 Call abbrev_check_chars to check abbrev characters are word
19124 constituents. Doc fix.
19125
191262007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
19127
19128 * process.c (Fstart_process, Fmake_network_process)
19129 (read_process_output): Fix up last changes.
19130
191312007-07-16 Eli Zaretskii <eliz@gnu.org>
19132
19133 * makefile.w32-in (clean): Don't delete *~.
19134
191352007-07-16 Andreas Schwab <schwab@suse.de>
19136
19137 * window.c (Fdisplay_buffer): Use NILP.
19138 (Fset_window_scroll_bars): Likewise.
19139
191402007-07-15 Martin Rudalics <rudalics@gmx.at>
19141
19142 * window.c (window_min_size_2): New function.
19143 (window_min_size_1, size_window, Fdisplay_buffer)
19144 (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
19145 windows without mode- or header-lines when window-min-height is
19146 too small.
19147 (size_window): Reset nodelete_p after testing it, following an
19148 earlier note by Kim F. Storm.
19149 (display_buffer): Do not set split_height_threshold to twice the
19150 value of window_min_height to avoid changing the value of a
19151 customizable variable. Rather explicitly check whether the
19152 height of the window that shall be splitted is at least as large
19153 as split_height_threshold.
19154 (Fwindow_full_width_p): New defun.
19155 (syms_of_window): Defsubr it.
19156
19157 * window.h: Add EXFUN for Fwindow_full_width_p.
19158
191592007-07-14 Jason Rumney <jasonr@gnu.org>
19160
19161 * process.c [WINDOWSNT]: Don't undefine AF_INET6.
19162
191632007-07-14 Richard Stallman <rms@gnu.org>
19164
19165 * eval.c (maybe_call_debugger): New function.
19166 (find_handler_clause): Use maybe_call_debugger.
19167 Call it when the handler says `debug'.
19168 Eliminate DEBUGGER_VALUE_PTR.
19169 (Fsignal): Eliminate debugger_value.
19170 (Qdebug): New variable.
19171 (syms_of_eval): Initialize it.
19172
191732007-07-14 Juanma Barranquero <lekktu@gmail.com>
19174
19175 * eval.c (Fprogn):
19176 * keyboard.c (Ftrack_mouse):
19177 * print.c (Fwith_output_to_temp_buffer):
19178 * window.c (Fsave_window_excursion): Doc fix.
19179
191802007-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
19181
19182 * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
19183
191842007-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
19185
19186 * process.h (struct Lisp_Process): Turn slots infd, outfd,
19187 kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
19188 inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
19189 read_output_delay, and read_output_skip from Lisp_Objects to ints.
19190 Remove unused encoding_carryover.
19191 * process.c: Adjust all functions accordingly.
19192
191932007-07-12 Richard Stallman <rms@gnu.org>
19194
19195 * term.c: Include unistd.h only if HAVE_UNISTD_H.
19196
191972007-07-11 Jason Rumney <jasonr@gnu.org>
19198
19199 * makefile.w32-in (LIBS): Include OLE32.
19200
19201 * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
19202 (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
19203
192042007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
19205
19206 * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
19207 * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
19208 from a Lisp_Object into a bare pointer.
19209 (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
19210 Adjust the code correspondingly.
19211
19212 * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
19213
19214 * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
19215 (term_show_mouse_face): Remove unused var `j'.
19216 (handle_one_term_event): Remove unused vars `i' and `j'.
19217 Don't cast return value of ttyname since it's not necessary.
19218
192192007-07-10 Stefan Monnier <monnier@iro.umontreal.ca>
19220
19221 * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
19222 USE_LSB_TAG. Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
19223
19224 * fns.c (map_char_table): Use an array of int for `indices' rather than
19225 an array of Lisp_Objects (which are only ever integers anyway).
19226 (Fmap_char_table): Update caller.
19227 * lisp.h: Update prototype.
19228 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
19229 * fontset.c (Ffontset_info):
19230 * casetab.c (set_case_table): Update callers.
19231
19232 * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
19233
19234 * keymap.c (struct accessible_keymaps_data)
19235 (struct where_is_internal_data): New structures.
19236 (accessible_keymaps_1, where_is_internal_1): Use them to change
19237 interface to adhere to the one used by map_keymap.
19238 (Faccessible_keymaps, where_is_internal): Use map_keymap.
19239 (accessible_keymaps_char_table, where_is_internal_2): Remove.
19240
19241 * keymap.h (map_keymap_function_t): More informative prototype.
19242
192432007-07-10 Guanpeng Xu <herberteuler@hotmail.com>
19244
19245 * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
19246 (looking_at_1): Don't change search_regs and last_thing_searched
19247 if `inhibit-changing-match-data' is non-nil.
19248 (string_match_1, search_buffer, set_search_regs): Likewise.
19249 (syms_of_search): Add Lisp level definition for
19250 `inhibit-changing-match-data' and set it to nil.
19251 (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
19252 start and end of the match, instead of using values in search_regs.
19253
192542007-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
19255
19256 * minibuf.c (Fcompleting_read): New value `confirm-only'
19257 for `require-match'.
19258
192592007-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
19260
19261 * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
19262 part of the 2007-06-27 change to syms_of_fileio.
19263
192642007-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19265
19266 * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
19267 Check WINDOWP before using XWINDOW. Consolidate return statements.
19268
192692007-06-27 Richard Stallman <rms@gnu.org>
19270
19271 * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
19272
192732007-06-27 Juanma Barranquero <lekktu@gmail.com>
19274
19275 * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
19276
192772007-06-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19278
19279 * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
19280 (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
19281 (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
19282 (_free_internal, memalign): Use them.
19283 (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
19284 Initialize to PTHREAD_MUTEX_INITIALIZER.
19285 (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
19286 (morecore_nolock): Rename from morecore. All uses changed.
19287 Use only nolock versions of internal allocation functions.
19288 (_malloc_internal_nolock, _realloc_internal_nolock)
19289 (_free_internal_nolock): New functions created from
19290 _malloc_internal, _realloc_internal, and _free_internal.
19291 (_malloc_internal, _realloc_internal, _free_internal): Use them.
19292 Copy hook value to automatic variable before its use.
19293 (memalign): Copy hook value to automatic variable before its use.
19294
192952007-06-26 Kenichi Handa <handa@m17n.org>
19296
19297 * coding.c (Ffind_operation_coding_system): Docstring improved.
19298 (syms_of_coding): Docstring of `file-coding-system-alist' improved.
19299
193002007-06-25 David Kastrup <dak@gnu.org>
19301
19302 * keymap.c (Fcurrent_active_maps): Add `position' argument.
19303 (Fwhere_is_internal): Adjust call to `current-active-maps' to
19304 cater for additional parameter.
19305
19306 * keymap.h: Adjust number of parameters to `current-active-maps'.
19307
19308 * doc.c (Fsubstitute_command_keys): Adjust call of
19309 `current-active-maps'.
19310
193112007-06-25 David Kastrup <dak@gnu.org>
19312
19313 * callint.c (Fcall_interactively): Make the parsing of interactive
19314 specs somewhat more readable.
19315
193162007-06-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19317
19318 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
19319 to scroll bar gap also when bitmap fills fringe. Draw only foreground
19320 if extended background has already been filled.
19321
193222007-06-22 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19323
19324 * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
19325 (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
19326
19327 * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
19328 Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
19329 in #if 0 as it is not compatible with y-or-n-p-with-timeout.
19330 (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
19331 [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
19332 instead of QuitAppModalLoopForWindow. Consolidate QuitEventLoop calls.
19333 (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
19334 [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
19335 Run timers during dialog popup.
19336 (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
19337
193382007-06-21 Jason Rumney <jasonr@gnu.org>
19339
19340 * image.c (convert_mono_to_color_image): Swap fore and background.
19341
193422007-06-20 Jason Rumney <jasonr@gnu.org>
19343
19344 * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
19345 (w32_free_bdf_font): Unmap memory not handle.
19346
193472007-06-20 Sam Steingold <sds@gnu.org>
19348
19349 * gmalloc.c (__morecore): Fix the declaration to comply with the
19350 definition.
19351
193522007-06-20 Juanma Barranquero <lekktu@gmail.com>
19353
19354 * w32term.c (w32_delete_display): Remove leftover declaration.
19355 (w32_define_cursor, w32_initialize): Make static.
19356
19357 * w32.c (_wsa_errlist): Fix typo in error message.
19358 (init_environment): Ignore any environment variable from the
19359 registry having a null value.
19360
193612007-06-20 Glenn Morris <rgm@gnu.org>
19362
19363 * Makefile.in (LIBGIF): Default to -lgif.
19364
193652007-06-17 Jason Rumney <jasonr@gnu.org>
19366
19367 * w32menu.c (add_menu_item): Don't use multibyte string functions on
19368 unicode strings.
19369
193702007-06-16 Juanma Barranquero <lekktu@gmail.com>
19371
19372 * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
19373 Fix typo in docstring.
19374
193752007-06-16 Eli Zaretskii <eliz@gnu.org>
19376
19377 * w32menu.c (add_menu_item): Escape `&' characters in menu items
19378 and their keybindings.
19379
193802007-06-15 Chong Yidong <cyd@stupidchicken.com>
19381
19382 * composite.c (update_compositions): Fix last fix.
19383
193842007-06-14 Jason Rumney <jasonr@gnu.org>
19385
19386 * w32.c (get_process_times_fn): New function pointer.
19387 (globals_of_w32): Intialize it if present in kernel32.dll.
19388 (w32_get_internal_run_time): New function.
19389
19390 * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
19391
193922007-06-14 Kenichi Handa <handa@etlken.m17n.org>
19393
19394 * composite.c (update_compositions): Check the validness of
19395 compositions.
19396
193972007-06-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19398
19399 * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
19400 (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
19401
19402 * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
19403 (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
19404
19405 * macgui.h (USE_MAC_TOOLBAR): New define.
19406
19407 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
19408 Return immediately unless popup is activated.
19409
19410 * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
19411 background to scroll bar gap.
19412 (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
19413 (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
19414 scroll bars on frame edge. Check fringe background extension.
19415 Don't clear extended fringe background area.
19416 (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
19417 (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
19418 (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
19419 [USE_MAC_TOOLBAR]: New macros.
19420 (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
19421 (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
19422 (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
19423 (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
19424 [USE_MAC_TOOLBAR]: New functions.
19425 (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
19426 manually if previous repositioning has failed.
19427 (mac_handle_keyboard_event): Use precomputed event kind.
19428 (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
19429 as tool bar item click. Handle mouse movement over tool bar items.
19430
19431 * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
19432 toolbar_win_gravity.
19433 (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
19434 (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
19435 Add externs.
19436
19437 * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
19438 [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
19439
194402007-06-14 Chong Yidong <cyd@stupidchicken.com>
19441
19442 * image.c (search_image_cache): Remove unused variable.
19443
194442007-06-13 Chong Yidong <cyd@stupidchicken.com>
19445
19446 * xfns.c, xmenu.c: Link to xaw3d if available.
19447
194482007-06-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19449
19450 * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
19451 frame_foreground and frame_background.
19452
19453 * image.c (lookup_image): Save frame foreground and background colors.
19454 (search_image_cache): Check if saved and current frame colors match.
19455
194562007-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
19457
19458 * regex.c (regex_compile): Remove the `regnum' counter.
19459 Use bufp->re_nsub instead. Add support for \(?N:RE\).
19460
194612007-06-11 Stefan Monnier <monnier@iro.umontreal.ca>
19462
19463 * term.c: Include intervals.h to declare Fget_text_property.
19464
194652007-06-10 Jason Rumney <jasonr@gnu.org>
19466
19467 * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
19468
194692007-06-08 Juanma Barranquero <lekktu@gmail.com>
19470
19471 * callint.c (Fcall_interactively):
19472 * editfns.c (Fdelete_and_extract_region):
19473 * fileio.c (Fread_file_name):
19474 * fns.c (Fmapconcat):
19475 * keyboard.c (cmd_error_internal):
19476 * keymap.c (Fkey_description):
19477 * lread.c (openp):
19478 * minibuf.c (read_minibuf):
19479 * search.c (wordify):
19480 * sunfns.c (sel_read):
19481 * xdisp.c (Fformat_mode_line, syms_of_xdisp):
19482 * xfns.c (x_default_scroll_bar_color_parameter):
19483 * xmenu.c (menu_help_callback):
19484 * xselect.c (Fx_get_atom_name):
19485 * xterm.c (x_term_init): Use empty_unibyte_string.
19486
194872007-06-08 Dmitry Antipov <dmantipov@yandex.ru> (tiny change)
19488
19489 * alloc.c (init_strings): Initialize canonical empty strings.
19490 (make_uninit_string, make_uninit_multibyte_string): Return appropriate
19491 canonical empty string when the requested size is 0.
19492
19493 * emacs.c (empty_unibyte_string): Rename from empty_string.
19494 (empty_multibyte_string): New canonical empty string.
19495 (syms_of_emacs): Don't initialize empty_string.
19496
19497 * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
19498 string, if appropriate.
19499 (empty_unibyte_string, empty_multibyte_string): New externs.
19500 (empty_string): Remove extern.
19501
19502 * lread.c (syms_of_lread): Use empty_unibyte_string.
19503
195042007-06-07 Jason Rumney <jasonr@gnu.org>
19505
19506 * s/ms-w32.h: Don't define HAVE_TZNAME.
19507
19508 * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
19509
195102007-06-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19511
19512 * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
19513
19514 * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
19515 (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
19516
19517 * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
19518 Don't call next handler.
19519 [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
19520 Remove argument. Install handler to application.
19521 (set_frame_menubar): Don't change deep_p.
19522 (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
19523 FRAME_OUTER_TO_INNER_DIFF_Y.
19524 (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
19525 (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
19526 [HAVE_DIALOGS]: New macros.
19527 [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
19528 Use them.
19529 (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
19530
19531 * macselect.c [MAC_OSX] (install_service_handler): Rename from
19532 init_service_handler. All callers changed. Return OSStatus value.
19533
19534 * macterm.c (mac_begin_cg_clip): New arg F. Call SetPortWindowPort.
19535 All callers changed so as not to call SetPortWindowPort.
19536 (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
19537 (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
19538 mac_draw_string_common.
19539 (mac_draw_image_string_qd): Likewise.
19540 (mac_draw_string_common): Use them. Add INLINE.
19541 (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
19542 Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
19543 GetGlobalMouse.
19544 (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
19545 and FRAME_OUTER_TO_INNER_DIFF_Y.
19546 [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
19547 [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
19548 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
19549 repositioning window to mac_handle_window_event.
19550 (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
19551 saving window location to mac_handle_window_event
19552 [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
19553 (install_menu_target_item_handler): Remove argument in extern.
19554 [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
19555 Also accept command events.
19556 (do_keystroke): New function created from XTread_socket.
19557 (init_command_handler): Remove functions.
19558 [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
19559 and save window location by kEventWindowShowing and kEventWindowHiding
19560 handlers here. Don't call next handler for window state change and
19561 focus events.
19562 (mac_handle_application_event, mac_handle_keyboard_event)
19563 [TARGET_API_MAC_CARBON]: New functions.
19564 (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
19565 kEventWindowShowing and kEventWindowHiding events. Move installation
19566 of mouse, font, text input and menu target item handlers to
19567 install_application_handler.
19568 (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
19569 (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
19570 New function.
19571 (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
19572 Register it.
19573 (XTread_socket) [TARGET_API_MAC_CARBON]:
19574 Consolidate SendEventToEventTarget calls.
19575 Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
19576 Move application activation handler to mac_handle_application_event.
19577 Move keyboard handler to mac_handle_keyboard_event.
19578 (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
19579 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
19580 init_command_handler. Call install_application_handler.
19581
19582 * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
19583 (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
19584
195852007-06-07 Glenn Morris <rgm@gnu.org>
19586
19587 * emacs.c (main): Use `emacs-copyright' in --version output.
19588
195892007-06-06 Chong Yidong <cyd@stupidchicken.com>
19590
19591 * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
19592
195932007-06-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19594
19595 * macfns.c (mac_window): Replace WindowPtr with WindowRef.
19596
19597 * macgui.h: Replace WindowPtr with WindowRef.
19598
19599 * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
19600 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
19601 Replace ControlHandle with ControlRef.
19602 (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
19603
19604 * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
19605 GetMenuRef, respectively. Replace WindowPtr with WindowRef.
19606 Replace ControlHandle with ControlRef.
19607 (USE_CARBON_EVENTS): Remove. Use TARGET_API_MAC_CARBON instead.
19608 [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
19609
19610 * macterm.h (struct scroll_bar): Rename member control_handle_low
19611 and control_handle_high to control_ref_low and control_ref_high.
19612 All uses changed.
19613 (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
19614 SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
19615 respectively. All uses changed.
19616 (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
19617 (install_window_handler, remove_window_handler): Replace WindowPtr
19618 with WindowRef in externs.
19619
196202007-06-05 Juanma Barranquero <lekktu@gmail.com>
19621
19622 * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
19623
196242007-06-03 Nick Roberts <nickrob@snap.net.nz>
19625
19626 * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
19627
19628 * frame.c (Fmouse_position, Fmouse_pixel_position):
19629 Condition on HAVE_GPM too.
19630
19631 * term.c (term_mouse_highlight): Remove unused variables.
19632 (Fterm_open_connection): Set gpm_zerobased to 1.
19633 (term_mouse_movement, term_mouse_click, handle_one_term_event):
19634 Use zero based co-ordinates.
19635 (handle_one_term_event): Report a drag as mouse movement too.
19636
19637 * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
19638
196392007-06-03 Chong Yidong <cyd@stupidchicken.com>
19640
19641 * image.c (search_image_cache): New function. Require background
19642 color match if background color is unspecified in the image spec.
19643 (uncache_image, lookup_image): Use it.
19644
196452007-06-01 Juanma Barranquero <lekktu@gmail.com>
19646
19647 * window.c (Fshrink_window): Reflow docstring.
19648
196492007-06-02 Chong Yidong <cyd@stupidchicken.com>
19650
19651 * Version 22.1 released.
19652
196532007-06-01 Richard Stallman <rms@gnu.org>
19654
19655 * xfns.c (x_encode_text): Add GCPRO.
19656
196572007-06-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19658
19659 * xfns.c (x_set_name_internal): Save encoded name before
19660 x_encode_text in case string data is relocated.
19661
196622007-05-31 Richard Stallman <rms@gnu.org>
19663
19664 * buffer.c (syms_of_buffer): Doc fix.
19665
196662007-05-30 Nick Roberts <nickrob@snap.net.nz>
19667
19668 * sysdep.c (init_sys_modes): Add rather than replace with
19669 O_NONBLOCK.
19670
19671 * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
19672 term_mouse_moveto.
19673
19674 * termhooks.h (term_mouse_moveto): New extern.
19675
19676 * term.c (mouse_face_window): Rename...
19677 (Qmouse_face_window): ...to this.
19678 (term_show_mouse_face, term_clear_mouse_face)
19679 (term_mouse_highlight): Use Qmouse_face_window.
19680 (term_mouse_moveto): New function.
19681 (term_mouse_position): Make it work.
19682 (syms_of_term): Uncomment assignment to mouse_position_hook.
19683 Staticpro Qmouse_face_window.
19684
196852007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19686
19687 * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
19688 around current_column call.
19689
196902007-05-26 Dan Nicolaescu <dann@ics.uci.edu>
19691
19692 * xfaces.c (syms_of_xfaces): Delete stray semicolon.
19693 * xdisp.c (next_element_from_buffer):
19694 * window.c (delete_window):
19695 * term.c (term_mouse_highlight):
19696 * msdos.c (getdefdir):
19697 * macterm.c (mac_create_bitmap_from_bitmap_data)
19698 (init_font_name_table):
19699 * fns.c (Fsxhash):
19700 * data.c (Fmake_local_variable):
19701 * ccl.c (ccl_driver): Likewise.
19702
197032007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19704
19705 * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
19706 Call mac_wakeup_from_rne on window size change.
19707
197082007-05-25 Chong Yidong <cyd@stupidchicken.com>
19709
19710 * image.c (uncache_image): Fix typo.
19711
197122007-05-23 Johannes Weiner <hannes@saeurebad.de> (tiny change)
19713
19714 * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
19715
197162007-05-22 Richard Stallman <rms@gnu.org>
19717
19718 * xterm.c (x_connection_closed): Remove NO_RETURN.
19719
197202007-05-22 Martin Rudalics <rudalics@gmx.at>
19721
19722 * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
19723
197242007-05-21 Chong Yidong <cyd@stupidchicken.com>
19725
19726 * image.c (uncache_image): New function.
19727 (Fimage_refresh): New function.
19728
197292007-05-20 Jan Djärv <jan.h.d@swipnet.se>
19730
19731 * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
19732
197332007-05-20 Nick Roberts <nickrob@snap.net.nz>
19734
19735 * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
19736 * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
19737
197382007-05-20 Nick Roberts <nickrob@snap.net.nz>
19739
19740 * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
19741 conditional on [HAVE_GPM_H].
19742
197432007-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
19744
19745 * syntax.c (skip_chars): Update syntax-table only after we checked that
19746 the new location is valid.
19747
197482007-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19749
19750 * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
19751 mac_get_window_bounds.
19752
197532007-05-20 Nick Roberts <nickrob@snap.net.nz>
19754
19755 * Makefile.in (LIBGPM): Allow it to be set from configure.
19756 If set then link Emacs with it.
19757
19758 * config.in: Regenerate.
19759
19760 * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
19761 New externs.
19762
19763 * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
19764 Include gpm.h.
19765 (handle_one_term_event, term_gpm): New externs.
19766
19767 * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
19768 and allow it to be interrupted by SIGIO.
19769
19770 * process.c (gpm_wait_mask, max_gpm_desc): New variables.
19771 (wait_reading_process_output): Wait on gpm_fd too.
19772 (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
19773 (add_gpm_wait_descriptor_called_flag): New variable.
19774 (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
19775
19776 * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
19777 (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
19778 (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
19779 Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
19780 (make_lispy_event): Add case GPM_CLICK_EVENT.
19781 (read_avail_input): Handle mouse input.
19782
19783 * term.c (write_glyphs_with_face): New function.
19784 [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
19785 (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
19786 (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
19787 (mouse_face_face_id, term_gpm, pos_x, pos_y)
19788 (last_mouse_x, last_mouse_y): New variables.
19789 (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
19790 (term_mouse_highlight, term_mouse_movement, term_mouse_position)
19791 (term_mouse_click, handle_one_term_event, Fterm_open_connection)
19792 (Fterm_close_connection): New functions.
19793 (term_init): Initialise mouse_face_window.
19794
197952007-05-19 Chong Yidong <cyd@stupidchicken.com>
19796
19797 * xdisp.c (redisplay_window): If first window line is a
19798 continuation line, recompute the new window start instead of
19799 recentering.
19800
198012007-05-18 Glenn Morris <rgm@gnu.org>
19802
19803 * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
19804 Suggested by Alfred M. Szmidt <ams@gnu.org>.
19805
198062007-05-17 Glenn Morris <rgm@gnu.org>
19807
19808 * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
19809
198102007-05-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19811
19812 * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
19813 dead key repeat and up events.
19814
198152007-05-14 Chong Yidong <cyd@stupidchicken.com>
19816
19817 * image.c (pbm_load): Check image size for monochrome pbm.
19818
198192007-05-13 Chong Yidong <cyd@stupidchicken.com>
19820
19821 * xterm.c (XTread_socket): Revert last change.
19822
198232007-05-12 Chong Yidong <cyd@stupidchicken.com>
19824
19825 * image.c (pbm_load): Correctly check image size for greyscale pbm.
19826
19827 * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
19828
198292007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
19830
19831 * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
19832 mixup (YAILOM).
19833
198342007-05-07 Andreas Schwab <schwab@suse.de>
19835
19836 * keymap.c (Flookup_key): Fix typo in last change.
19837
198382007-05-07 Stefan Monnier <monnier@iro.umontreal.ca>
19839
19840 * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
19841 mapping for unibyte strings.
19842
198432007-05-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19844
19845 * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
19846 (Fx_popup_dialog) [MAC_OSX]: Likewise.
19847
198482007-04-29 Richard Stallman <rms@gnu.org>
19849
19850 * insdel.c (replace_range): For undo, record insertion first.
19851
198522007-04-29 Andreas Schwab <schwab@suse.de>
19853
19854 * lisp.h (VECSIZE): Use OFFSETOF.
19855
198562007-04-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19857
19858 * xdisp.c (try_window_reusing_current_matrix): Fix number of
19859 disabled lines.
19860
198612007-04-28 Richard Stallman <rms@gnu.org>
19862
19863 * lread.c (read_escape): In a string, \s is always space.
19864
198652007-04-27 Jan Djärv <jan.h.d@swipnet.se>
19866
19867 * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
19868
19869 * gtkutil.c (xg_update_menubar, create_menus): Create empty
19870 submenu for menu bar items.
19871
19872See ChangeLog.10 for earlier changes.
19873
19874;; Local Variables:
19875;; coding: utf-8
19876;; add-log-time-zone-rule: t
aac0c6e3
MR
19877;; End:
19878
76b6f707 19879 Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
aac0c6e3
MR
19880
19881 This file is part of GNU Emacs.
19882
19883 GNU Emacs is free software: you can redistribute it and/or modify
19884 it under the terms of the GNU General Public License as published by
19885 the Free Software Foundation, either version 3 of the License, or
19886 (at your option) any later version.
19887
19888 GNU Emacs is distributed in the hope that it will be useful,
19889 but WITHOUT ANY WARRANTY; without even the implied warranty of
19890 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19891 GNU General Public License for more details.
19892
19893 You should have received a copy of the GNU General Public License
19894 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
19895
19896;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40