ChangeLog 750 KB
Newer Older
Chong Yidong's avatar
Chong Yidong committed
1 2 3 4 5
2010-03-13  Andreas Politz  <politza@fh-trier.de>  (tiny change)

	* editfns.c (Fformat): Account for string precision when computing
	field width (Bug#5710).

6 7
2010-03-12  Chong Yidong  <cyd@stupidchicken.com>

8 9
	* xfns.c (Fx_create_frame): Set default to Qright.

10 11 12
	* frame.c (Vdefault_frame_scroll_bars): Set default to Qright for
	all window systems.

13 14
2010-03-12  Eli Zaretskii  <eliz@gnu.org>

15
	These changes remove termcap.c from the build on Posix platforms.
16 17 18 19 20 21 22 23 24
	* Makefilie.in (termcapobj): Move termcap.o from here...
	(MSDOS_OBJ): ...to here.
	(termcapobj) [!LIBS_TERMCAP]: Remove specialized value, as it is
	now identical to when LIBS_TERMCAP is defined.

	* term.c: Remove (ifdef'ed away) inclusion of termcap.h.

	* cm.c: Remove (ifdef'ed away) inclusion of termcap.h.

25
	* config.in: Regenerated.  (See top-level ChangeLog.)
26

Chong Yidong's avatar
Chong Yidong committed
27 28 29 30
2010-03-10  Chong Yidong  <cyd@stupidchicken.com>

	* Branch for 23.2.

31 32 33 34 35 36 37 38 39 40 41
2010-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	Cleanup setup of gl_state in various parts of the code.
	* syntax.h (SETUP_BUFFER_SYNTAX_TABLE): New macro.
	(SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT):
	* syntax.c (find_defun_start, Fchar_syntax, Fmatching_paren)
	(skip_chars):
	* regex.c (regex_compile): Use it.
	(re_compile_pattern): Don't set gl_state.current_syntax_table since
	it's now set in regex_compile when/if we need it.

42 43
2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>

44 45 46 47 48
	Make it possible to C-g in a tight bytecode loop again (bug#5680).
	* lisp.h (ELSE_PENDING_SIGNALS): New macro.
	(QUIT): Use it to consolidate code and remove redundancy.
	* bytecode.c (BYTE_CODE_QUIT): Use it as well.

49 50
	* regex.c (regex_compile): Setup gl_state as well.

51 52 53
	* syntax.c (skip_chars): Setup gl_state (bug#3823).
	(in_classes): Use CONSP before XCAR/XCDR.

54 55 56 57 58 59
2010-03-03  Chong Yidong  <cyd@stupidchicken.com>

	* keymap.c (Fwhere_is_internal): Use Fequal to compare
	definitions, so that keyboard macros are correctly handled
	(Bug#5481).

60 61 62 63 64 65 66
2010-03-02  Eli Zaretskii  <eliz@gnu.org>

	* coding.c (decode_coding_emacs_mule): Fixup pointers to buffer
	text that could be relocated inside the call to emacs_mule_char.
	(emacs_mule_char): Use CODING_DECODE_CHAR instead of DECODE_CHAR.
	(CODING_DECODE_CHAR): Add a comment describing its purpose.

67 68
2010-03-02  Kenichi Handa  <handa@m17n.org>

69 70 71 72
	* character.c (parse_str_as_multibyte): Fix handling of the
	multibyte form of raw-bytes.
	(str_as_multibyte): Likewise.

73 74 75
	* buffer.c (Fset_buffer_multibyte): Fix handling of the multibyte
	form of raw-bytes.

Chong Yidong's avatar
Chong Yidong committed
76 77 78 79 80 81
2010-02-28  Chong Yidong  <cyd@stupidchicken.com>

	* charset.c (load_charset_map_from_file)
	(load_charset_map_from_vector): Zero out allocated
	charset_map_entries before using them.

82 83 84 85
2010-02-27  Andreas Schwab  <schwab@linux-m68k.org>

	* w32uniscribe.c (uniscribe_check_otf): Fix length check.

86 87
2010-02-27  Chong Yidong  <cyd@stupidchicken.com>

88 89
	* font.c (font_parse_fcname): Recognize "Book", "Condensed",
	"Medium", and "Semi-Condensed" keywords in GTK names (Bug#5646).
90

91 92
2010-02-26  Kenichi Handa  <handa@m17n.org>

Kenichi Handa's avatar
Kenichi Handa committed
93 94
	* ftfont.c (ftfont_get_open_type_spec): Fix parsing of otf_spec.

95 96
	* xdisp.c (reseat_to_string): Fix previous change.

97 98 99 100 101
2010-02-26  David Reitter  <david.reitter@gmail.com>

	* nsfont.m (nsfont_draw): ns_antialias_text should be a
	Lisp_Object (Bug#4736).

102 103 104 105
2010-02-25  Kenichi Handa  <handa@m17n.org>

	* xdisp.c (reseat_to_string): Fix previous change (bug#5609).

106 107 108 109 110 111 112 113 114 115 116
2010-02-24  Jan Djärv  <jan.h.d@swipnet.se>

	* xterm.c (XTflash): Move declarations before statements.

	* gtkutil.c (xg_get_gdk_display): Remove (unused).
	(xg_get_pixbuf_from_pix_and_mask, xg_create_frame_widgets)
	(xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb)
	(xg_create_tool_bar): Remove unused variables.
	(x_wm_set_size_hint): Move declarations before statements.
	(xg_create_frame_widgets): Remove variable grav,

117 118 119 120
2010-02-21  Chong Yidong  <cyd@stupidchicken.com>

	* m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518).

121 122 123 124
2010-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>

	* term.c (fatal): Add a final \n if needed (bug#5596).

125 126 127 128
2010-02-18  Chong Yidong  <cyd@stupidchicken.com>

	* nsterm.m (ns_ring_bell): Revert last change (Bug#5569).

129 130 131 132
2010-02-18  Glenn Morris  <rgm@gnu.org>

	* callint.c (Finteractive): Doc fix.

133 134
2010-02-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)

135 136
	* coding.c (record_conversion_result):
	Handle CODING_RESULT_INSUFFICIENT_DST.
137 138 139
	(decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on
	memory allocation error.

140 141
2010-02-17  Kenichi Handa  <handa@m17n.org>

142 143
	* coding.c (decode_coding_ccl): Don't setup ccl program here.
	Fix for the case that the output buffer is fullfilled.
144 145 146 147 148 149
	(decode_coding): Setup ccl program here.  Keep looping when the
	decoder stopped because the output buffer is
	fullfilled (bug#5534).

	* ccl.c (ccl_driver): Never reset ic to CCL_HEADER_MAIN.

150 151
2010-02-13  Jan Djärv  <jan.h.d@swipnet.se>

152
	* xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK,
153
	bug #5571.
154
	(XTflash): Use Gdk-routines if USE_GTK so scroll bars don't get
155
	overdrawn.
156

157 158 159 160 161 162 163 164 165 166 167 168
2010-02-10  Jan Djärv  <jan.h.d@swipnet.se>

	* xsmfns.c (x_session_initialize): Move initialization of ice_fd and
	doing_interact here.
	(ice_connection_closed): New function.
	(x_session_check_input, smc_die_CB, ice_io_error_handler)
	(ice_conn_watch_CB, x_session_close): Call ice_connection_closed.
	(x_session_check_input): Call IceCloseConnection if IceProcessMessages
	returns I/O error.
	(ice_conn_watch_CB): Call add_keyboard_wait_descriptor on ice_fd,
	bug #5512.

Glenn Morris's avatar
Glenn Morris committed
169
2010-02-08  Francis Devereux  <francis@devrx.org>  (tiny change)
170 171 172 173

	* nsfont.m (nsfont_open): The system's value for the font descent
	is negative, so round it down to avoid clipping.

174 175 176 177
2010-02-06  Chong Yidong  <cyd@stupidchicken.com>

	* charset.c (load_charset_map_from_file)
	(load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA
178
	instead of xmalloc (Bug#5526).  Suggested by Vivek Dasmohapatra.
179

Chong Yidong's avatar
Chong Yidong committed
180 181 182 183 184 185
2010-02-05  Chong Yidong  <cyd@stupidchicken.com>

	* charset.c (load_charset_map_from_file): Allocate large
	charset_map_entries structure on the heap rather than the stack.
	(Bug#5526).

186 187 188
2010-01-31  Kenichi Handa  <handa@m17n.org>

	* font.c (font_parse_xlfd): If FONT is a font-entity and pixel
Kenichi Handa's avatar
Kenichi Handa committed
189
	size in NAME is invalid, return -1 (Bug#5396).
190

191 192 193 194 195
2010-01-31  Chong Yidong  <cyd@stupidchicken.com>

	* nsterm.m (ns_defined_color): Block input.  Suggested by Mike
	<deactivated@gmail.com> (Bug#3605).

196 197 198 199 200
2010-01-31  David De La Harpe Golden  <david@harpegolden.net>

	* fileio.c (Frename_file): Correctly rename symlinks to
	directories (Bug#5496).

201 202 203 204
2010-01-31  Filipe Cabecinhas  <filcab@gmail.com>  (tiny change)

	* nsterm.m (ns_ring_bell): Handle visible bell like X.

205 206 207 208
2010-01-30  Andreas Schwab  <schwab@linux-m68k.org>

	* character.h (CHAR_PRINTABLE_P): Reparenthesize to avoid warning.

209 210 211 212 213 214 215
2010-01-29  Chong Yidong  <cyd@stupidchicken.com>

	* frame.c (DEFAULT_ROWS): Change default to 35.

	* xfns.c (x_default_font_parameter): Change default XFT font to
	monospace-10 (Bug#3643).

216 217 218 219 220
2010-01-29  Eli Zaretskii  <eliz@gnu.org>

	* w32inevt.c (key_event): Remove unnecessary comparison of
	event->uChar.AsciiChar with 128.

221 222
2010-01-28  Chong Yidong  <cyd@stupidchicken.com>

223 224
	* fileio.c (Frename_file): Fix last change (Bug#5487).

225 226 227 228
	* m/mips.h: Remove DATA_START.  Suggested by Dan Nicolaescu.

	* m/alpha.h: Don't define DATA_START on NetBSD (Bug#4629).

229 230 231 232 233 234
2010-01-28  Jan Djärv  <jan.h.d@swipnet.se>

	* xfns.c (Fx_create_frame): Remove window size matching code from
	2010-01-15.
	(x_get_current_desktop, x_get_desktop_workarea): Remove

235 236 237
2010-01-27  Jason Rumney  <jasonr@gnu.org>

	* w32inevt.c (w32_kbd_patch_key): Save the unicode character.
238
	(key_event): Use unicode for characters 128 and higher (Bug#4567).
239

240 241 242
2010-01-27  Kenichi Handa  <handa@m17n.org>

	* regex.c (analyse_first): Fix setting of fastmap for unibyte
Kenichi Handa's avatar
Kenichi Handa committed
243
	pattern string (Bug#4209).
244

245 246 247 248 249 250
2010-01-27  David De La Harpe Golden  <david@harpegolden.net>

	* fileio.c (Frename_file): Call copy-directory and
	delete-directory for directories, in order to handle cross-device
	renaming (Bug#3353).

251 252
2010-01-25  Jan Djärv  <jan.h.d@swipnet.se>

Jan Djärv's avatar
Jan Djärv committed
253
	* xfns.c (Fx_create_frame): If frame height is too big, try
Juanma Barranquero's avatar
Juanma Barranquero committed
254
	sizes 24 and 10.  Bug #3643.
255

256 257
2010-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>

258
	Try and fix bug#788, hopefully for real this time.
259 260 261 262
	* keymap.c (shadow_lookup): Add `remap' arg.
	(describe_map, describe_vector): Update calls to shadow_lookup.
	(Fwhere_is_internal): Fix up handling of `remapped_sequences' and
	`remapped' so this flag is applicable to `sequence'.  Be careful to
263 264
	perform remapping during shadow_lookup check of remapped_sequences.

265 266 267 268 269
2010-01-24  Eric Bélanger  <snowmaniscool@gmail.com>  (tiny change)

	* image.c (png_load): Use png_sig_cmp instead of the obsolete
	png_check_sig, which has been removed in libpng 1.4.

270 271 272 273 274
2010-01-23  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)

	* filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x
	lacks this header file).

275 276 277 278 279
2010-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* xdisp.c (draw_glyphs): Update `start' for left_overwritten case
	as in Emacs 22.

280 281 282 283 284 285 286
2010-01-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* lisp.h (make_pure_string): String pointer arg now points to const.

	* alloc.c (find_string_data_in_pure, make_pure_string): String pointer
	args now point to const.

287 288 289 290 291 292
2010-01-22  Eli Zaretskii  <eliz@gnu.org>

	* lread.c (Fload): Don't treat files without .elc extension as
	byte-compiled if they are ``magic'', i.e. `openp' returned -2 for
	them.  (bug#5303)

293 294 295 296 297
2010-01-20  Kenichi Handa  <handa@m17n.org>

	* coding.c (consume_chars): If ! multibyte and the encoder is ccl,
	treat the source as actual byte sequence.

298 299 300 301 302 303 304
2010-01-19  Alan Mackenzie  <acm@muc.de>

	Fix spurious before-change-functions invocation from (insert ?\n).
	* textprop.c (set_text_properties): rename parameter
	`signal_after_change_p' to `coherent_change_p', and make the
	invocation of `modify_region' conditional on it.

305 306 307 308 309 310
2010-01-19  Jan Djärv  <jan.h.d@swipnet.se>

	* xsettings.c (apply_xft_settings): Save settings in Vxft_settings
	for debug purpose.
	(syms_of_xsettings): Declare xft-settings.

311 312 313 314
2010-01-18  Chong Yidong  <cyd@stupidchicken.com>

	* editfns.c (Fcurrent_time_string): Doc fix (Bug#5408).

315 316 317 318
2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* xterm.c (event_handler_gdk): Block input (Bug#5037).

319 320 321 322 323
2010-01-16  Chong Yidong  <cyd@stupidchicken.com>

	* emacs.c (standard_args): Adjust arg priorities to reflect how
	they are processed in startup.el.

324 325 326 327
2010-01-16  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile.in (lisp, shortlisp): Update.

328 329 330 331 332 333 334 335
2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>

	* xterm.c (x_term_init): Instead of inhibiting GC while running Lisp
	code, link the new kboard into all_kboard before running Lisp code,
	and protect the new terminal with GCPRO (Bug#5365).
	(x_term_init): Remove unused var `atom'.
	(x_delete_display, x_delete_terminal): Remove unused var `i'.

336 337 338 339 340
2010-01-15  Jan Djärv  <jan.h.d@swipnet.se>

	* xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions.
	(Fx_create_frame): Call x_get_current_desktop and x_get_desktop_workarea
	to find out usable size of the desktop.  Don't make frames larger than
Juanma Barranquero's avatar
Juanma Barranquero committed
341
	this.  Bug #3643.
342

343 344 345 346
2010-01-15  Kenichi Handa  <handa@m17n.org>

	* xdisp.c (CHAR_COMPOSED_P): New arg END_CHARPOS.  Callers changed.

347 348 349 350 351 352
2010-01-15  Chong Yidong  <cyd@stupidchicken.com>

	* nsterm.m (Qnone): Define.

	* nsfns.m (Qnone): Move definition to nsterm.m.

353 354 355 356 357
2010-01-14  Kenichi Handa  <handa@m17n.org>

	* coding.c (detect_coding_iso_2022): Fix handling of euc-xx coding
	systems.

358 359 360 361 362 363 364 365 366 367 368 369
2010-01-14  Kenichi Handa  <handa@m17n.org>

	Make auto-composition work on all buffers even if they are
	fundamental mode.

	* composite.c (Vauto_composition_mode): New variable.
	(composition_compute_stop_pos): Check Vauto_composition_mode
	instead of Vauto_composition_function.
	(composition_adjust_point, Ffind_composition_internal): Likewise.
	(syms_of_composite): Declare Lisp variable
	"auto-composition-mode" here.

370 371 372 373 374
2010-01-13  Chong Yidong  <cyd@stupidchicken.com>

	* xterm.c (x_term_init): Avoid garbage-collecting the new terminal
	during call to vendor-specific-keysyms (Bug#5365).

375 376 377 378 379 380 381 382
2010-01-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* keyboard.c (input_available_signal) [SYNC_INPUT]:
	Call SIGNAL_THREAD_CHECK (Bug#5333).

	* atimer.c (alarm_signal_handler) [!SYNC_INPUT]:
	Call SIGNAL_THREAD_CHECK.

383 384 385 386 387 388 389 390 391 392 393
2010-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	Try to fix bug#5314.  This is probably not the final word, tho.
	* buffer.c (Fset_buffer_modified_p): Try and be careful not to modify
	recent-auto-save-p as a side-effect.
	* buffer.h (BUF_AUTOSAVE_MODIFF): New macro.
	* buffer.c (Fkill_buffer, reset_buffer):
	* editfns.c (Fsubst_char_in_region):
	* fileio.c (Finsert_file_contents, Fdo_auto_save)
	(Fset_buffer_auto_saved, Frecent_auto_save_p): Use it.

394 395 396 397 398 399
2010-01-13  Kenichi Handa  <handa@m17n.org>

	Display buffer name, etc. in mode line by composing correctly.

	* xdisp.c (reseat_to_string): Call composition_compute_stop_pos if
	STRING is not nil.
400
	(display_mode_element): Adjust for the change of
401 402 403 404 405
	decode_mode_spec and display_line.
	(decode_mode_spec): Change arg MULTIBYTE to STRING.
	(display_string): Handle the case that STRING is non-null and
	LISP_STRING is not nil.

406 407
	* xterm.c (x_draw_composite_glyph_string_foreground):
	Pay attention to s->face->overstrike.
408 409 410 411

	* composite.c (composition_reseat_it): Don't check PT if STRING is
	non nil.

412 413 414 415 416
2010-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* keyboard.c (read_char): Don't apply previous change when current
	buffer is unchanged by command execution.

417 418 419 420
2010-01-12  Jan Djärv  <jan.h.d@swipnet.se>

	* keyboard.c (read_char): Return after executing from special map.

421 422 423 424 425
2010-01-12  Glenn Morris  <rgm@gnu.org>

	* emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
	bug-gnu-emacs rather than emacs-pretest-bug.

426 427 428 429 430
2010-01-11  Chong Yidong  <cyd@stupidchicken.com>

	* nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before
	initializing the Lisp variables that depend on them.

431 432 433 434 435 436
2010-01-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* xfns.c (x_set_menu_bar_lines) [!USE_X_TOOLKIT && !USE_GTK]:
	Clear areas that will not be updated after change of menu bar lines.
	Clear the menu bar window's current matrix when the window gets empty.

437 438
2010-01-09  Chong Yidong  <cyd@stupidchicken.com>

439 440 441 442 443 444
	* intervals.h, textprop.c (extend_property_ranges): Return value
	and args changed.  Discard properties that begin at or after the
	new end (Bug#5306).

	* editfns.c (Fformat): Caller changed.

Chong Yidong's avatar
Chong Yidong committed
445 446 447 448 449
	* nsterm.m (ns_set_default_prefs): Delete function.
	(syms_of_nsterm): Initialize ns_command_modifier,
	ns_control_modifier, ns_function_modifier, ns_antialias_text, and
	ns_antialias_threshold here, not in ns_term_init (Bug#4113).

450 451 452
	* xdisp.c (pos_visible_p): Check for invisible text at the correct
	position (Bug#4040).

453 454 455 456
2010-01-09  Eli Zaretskii  <eliz@gnu.org>

	* editfns.c (Ffloat_time): Doc fix.

457 458 459 460 461
2010-01-09  Jan Djärv  <jan.h.d@swipnet.se>

	* xfns.c (Fx_create_frame): Don't create frame larger than display
	by default bug#3643.

462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483
2010-01-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro.
	(FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo
	windows above internal border.

	* window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros.
	(WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo
	windows above internal border.

	* xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
	tool bar windows specially.

	* xfns.c (x_set_tool_bar_lines): Take account of menu bar height.

	* xterm.c (x_after_update_window_line): Don't treat tool bar windows
	specially.
	(XTflash): Take account of menu bar height.

	* w32term.c (x_after_update_window_line): Don't treat tool bar windows
	specially.

484 485
2010-01-08  Jan Djärv  <jan.h.d@swipnet.se>

Juanma Barranquero's avatar
Juanma Barranquero committed
486
	* dispnew.c (change_frame_size_1): newwidth == FRAME_COLS (f) must
487 488
	also be true before we can return early (bug #5339).

Chong Yidong's avatar
Chong Yidong committed
489 490 491 492 493 494
2010-01-06  David Reitter  <david.reitter@gmail.com>

	* nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS.
	(Fns_display_usable_bounds): Rewrite, computing bounds properly
	(Bug#3233).

495 496
2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>

497 498 499 500 501 502 503
	* font.c (font_open_entity): Enable chache and call cached_font_ok
	for the driver if defined.
	(QCuser_spec): New symbol.
	(font_spec_from_name): Save name as user-spec.
	(font_load_for_lface): Keep user-spec instead of name.
	(font_open_by_name): Save name as user-spec.
	(syms_of_font): Initialize QCuser_spec.
Jan Djärv's avatar
Jan Djärv committed
504
	(font_clear_prop): Clear name if it exists in font (bug#5157).
505 506 507 508 509 510 511

	* xftfont.c (xftfont_open): Call xftfont_add_rendering_parameters.
	(xftfont_add_rendering_parameters, xftfont_cached_font_ok): New.
	(syms_of_xftfont): Initialize xftfont_driver.cached_font_ok.

	* font.h (struct font_driver): Add cached_font_ok.

512 513
	* xterm.c (x_clear_frame): Queue draw for scroll bars.

514 515 516 517
2010-01-05  Jan Djärv  <jan.h.d@swipnet.se>

	* xterm.c (x_new_font): Move code for setting rows/cols before
	resizing ...
Juanma Barranquero's avatar
Juanma Barranquero committed
518
	(x_set_window_size): ... to here.  Bug #2568.
519 520

	* gtkutil.c (xg_clear_under_internal_border): New function.
521 522
	(xg_frame_resized, xg_frame_set_char_size):
	Call xg_clear_under_internal_border.
523
	(xg_update_scrollbar_pos): Clear under old scroll bar position.
Eli Zaretskii's avatar
Eli Zaretskii committed
524

525 526 527 528 529
2010-01-05  Chong Yidong  <cyd@stupidchicken.com>

	* keyboard.c (read_key_sequence): Catch keyboard switch after
	making a new tty frame (Bug#5095).

530 531 532 533
2010-01-05  Kenichi Handa  <handa@m17n.org>

	* fontset.c (fontset_find_font): Fix getting the frame pointer.

534 535 536 537 538 539
2010-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>

	* dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to
	Lisp_Object, preferring to convert a lisp_Object to a void* instead.
	(Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.

540 541 542 543 544 545 546
2010-01-03  Michael Albinus  <michael.albinus@gmx.de>

	* dbusbind.c (xd_add_watch): Improve debug message.
	(xd_remove_watch): Improve debug message.  If DATA is the session
	bus, unset D-Bus session environment.
	(Fdbus_init_bus): Pass the bus as argument to
	dbus_connection_set_watch_functions.  (Bug#5283)
547

548 549
2010-01-01  Chong Yidong  <cyd@stupidchicken.com>

550 551
	* nsterm.m (ns_get_color): Fix buffer overflow (Bug#4763).

552 553 554
	* lread.c (syms_of_lread): Make it clearer that these are the
	names of loaded files (Bug#5068).

555 556 557
	* eval.c (run_hook_with_args): Handle the case where the global
	value has the obsolete single-function form (Bug#5026).

558 559 560 561
2009-12-27  Chong Yidong  <cyd@stupidchicken.com>

	* minibuf.c (Fall_completions): Minor optimization.

562 563
2009-12-26  Eli Zaretskii  <eliz@gnu.org>

Juanma Barranquero's avatar
Juanma Barranquero committed
564 565 566
	* .gdbinit (pgx): Fix display of composite glyphs.
	Display cmp.from and cmp.to as well.
	(pitx): Fix last change.
567

Kenichi Handa's avatar
Kenichi Handa committed
568 569 570 571 572 573 574 575 576 577 578 579 580 581 582
2009-12-25  Kenichi Handa  <handa@m17n.org>

	* composite.h (composition_adjust_point): Update prototype.

	* composite.c (composition_reseat_it): Don't make a composition
	spanning over point.
	(CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as
	composable characters.
	(composition_adjust_point): New arg NEW_PT.  Callers changed.

	* keyboard.c (command_loop_1): Force redisplay if the last point
	was within a composition.
	(adjust_point_for_property): Don't adjust point for automatic
	composition when called after buffer modification.

583 584
2009-12-19  Eli Zaretskii  <eliz@gnu.org>

Juanma Barranquero's avatar
Juanma Barranquero committed
585 586
	* .gdbinit (pitx): Don't use enum names, use their values.
	Remove reference to non-existing value GET_FROM_COMPOSITION.
587 588 589 590 591
	(pgx): Don't use enum names, use their values.
	(pitmethod): New helper command.
	(pitx): Use it to display iteration method.
	(pgrowit): New command.

592 593
	* makefile.w32-in ($(BLD)/cmds.$(O)): Depend on frame.h.

594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645
	Update dependencies in Makefile.in.

	* Makefile.in (alloc.o): Depend on termhooks.h.
	(atimer.o): Depend on blockinput.h.
	(buffer.o): Depend on indent.h, keyboard.h, coding.h, keymap.h,
	and frame.h.
	(callint.o): Depend on systime.h, coding.h, and composite.h.
	(callproc.o): Depend on buffer.h.
	(casefiddle.o): Don't depend on charset.h.
	(casetab.o): Depend on character.h.
	(ccl.o): Depend on composite.h.
	(chartab.o): Depend on ccl.h.
	(cm.o): Depend on dispextern.h.
	(cmds.o): Depend on systime.h, coding.h, frame.h, and composite.h.
	(coding.o): Don't depend on $(INTERVALS_H).
	(composite.o): Don't depend on dispextern.h explicitly (it's in
	$(INTERVALS_H)).  Depend on ccl.h.
	(data.o): Depend on systime.h, coding.h, composite.h,
	dispextern.h, font.h, and ccl.h.
	(dired.o): Depend on composite.h.
	(dispnew.o): Depend on coding.h.  Don't depend explicitly on
	composite.h (it's in $(INTERVALS_H)).
	(doc.o): Depend on systime.h, coding.h, and composite.h.
	(editfns.o): Don't depend explicitly on dispextern.h.
	(emacs.o): Depend on frame.h and coding.h.
	(eval.o): Depend on coding.h, composite.h, and xterm.h.
	(fileio.o): Depend on frame.h and commands.h.  Don't depend
	explicitly on dispextern.h.
	(filelock.o): Don't depend on epaths.h and charset.h.  Depend on
	composite.h.
	(fns.o): Don't depend on termhooks.h.
	(font.o): Depend on buffer.h, composite.h, fontset.h, and xterm.h.
	(fontset.o): Depend on blockinput.h, atimer.h, systime.h,
	coding.h, $(INTERVALS_H), window.h, xterm.h.
	(frame.o): Depend on coding.h, composite.h, termhooks.h, and ccl.h.
	(fringe.o): Depend on blockinput.h, atimer.h, and systime.h.
	(ftfont.o): Depend on blockinput.h, atimer.h, systime.h, coding.h,
	fontset.h, ccl.h, and ftfont.h.
	(ftxfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
	(gtkutil.o): Depend on dispextern.h and composite.h.
	(image.o): Depend on epaths.h, character.h, coding.h, composite.h,
	termhooks.h, and ccl.h.
	(indent.o): Depend on systime.h, coding.h, and $(INTERVALS_H).
	(intervals.o): Depend on systime.h and coding.h.
	(keyboard.o): Depend on composite.h and coding.h.
	(keymap.o): Depend on coding.h and frame.h.
	(lread.o): Depend on systime.h, frame.h, blockinput.h, and atimer.h.
	(macros.o): Depend on systime.h, coding.h, and composite.h.
	(menu.o): Depend on systime.h, coding.h, composite.h, window.h,
	and atimer.h.
	(minibuf.o): Depend on systime.h and coding.h.  Don't depend on
	dispextern.h explicitly.
646 647
	(print.o): Depend on termhooks.h, coding.h, and ccl.h.
	Don't depend explicitly on dispextern.h and composite.h.
648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675
	(process.o): Depend on character.h, xgselect.h, and sysselect.h.
	(regex.o): Don't depend on charset.h.
	(scroll.o): Depend on systime.h, coding.h, composite.h, and window.h.
	(search.o): Don't depend explicitly on composite.h.
	(sound.o): Depend on atimer.h and systime.h.
	(syntax.o): Don't depend explicitly on composite.h.
	(sysdep.o): Depend on coding.h and composite.h.
	(term.o): Depend on xterm.h and buffer.h.
	(terminal.o): Depend on dispextern.h, composite.h, and systime.h.
	(textprop.o): Don't depend on dispextern.h explicitly.
	(undo.o): Depend on dispextern.h.
	(window.o): Depend on coding.h and termhooks.h.  Don't depend on
	dispextern.h and composite.h explicitly.
	(xdisp.o): Depend on ccl.h.
	(xfaces.o): Depend on coding.h and ccl.h.
	(xfns.o): Depend on $(INTERVALS_H) and ccl.h.
	(xfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
	(xftfont.o): Depend on atimer.h, systime.h, fontset.h, ccl.h, and
	ftfont.h.
	(xgselect.o): New dependency.
	(xmenu.o): Depend on composite.h, keymap.h, and sysselect.h.
	(xselect.o): Depend on keyboard.h, coding.h, and composite.h.
	(xsettings.o): Depend on dispextern.h, keyboard.h, systime.h,
	coding.h, composite.h, blockinput.h, atimer.h, and termopts.h.
	(xsmfns.o): Depend on frame.h and dispextern.h.
	(xterm.o): Depend on intervals.h, keymap.h, xgselect.h, and
	sysselect.h.

676 677 678 679 680
2009-12-19  Andreas Schwab  <schwab@linux-m68k.org>

	* font.c (Fclear_font_cache): Pass correct cache argument to
	font_clear_cache.

681 682 683 684 685
2009-12-16  Andreas Schwab  <schwab@linux-m68k.org>

	* Makefile.in (prefix-args${EXEEXT}): Don't compile prefix-args.c
	twice.

686 687 688 689 690
2009-12-15  Chong Yidong  <cyd@stupidchicken.com>

	* xdisp.c (decode_mode_spec): Inhibit garbage collection when
	calling file-remote-p.  Reported by Jim Meyering.

691 692 693
2009-12-15  Michael Albinus  <michael.albinus@gmx.de>

	* dbusbind.c (xd_retrieve_arg): Reorder declarations in order to
694
	avoid compiler warnings.  (Bug #5217)
695

696 697 698 699 700
2009-12-14  Kenichi Handa  <handa@m17n.org>

	* coding.c (decode_coding_iso_2022): Ignore ISO_CODE_SS2_7 (0x19)
	in 8-bit encoding.

Juanma Barranquero's avatar
Juanma Barranquero committed
701
2009-12-13  Pat Thoyts  <patthoyts@users.sourceforge.net>  (tiny change)
702 703 704 705

	* xfns.c (x_create_tip_frame): Set the extended window manager hint for
	tooltip windows.

706 707
2009-12-13  Jan Djärv  <jan.h.d@swipnet.se>

708 709 710 711 712 713
	* xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and
	Xatom_net_window_type.

	* xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and
	Xatom_net_window_type.

714 715
	* xterm.c (my_log_handler): New function.
	(x_term_init): Set my_log_handler as log handler during gtk_init
Juanma Barranquero's avatar
Juanma Barranquero committed
716
	so we can filter out buggy messages.  (Bug #5120).
717

718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735
	* xterm.c (xg_scroll_callback): Parameter list changed,
	use parameter GtkScrollType to determine scroll/line/page.
	Only allow dragging if a button < 4 is grabbed (bug #5177).
	(xg_end_scroll_callback): New function.
	(x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to
	xg_create_scroll_bar.

	* gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling.
	(scroll_end_callback): Remove.
	(xg_create_scroll_bar): Add parameter end_callback, bind it to
	button-release-event.  Replace value-changed event with change-value,
	bug #5177,
	(xg_event_is_for_scrollbar): Only return true if button is less than 4,
	bug #5177.

	* gtkutil.h (XG_LAST_SB_DATA): Remove.
	(xg_create_scroll_bar): Add GCallback end_callback.

736 737 738 739
	* xftfont.c (QClcdfilter): New variable.
	(xftfont_open): Parse constant names for RGBA, HINT_STYLE and LCDFILTER.
	(syms_of_xftfont): Initialize QClcdfilter.

740 741 742 743
2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>

	* xsettings.c (struct xsettings): Add member seen.
	(parse_xft_settings): Update member seen with what we have read.
Jan Djärv's avatar
Jan Djärv committed
744
	Return non-zero if Xft-settings have been parsed, 0 otherwise.
745 746 747
	(apply_xft_settings): Only update Xft settings with what member seen
	indicates as new.

748 749 750 751 752 753 754 755 756 757
2009-12-12  Eli Zaretskii  <eliz@gnu.org>

	* dispextern.h (struct text_pos): Use EMACS_INT;
	(struct glyph): Use EMACS_INT for charpos.
	(struct it): Use EMACS_INT for stop_charpos, end_charpos,
	region_beg_charpos, region_end_charpos,
	redisplay_end_trigger_charpos, and also for
	iterator_stack_entry.end_charpos and
	iterator_stack_entry.stop_charpos.

758 759
2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>

Juanma Barranquero's avatar
Juanma Barranquero committed
760
	* gtkutil.c (scroll_end_callback): New function (bug #5177).
761 762 763 764
	(xg_create_scroll_bar): Call scroll_end_callback on button release
	event (bug #5177).
	(xg_event_is_for_scrollbar): != replaced with ==.

765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780
2009-12-12  Kenichi Handa  <handa@m17n.org>

	* ftfont.c (struct ftfont_info): New member matrix.
	(ftfont_open): Setup xftfont_info->matrix.
	(MFLTFontFT): New member matrix.
	(FLOOR, CEIL, ROUND): New macros.
	(ftfont_get_metrics): Handle matrix transformation.
	(ftfont_shape_by_flt): New arg matrix.  Callers changed.

	* xftfont.c (struct xftfont_info): New member matrix.
	(xftfont_open): Setup xftfont_info->matrix.

2009-12-10  Kenichi Handa  <handa@m17n.org>

	* xdisp.c (append_space_for_newline): Consider face-remapping.

Andreas Schwab's avatar
Andreas Schwab committed
781 782
2009-12-09  Andreas Schwab  <schwab@linux-m68k.org>

783 784
	* xsettings.c: Include "keyboard.h".

785 786
	* gtkutil.c (xg_tool_bar_proxy_help_callback): Fix missing return.

Andreas Schwab's avatar
Andreas Schwab committed
787 788 789 790 791 792
	Fix implicit function declarations.
	* cmds.c: Include "frame.h".
	* frame.c: Include "font.h" also if !HAVE_WINDOW_SYSTEM.
	* frame.h: Move declaration of delete_frame outside of
	HAVE_WINDOW_SYSTEM.

793 794 795 796 797 798 799
2009-12-09  Ken Brown  <kbrown@cornell.edu>  (tiny change)

	* s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable.

	* emacs.c (main): Set the G_SLICE environment variable for Cygwin
	GTK builds.

800 801 802 803
2009-12-07  Andreas Schwab  <schwab@linux-m68k.org>

	* unexelf.c (unexec): Don't search for .data twice.

804 805
2009-12-05  Chong Yidong  <cyd@stupidchicken.com>

806 807 808 809 810
	* xdisp.c (push_display_prop): Don't set avoid_cursor_p.  Return 0
	if push failed.
	(handle_line_prefix): Set avoid_cursor_p here.  Check return value
	of push_display_prop (Bug#5000).

811 812 813
	* xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
	value of font_list_entities (Bug#5085).

814 815 816 817 818 819 820 821 822 823
2009-12-04  Juanma Barranquero  <lekktu@gmail.com>

	Fix `string-to-number' to deal consistently with integers and floats.
	* lread.c (isfloat_string): New argument ignore_trailing to accept all
	trailing characters, not just whitespace.
	(read1): Pass new arg 0 to keep old behavior.
	* data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore
	trailing chars, as it is already done for integers.  Doc fixes.
	* lisp.h (isfloat_string): Add new arg to declaration of isfloat_string.

824 825
2009-12-04  Eli Zaretskii  <eliz@gnu.org>

826 827
	* dispextern.h (enum prop_idx) <AUTO_COMPOSED_PROP_IDX>:
	Delete unused enumeration value.
828

829 830 831 832
2009-12-03  Eli Zaretskii  <eliz@gnu.org>

	* Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc.

833 834 835 836 837
2009-12-03  Daniel Hackney  <dan@haxney.org>  (tiny change)

	* process.c (Fmake_network_process): Fix up the tests for
	"connectionless socket", so they DTRT for seqpacket sockets as well.

Stefan Monnier's avatar
Stefan Monnier committed
838 839 840 841 842 843 844 845
2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>

	* process.c (Qseqpacket): New symbol.
	(HAVE_SEQPACKET): New macro.
	(Fmake_network_process): Accept new :type `seqpacket'.
	(init_process): Add `seqpacket' feature when applicable.
	(syms_of_process): Initialize Qseqpacket.

846 847 848 849 850
2009-12-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* font.c (font_load_for_lface, font_open_by_name): Don't store name
	if entity is Qnil.

851 852 853 854 855
2009-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>

	* print.c (print_preprocess): Preprocess the key_and_value table of
	hashtables, even tho they're "hidden" (bug#5082).

856 857 858 859 860
2009-11-29  Jan Djärv  <jan.h.d@swipnet.se>

	* frame.c (frame_make_pointer_invisible)
	(frame_make_pointer_visible): Declare f before statements.

861 862 863 864 865
2009-11-28  Eli Zaretskii  <eliz@gnu.org>

	* Makefile.in [!AUTO_DEPEND]: Remove outdated comment about
	omitted dependencies on lisp.h.

866 867
2009-11-27  Jan Djärv  <jan.h.d@swipnet.se>

868 869 870 871 872 873
	* xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
	is NULL.

	* xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.

	* frame.c (frame_make_pointer_invisible)
874
	(frame_make_pointer_visible): Just return if there isn't any selected
875 876
	frame.

877 878
	* search.c (simple_search): Remove warning by making *p const.

879 880 881 882
2009-11-26  Dan Nicolaescu  <dann@ics.uci.edu>

	* xdisp.c (power_letter): Remove duplicate const.

883 884
2009-11-25  Jan Djärv  <jan.h.d@swipnet.se>

885 886
	* term.c (delete_tty): Remove check for last terminal (bug#4970).

Juanma Barranquero's avatar
Juanma Barranquero committed
887
	* xsettings.c: Revert changes from 2009-11-23.  Just use Xft
888 889
	defaults (bug #5025).

890 891 892 893 894
2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>

	* insdel.c (adjust_markers_for_delete): Move it in the
	right direction!  (bug#4803)

895 896 897 898 899 900
2009-11-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>

	* font.c (font_open_entity): Don't use ASET if font_object is Qnil.

	* xterm.c (x_new_font): Update f->scroll_bar_actual_width.

901 902 903 904
2009-11-24  Glenn Morris  <rgm@gnu.org>

	* frame.c (focus-follows-mouse): Mention mouse-autoselect-window.

905 906
2009-11-23  Jan Djärv  <jan.h.d@swipnet.se>

907 908
	* Makefile.in: Must create deps for ecrt0.o in its rule.

909 910 911 912 913 914 915 916 917 918 919 920 921 922
	* xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
	because that is what Gtk+ font dialog understands.

	* font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
	of Fcopy_sequence.
	(font_open_by_name): Put name given into QCname for font-object returned.

	* frame.c (x_set_font): Save original font name as frame parameter
	font-parameter.

	* xsettings.c (set_default_xft_settings): New function.
	(init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
	is found.

923 924 925 926 927
2009-11-22  Andreas Schwab  <schwab@linux-m68k.org>

	* search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when
	searching backwards through multibyte buffer.

928 929 930 931 932 933 934 935 936 937 938 939
2009-11-21  Jan Djärv  <jan.h.d@swipnet.se>

	* xterm.c: #include xgselect.h.
	(x_initialize): Call xgselect_initialize.

	* xsettings.c (something_changedCB): C++ comments => C comments.
	(init_gconf): Do not deal with any GLib file descriptors, xg_select
	does that now.

	* gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
	(xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
	(scroll_bar_button_cb): Remove.
Juanma Barranquero's avatar
Juanma Barranquero committed
940
	(create_menus): C++ comments => C comments.  Don't bind grab-notify
941 942 943 944 945 946 947 948 949 950 951 952 953 954 955
	event.
	(xg_create_scroll_bar): Don't bind button-press-event and
	button-release-event.

	* process.c: Include xgselect.h if defined (USE_GTK) ||
	defined (HAVE_GCONF).
	(wait_reading_process_output): Call xg_select for the same condition.

	* xgselect.c (xg_select): New function to better integrate with
	GLib/Gtk event handling.  Needed if GConf daemon dies/restarts.

	* xgselect.h: New file, declare xg_select, xgselect_initialize.

	* Makefile.in (XOBJ): Add xgselect.o.

956 957
2009-11-21  Andreas Schwab  <schwab@linux-m68k.org>

958 959
	* character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH):
	Remove ignored second argument.  All callers changed.
960 961 962 963
	* regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR)
	(RE_STRING_CHAR_AND_LENGTH): Likewise.
	* xdisp.c (string_char_and_length): Likewise.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
964 965 966 967 968 969
2009-11-21  Dan Nicolaescu  <dann@ics.uci.edu>

	* xterm.c (x_new_font):
	* print.c (print_object):
	* cmds.c (Fself_insert_command): Move declarations before statements.

970 971 972 973
2009-11-20  Ken Brown  <kbrown@cornell.edu>  (tiny change)

	* s/cygwin.h: Remove unneeded linker flags.

974 975
2009-11-20  Jan Djärv  <jan.h.d@swipnet.se>

976 977 978 979 980 981 982 983 984
	* xfns.c (x_default_font_parameter): Call xsettings_get_system_font.

	* xsettings.h: Declare xsettings_get_system_font.

	* xsettings.c (xsettings_get_system_font): New function.
	(init_gconf): No use initiating gconf unless we have Xft also.
	(syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and
	HAVE_GCONF.

985 986 987
	* gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty
	add a blank entry so it doesn't collapse into nothing.

988 989 990 991
2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* lread.c (Funintern): Comment out last change.

992 993 994 995
2009-11-19  Richard Stallman  <rms@gnu.org>

	* lread.c (Funintern): Error if symbol is t or nil.

996 997 998 999 1000 1001
2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>

	* insdel.c (make_gap_larger): Don't make as many assumptions about the
	representation of Lisp integers.
	Reported by MJ Chan <mjchan.inbox@gmail.com>.

1002 1003 1004 1005 1006 1007
2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>

	* lisp.h: Remove declaration of Ffont_get_system_font.
	* xfns.c: Move include of "xsettings.h".
	* xsettings.h: Use EXFUN to declare Ffont_get_system_font.

1008 1009
2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>

1010 1011
	* xsettings.c (something_changedCB, Ffont_get_system_font):
	Check use_system_font.
1012 1013
	(syms_of_xsettings): DEFVAR font-use-system-font.

1014 1015
2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>

1016 1017
	* xfns.c (x_default_font_parameter): Remove dead assignment.

1018 1019
	* lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare.

1020 1021
2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>

1022
	* xftfont.c (xftfont_fix_match): Older versions of fontconfig do
1023
	not have FC_LCD_*.  #define them if not there.
Jan Djärv's avatar
Jan Djärv committed
1024

1025
	* xsettings.c (parse_xft_settings, apply_xft_settings): Ditto.
Jan Djärv's avatar
Jan Djärv committed
1026

1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039
	* xterm.h (struct x_display_info): Add atoms and Window for xsettings.

	* xterm.c (handle_one_xevent): Call xft_settings_event for
	ClientMessage, PropertyNotify and DestroyNotify.
	(x_term_init): If we have XFT, get DPI from Xft.dpi.
	Call xsettings_initialize.

	* xftfont.c (xftfont_fix_match): New function.
	(xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
	Call xftfont_fix_match after XftFontMatch.

	* xfont.c (xfont_driver): Initialize all members.

1040 1041
	* xfns.c (x_default_font_parameter):
	Try font from Ffont_get_system_font.
1042 1043
	Do not get font from x_default_parameter if we got one from
	Ffont_get_system_font.
1044
	(Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f).
1045 1046 1047 1048 1049 1050 1051

	* w32font.c (w32font_driver): Initialize all members.

	* termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.

	* lisp.h: Declare syms_of_xsettings.

1052 1053
	* keyboard.c (kbd_buffer_get_event, make_lispy_event):
	Handle CONFIG_CHANGED_EVENT.
1054 1055 1056 1057 1058

	* ftfont.c (ftfont_filter_properties): New function.

	* frame.c (x_set_font): Remove unused variable lval.

1059
	* font.h (struct font_driver): Add filter_properties.
1060 1061 1062 1063 1064 1065

	* font.c (font_put_extra): Don't return if val is nil, it means
	boolean option is off.
	(font_parse_fcname): Collect all extra properties in extra_props
	and call filter_properties for all drivers with extra_props and
	font as parameter.
1066 1067
	(font_open_entity): Do not use cache, it does not pick up new
	fontconfig settings like hinting.
1068 1069 1070 1071 1072 1073 1074 1075 1076
	(font_load_for_lface): If spec had a name in it, store it in entity.

	* emacs.c (main): Call syms_of_xsettings

	* config.in: HAVE_GCONF is new.

	* Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
	xsettings.o is new.

1077 1078 1079 1080 1081
2009-11-17  Kenichi Handa  <handa@m17n.org>

	* xdisp.c (x_produce_glyphs): Consider face-remapping when falling
	back to the default font in case that no suitable font is found.

1082 1083 1084 1085 1086 1087
2009-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>

	* menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge.
	Suggested by Chad Brown <yandros@mit.edu>.
	(push_menu_item): Use MENU_ITEMS_ITEM_* names.

1088 1089 1090 1091
2009-11-16  Jan Djärv  <jan.h.d@swipnet.se>

	* xmenu.c (x_menu_wait_for_event): Call XFlush before select.

1092 1093
2009-11-14  Andreas Schwab  <schwab@linux-m68k.org>

1094
	* Makefile.in: Ignore errors from mkdir when creating deps directory.
1095

1096 1097
2009-11-14  Jan Djärv  <jan.h.d@swipnet.se>

1098 1099 1100
	* gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already
	has a parent.

1101
	* Makefile.in: If AUTO_DEPEND is defined, make gcc generate
Juanma Barranquero's avatar
Juanma Barranquero committed
1102
	dependency files in deps/.  Include those files into Makefile.
1103 1104 1105

	* config.in: Generated (AUTO_DEPEND).

1106 1107
2009-11-13  Michael Albinus  <michael.albinus@gmx.de>

1108
	* dbusbind.c (Vdbus_registered_objects_table): Rename from
1109 1110
	Vdbus_registered_functions_table, because it contains also
	properties.  Fix docstring.
1111
	(Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring.
1112

1113 1114 1115 1116 1117 1118
2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>

	* alloc.c (mark_object): Don't reprocess marked strings.
	Check vector's markbit earlier.  Adjust calls to mark_vectorlike.
	(mark_vectorlike, mark_char_table): Assume the object is unmarked.

1119 1120
2009-11-13  Kenichi Handa  <handa@m17n.org>

1121
	* category.c (word_boundary_p): Adjust for the change of the
1122 1123 1124 1125
	semantics of Vword_combining_categories.
	(Vword_combining_categories): Describe the slight change of the
	semantics.

1126 1127 1128 1129 1130 1131
2009-11-13  Eli Zaretskii  <eliz@gnu.org>

	* menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM.

	* s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change.

1132 1133 1134 1135
2009-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>

	* xdisp.c (syms_of_xdisp): Fix typo in last change.

1136 1137 1138 1139
2009-11-12  Juanma Barranquero  <lekktu@gmail.com>

	* makefile.w32-in: Update dependencies; add dependencies to lisp.h.

1140 1141 1142 1143 1144
2009-11-11  David Reitter  <david.reitter@gmail.com>

	* menu.c (Fx_popup_menu): Remove left-over debugging code and rename
	variables to fix 2009-11-09 change.

1145 1146
2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>

1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163
	* process.c (ifflag_def): Make flag_sym constant.
	(Fnetwork_interface_info): Use a constant pointer.
	(ifflag_table):
	* xfns.c (cursor_bits):
	* xdisp.c (power_letter):
	* termcap.c (speeds, esctab):
	* sysdep.c (baud_convert):
	* keyboard.c (lispy_accent_codes, modifier_names):
	* image.c (xbm_format, xpm_format, pbm_format, png_format)
	(jpeg_format, tiff_format, gif_format, svg_format)
	(interlace_start, interlace_increment, gs_format):
	* gtkutil.c (separator_names):
	* fringe.c (swap_nibble):
	* fns.c (base64_value_to_char, base64_char_to_value):
	* fileio.c (make_temp_name_tbl):
	* coding.c (suffixes): Make constant.

1164 1165 1166 1167 1168
	* frame.c (make_initial_frame):
	* buffer.c (init_buffer_once): Use make_pure_c_string instead of
	build_string.
	* alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1169 1170 1171
	* s/freebsd.h:
	* s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o.

1172 1173 1174
	* Makefile.in: Add dependencies to lisp.h.  Remove dependencies
	for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c.

1175 1176 1177 1178 1179 1180 1181
	* xfns.c (syms_of_xfns): Use make_pure_string instead of build_string.
	* xterm.c (syms_of_xterm):
	* xfaces.c (syms_of_xfaces):
	* xdisp.c (syms_of_xdisp):
	* lread.c (syms_of_lread):
	* keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of
	build_string.
1182

1183 1184
	* doc.c (Fsnarf_documentation): Purecopy Vbuild_files.

1185 1186
2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>

1187
	* fns.c (Fplist_get): Merge the active and the commented out code.
1188

1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202
2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>

	* keyboard.h: Declare timer_check.

	* keyboard.c (timer_check_2): New function that does what the old
	timer_check did.
	(timer_check): Call timer_check_2 until -1 or a non-zero time is
	returned, i.e. don't return -1 with timers pending.

	* process.c: Remove extern declaration of timer_check.

	* xmenu.c (x_menu_wait_for_event): Remove code that did a timeout
	even if timer_check returned -1.

1203 1204
	* gtkutil.c (xg_dialog_response_cb): Data is now a struct
	xg_dialog_data.
1205 1206 1207 1208 1209 1210
	(pop_down_dialog): Destroy widget (if any), cancel timer and unref
	the event loop.
	(xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574).
	(xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574).
	Destroy the dialog after xg_dialog_run.

1211 1212 1213 1214
2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>

	* menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars.

1215 1216 1217 1218
2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>

	* xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes.

1219 1220 1221 1222
2009-11-09  Juanma Barranquero  <lekktu@gmail.com>

	* menu.c [HAVE_NTGUI]: Declare current_popup_menu.

1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251
2009-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>

	* menu.c (Fx_popup_menu): Consolidate versions from xmenu.c,
	w32menu.c, and nsmenu.m.
	Simplify the obsolete case where position is nil.
	(cleanup_popup_menu): New function, moved from nsmenu.m.
	(struct skp): Remove slot `notreal'.
	(single_keymap_panes, keymap_panes): Remove arg `notreal' and
	adjust callers.
	(single_menu_item): Adjust call to parse_menu_item.
	(syms_of_menu): Defsubr x-popup-menu.
	* menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c.
	(keymap_panes): Don't export any more.
	(mouse_position_for_popup, w32_menu_show, ns_menu_show)
	(xmenu_show): Declare.
	* keyboard.c (parse_menu_item): Remove arg `notreal'.
	(menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers.
	* keyboard.h (parse_menu_item): Update declaration.
	* xmenu.c (Fx_popup_menu): Remove.
	(syms_of_xmenu): Don't defsubr x-popup-menu.
	* w32menu.c (Fx_popup_menu): Remove.
	(syms_of_w32menu): Don't defsubr x-popup-menu.
	* nsmenu.m (cleanup_popup_menu): Remove.
	(ns_menu_show): Rename from ns_popup_menu and remove all the code
	moved to menu.c's Fx_popup_menu.
	(Fx_popup_menu): Remove.
	(syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize
	menu_items (it's done in menu.c already).

1252 1253 1254 1255 1256
2009-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>

	* keyboard.c (parse_menu_item): Handle `notreal' a bit earlier.
	Use `tem' less.  Make sure KEYEQ holds a string or nil (bug#4879).

1257
2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
1258 1259

	* xmenu.c (Fx_popup_menu): Extract event timestamp.  Pass it to
1260
	xmenu_show.  Hide any tooltip before opening a menu.
1261 1262 1263
	(xmenu_show): New arg.  Pass it to create_and_show_popup_menu.
	(create_and_show_popup_menu): New arg.  Pass it to gtk_menu_popup.

1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290
2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	Let integers use up 2 tags to give them one extra bit and thus double
	their range.
	* lisp.h (USE_2_TAGS_FOR_INTS): New macro.
	(LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P):
	New macros.
	(enum Lisp_Type): Use them.  Give explicit values.
	(Lisp_Type_Limit): Remove.
	(XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]:
	(MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
	Pay attention to USE_2_TAGS_FOR_INTS.
	(INTEGERP): Use LISP_INT_TAG_P.
	* fns.c (internal_equal): Simplify the default case.
	(sxhash): Use case_Lisp_Int.
	* data.c (wrong_type_argument): Don't check against Lisp_Type_Limit
	any more.
	(Ftype_of): Use case_Lisp_Int.
	(store_symval_forwarding): Take into account the fact that Ints can
	now have more than one tag.
	* buffer.c (syms_of_buffer): Use LISP_INT_TAG.
	buffer_slot_type_mismatch):
	* xfaces.c (face_attr_equal_p):
	* print.c (print_object):
	* alloc.c (mark_maybe_object, mark_object, survives_gc_p):
	Use case_Lisp_Int.

1291 1292
2009-11-06  Eli Zaretskii  <eliz@gnu.org>

1293 1294
	* s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K.

1295 1296 1297
	* alloc.c (make_pure_c_string): Fix last change to avoid compiler
	warning.

Jan Djärv's avatar
Jan Djärv committed
1298 1299 1300 1301 1302 1303 1304 1305 1306
2009-11-06  Jan Djärv  <jan.h.d@swipnet.se>

	* gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870).

	* gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870).

	* xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for
	ButtonPressRelease and MotionNotify (bug#4870).

1307 1308
2009-11-06  Dan Nicolaescu  <dann@ics.uci.edu>

1309 1310
	* keymap.c (syms_of_keymap): Construct exclude_keys in pure memory.

Dan Nicolaescu's avatar
Dan Nicolaescu committed
1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364
	* xterm.c (syms_of_xterm):
	* xselect.c (syms_of_xselect):
	* xmenu.c (syms_of_xmenu):
	* xfns.c (syms_of_xfns):
	* xfaces.c (syms_of_xfaces):
	* xdisp.c (syms_of_xdisp):
	* window.c (syms_of_window):
	* w32fns.c (syms_of_w32fns):
	* undo.c (syms_of_undo):
	* textprop.c (syms_of_textprop):
	* terminal.c (syms_of_terminal):
	* syntax.c (syms_of_syntax):
	* sound.c (syms_of_sound):
	* search.c (syms_of_search):
	* print.c (syms_of_print):
	* minibuf.c (syms_of_minibuf):
	* macros.c (syms_of_macros):
	* keymap.c (syms_of_keymap, initial_define_key)
	(initial_define_lispy_key):
	* keyboard.c (syms_of_keyboard):
	* insdel.c (syms_of_insdel):
	* image.c (syms_of_image):
	* fringe.c (syms_of_fringe):
	* frame.c (syms_of_frame):
	* fontset.c (syms_of_fontset):
	* fns.c (syms_of_fns):
	* fns.c (syms_of_fns):
	* fileio.c (syms_of_fileio):
	* fileio.c (syms_of_fileio):
	* eval.c (syms_of_eval):
	* doc.c (syms_of_doc):
	* dispnew.c (syms_of_display):
	* dired.c (syms_of_dired):
	* dbusbind.c (syms_of_dbusbind):
	* data.c (syms_of_data):
	* composite.c (syms_of_composite):
	* coding.c (syms_of_coding):
	* cmds.c (syms_of_cmds):
	* charset.c (define_charset_internal, syms_of_character):
	* ccl.c (syms_of_ccl):
	* category.c (syms_of_category, init_category_once):
	* casetab.c (syms_of_casetab):
	* casefiddle.c (syms_of_casefiddle):
	* callint.c (syms_of_callint):
	* bytecode.c (syms_of_bytecode):
	* buffer.c (keys_of_buffer, syms_of_buffer):
	* alloc.c (syms_of_alloc):
	* process.c (syms_of_process, init_process):
	* lread.c (syms_of_lread, init_obarray):
	* font.c (build_style_table):
	* emacs.c (syms_of_emacs, main): Replace calls to intern with
	intern_c_string, calls to make_pure_string with
	make_pure_c_string.  Use pure_cons instead of Fcons.

1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385
	* process.c (socket_options): Make it const.
	(set_socket_option, init_process): Use a const pointer.

	* lread.c (intern_c_string): New function.
	(defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
	(defvar_int): Uset it.  Make the name const char*.

	* lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
	(defvar_int): Update prototypes.
	(DEFUN, EXFUN): Support for prototypes is now required.
	(intern_c_string): New prototype.
	(struct Lisp_Subr): Make symbol_name constant.

	* font.c (struct table_entry): Remove unused member.  Make NAMES
	constant.
	(weight_table, slant_table, width_table): Make constant.

	* emacs.c (struct standard_args): Make name and longname constant.

	* character.h (DEFSYM): Use intern_c_string.

1386 1387 1388 1389 1390 1391
2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>

	* alloc.c (make_pure_c_string): New function.

	* eval.c (Fautoload): Purecopy all arguments.

1392 1393 1394 1395 1396
2009-11-05  Kenichi Handa  <handa@m17n.org>

	* fileio.c (Finsert_file_contents): Be sure set coding-system of
	the buffer in case of replace.

1397 1398 1399 1400
2009-11-04  Dan Nicolaescu  <dann@ics.uci.edu>

	* puresize.h (BASE_PURESIZE): Increase to 1620000.

1401 1402
2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>

1403 1404 1405
	* editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers
	when applicable (bug#4851).

1406 1407 1408
	* lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE.
	(P_): Support for prototypes is now required.

1409 1410 1411 1412 1413
2009-10-31  Chong Yidong  <cyd@stupidchicken.com>

	* frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix
	(Bug#4827).

1414 1415
2009-10-30  Eli Zaretskii  <eliz@gnu.org>

1416
	* s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space.
1417

1418 1419 1420 1421
2009-10-30  Dan Nicolaescu  <dann@ics.uci.edu>

	* puresize.h (BASE_PURESIZE): Increase to 1470000.

1422 1423
	* lread.c (Fload): Purecopy the file name when building
	Vpreloaded_file_list.
1424

1425 1426 1427 1428 1429
2009-10-29  Jason Rumney  <jasonr@wanchan.jasonrumney.net>

	* w32fns.c (syms_of_w32fns): Change default value of
	w32-scroll-lock-modifier to nil.  (Bug#2827)

Juanma Barranquero's avatar
Juanma Barranquero committed
1430 1431
2009-10-26  Juanma Barranquero  <lekktu@gmail.com>

1432
	* minibuf.c (Fall_completions): Fix typos in docstring.
Juanma Barranquero's avatar
Juanma Barranquero committed
1433

1434 1435 1436 1437
2009-10-26  Andreas Schwab  <schwab@redhat.com>

	* puresize.h (PURESIZE_RATIO): Increase back to 10/6.

1438 1439 1440 1441 1442 1443
2009-10-26  Juanma Barranquero  <lekktu@gmail.com>

	* window.c (grow_mini_window): Comment out "delta >= 0" assertion.
	For delta < 0, skip check that only makes sense when the mini-window
	is going to be enlarged.  (Bug#4534)

1444 1445 1446 1447 1448
2009-10-25  Chong Yidong  <cyd@stupidchicken.com>

	* keyboard.c (read_char_x_menu_prompt): Don't demand a prompt
	string in menu maps (Bug#4471).

1449 1450 1451 1452 1453
2009-10-24  Chong Yidong  <cyd@stupidchicken.com>

	* nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call
	FRAME_NS_VIEW on terminal frames (Bug#4765).

1454 1455
2009-10-24  Andreas Schwab  <schwab@linux-m68k.org>

1456 1457 1458
	* dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and
	DBUS_TYPE_UINTnn separately to get proper sign extension.

1459 1460
	* dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P
	can properly handle unsigned types.
1461
	(make_uid, make_gid): Remove.
1462

1463 1464 1465
	* lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
	types again.

1466
	* sysdep.c (procfs_ttyname): Fix sprintf format to match argument type.
1467 1468
	(system_process_attributes): Likewise.

1469 1470 1471 1472 1473 1474 1475 1476
2009-10-24  Dan Nicolaescu  <dann@ics.uci.edu>

	* keymap.c (Fmake_sparse_keymap): Purecopy the name.

	* eval.c (Fautoload): Purecopy the filename.  Simplify.

	* category.c (Fdefine_category): Purecopy docstring.

1477 1478
2009-10-23  Andreas Schwab  <schwab@linux-m68k.org>

1479 1480
	* lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.

1481 1482
	* puresize.h (PURESIZE_RATIO): Decrease to 11/7.

1483 1484 1485 1486 1487 1488
2009-10-23  Chong Yidong  <cyd@stupidchicken.com>

	* window.c (Fwindow_edges, Fwindow_pixel_edges)
	(Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix
	(Bug#4775).

1489 1490 1491 1492 1493 1494 1495
2009-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>

	* fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char.
	(init_fileio_once):
	* lisp.h (init_fileio_once): Remove.
	* emacs.c (main): Don't call init_fileio_once.

1496 1497 1498 1499
2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>

	* puresize.h (BASE_PURESIZE): Increase to 1430000.

Andreas Schwab's avatar
Andreas Schwab committed
1500 1501 1502 1503
2009-10-21  Andreas Schwab  <schwab@linux-m68k.org>

	* doprnt.c (doprnt): Fix overflow check.

1504 1505
2009-10-21  Jan Djärv  <jan.h.d@swipnet.se>

1506 1507
	* xterm.c (x_term_init): Remove XSynchronize call done for debugging.