aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorKenichi Handa2012-08-16 21:25:17 +0900
committerKenichi Handa2012-08-16 21:25:17 +0900
commitd75ffb4ed0b2e72a9361a07d16a5c884a9459728 (patch)
tree8ac5a6a8ae033fef7fbc7fb7b09a703ef4b0ed5b /src/ChangeLog
parent69c41c4070c86baac11a627e9c3d366420aeb7cc (diff)
parent250c8ab9b8f6322959fa3122db83944c30c3894b (diff)
downloademacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.tar.gz
emacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.zip
merge trunk
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog1760
1 files changed, 1746 insertions, 14 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6c994369610..95140401eb2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,1735 @@
12012-08-16 Martin Rudalics <rudalics@gmx.at>
2
3 Consistently check windows for validity/liveness
4 (Bug#11984, Bug#12025, Bug#12026).
5 * lisp.h (CHECK_VALID_WINDOW): New macro.
6 * window.c (decode_window): Rename to decode_live_window.
7 (decode_valid_window, Fwindow_valid_p): New functions.
8 (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p)
9 (Fframe_first_window, Fframe_selected_window, Fwindow_parent)
10 (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling)
11 (Fwindow_prev_sibling, Fwindow_combination_limit)
12 (Fset_window_combination_limit, Fwindow_use_time)
13 (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total)
14 (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column)
15 (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width)
16 (Fwindow_hscroll, Fset_window_hscroll)
17 (Fwindow_redisplay_end_trigger)
18 (Fset_window_redisplay_end_trigger, Fwindow_edges)
19 (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges)
20 (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
21 (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start)
22 (Fwindow_end, Fset_window_point, Fset_window_start)
23 (Fpos_visible_in_window_p, Fwindow_line_height)
24 (Fwindow_dedicated_p, Fset_window_dedicated_p)
25 (Fwindow_prev_buffers, Fset_window_prev_buffers)
26 (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter)
27 (Fset_window_parameter, Fwindow_display_table)
28 (Fset_window_display_table, Fdelete_other_windows_internal)
29 (Fset_window_buffer, Fset_window_new_total)
30 (Fset_window_new_normal, Fdelete_window_internal)
31 (Fwindow_text_height, Fset_window_margins, Fwindow_margins)
32 (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars)
33 (Fwindow_scroll_bars): Check whether argument window is a valid or
34 live window. Update doc-strings.
35 (syms_of_window): New symbol Qwindow_valid_p.
36 * keyboard.c (Fposn_at_x_y): Check whether argument
37 frame_or_window denotes a valid window.
38
392012-08-16 Dmitry Antipov <dmantipov@yandex.ru>
40
41 Fix previous char table change.
42 * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents.
43 * chartab.c (optimize_sub_char_table): Likewise.
44
452012-08-16 Chong Yidong <cyd@gnu.org>
46
47 * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228).
48
49 * xfont.c (xfont_open):
50 * xftfont.c (xftfont_open): Set the font's max_width field.
51
52 * nsfont.m (nsfont_open): Similar to the Xft backend, set
53 min_width to space_width and average_width to the average over
54 printable ASCII characters.
55 (ns_char_width): Code cleanup.
56 (ns_ascii_average_width): New utility function.
57
58 * font.h (struct font): Update comments.
59
602012-08-16 Dmitry Antipov <dmantipov@yandex.ru>
61
62 Simple interface to set Lisp_Object fields of character tables.
63 * lisp.h (CSET): New macro.
64 (char_table_set_extras, char_table_set_contents)
65 (sub_char_table_set_contents): New function.
66 * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c:
67 * syntax.c: Adjust users.
68
692012-08-16 Stefan Monnier <monnier@iro.umontreal.ca>
70
71 * eval.c (eval_sub): Bind lexical-binding.
72 * lread.c (Qlexical_binding): Make non-static.
73
742012-08-15 Jan Djärv <jan.h.d@swipnet.se>
75
76 * nsmenu.m (popupSession): Remove.
77 (pop_down_menu): Remove endModalSession.
78 (timeout_handler:): New method.
79 (runDialogAt:): Get next timeout. Start a NSTimer with that timeout.
80 Call runModalForWindow. Check timer_fired when it returns.
81 If not set, cancel timer and break out of loop.
82 Otherwise loop again, with a new timeout.
83
84 * nsterm.m: Include fcntl.h if present.
85 (fd_entry, t_readfds, inNsSelect): Remove.
86 (select_writefds, select_valid, select_timeout, selfds)
87 (select_mutex, apploopnr): Add.
88 (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr.
89 Otherwise call kbd_buffer_store_event.
90 (ns_send_appdefined): Remove release of fd_entry.
91 (ns_read_socket): Always send appdefined. Remove inNsSelect check.
92 Increment and decrement apploopnr.
93 (ns_select): If no file descriptors, just do a NSTimer.
94 Otherwise copy read/write masks and start select thread (fd_handler).
95 Start main loop and wait for application defined event.
96 Inform select thread to stop selecting after main loop is exited.
97 (ns_term_init): Create selfds pipe and set non-blocking.
98 Initialize select_mutex. Start the select thread (fd_handler).
99 (fd_handler:): Loop forever, wait for info from the main thread
100 to either start or stop selecting. When select returns, send
101 and appdefined event.
102 (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set.
103 If not call kbd_buffer_store_event.
104
105 * nsterm.h (EmacsApp): fd_handler takes id argument.
106 (EmacsDialogPanel): Add timer_fired and timeout_handler.
107
108 * gtkutil.c (xg_mark_data): Use FRAME_X_P.
109
1102012-08-15 Eli Zaretskii <eliz@gnu.org>
111
112 * region-cache.c (move_cache_gap): Update gap_len using the actual
113 growth of the boundaries array. Do not change cache_len.
114 (Bug#12196)
115
1162012-08-15 Dmitry Antipov <dmantipov@yandex.ru>
117
118 Generalize and cleanup font subsystem checks.
119 * font.h (FONT_DEBUG, font_assert): Remove.
120 * font.c, fontset.c, w32font.c, xfont.c, xftfont.c:
121 Change font_assert to eassert. Use eassert where appropriate.
122
1232012-08-15 Dmitry Antipov <dmantipov@yandex.ru>
124
125 * gtkutil.c (xg_get_font): Use pango_units_to_double.
126
1272012-08-15 Chong Yidong <cyd@gnu.org>
128
129 * gtkutil.c (xg_get_font): Rename from xg_get_font_name.
130 When using the new font chooser, use gtk_font_chooser_get_font_desc to
131 extract the font descriptor instead of just the font name.
132 In that case, return a font spec instead of a string.
133 (x_last_font_name): Move to this file from xfns.c.
134
135 * xfns.c (Fx_select_font): The return value can also be a font
136 spec. Move x_last_font_name management to gtkutil.c.
137
138 * xfaces.c: Make font weight and style symbols non-static.
139
1402012-08-15 Stefan Monnier <monnier@iro.umontreal.ca>
141
142 * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only
143 (bug#12117).
144
1452012-08-14 Stefan Monnier <monnier@iro.umontreal.ca>
146
147 * alloc.c (Fgarbage_collect): Use plural form consistently.
148
1492012-08-14 Eli Zaretskii <eliz@gnu.org>
150
151 * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each
152 iteration through the command loop. Fixes a problem whereby mouse
153 movements are ignored until the first mouse click.
154
1552012-08-14 Paul Eggert <eggert@cs.ucla.edu>
156
157 Use bool, not int, for Lisp booleans.
158 This is more natural, and on my platform (GCC 4.7.1 x86-64) it
159 makes Emacs a bit smaller and presumably a bit faster.
160 * lisp.h: Include <stdbool.h>.
161 (struct Lisp_Boolfwd, defvar_bool):
162 * lread.c (defvar_bool): Use bool, not int, for Lisp booleans.
163 * regex.c [!emacs]: Include <stdbool.h>.
164 (false, true): Remove; <stdbool.h> does this for us now.
165
1662012-08-14 Chong Yidong <cyd@gnu.org>
167
168 * character.c (Fcharacterp): Doc fix (Bug#12076).
169
170 * data.c (Findirect_variable): Doc fix (Bug#11040).
171
172 * chartab.c (Fmap_char_table): Doc fix (Bug#12061).
173
174 * editfns.c (Fformat): Doc fix (Bug#12059).
175 (Fsave_current_buffer): Doc fix (Bug#11542).
176
1772012-08-14 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
178
179 * keyboard.c (access_keymap_keyremap): Accept anonymous functions
180 (bug#12022).
181
1822012-08-14 Martin Rudalics <rudalics@gmx.at>
183
184 * frame.c (make_frame_without_minibuffer, make_minibuffer_frame)
185 (delete_frame, Fmake_frame_invisible, Ficonify_frame):
186 * minibuf.c (choose_minibuf_frame, read_minibuf):
187 * w32fns.c (x_create_tip_frame):
188 * xfns.c (x_create_tip_frame): Call set_window_buffer instead of
189 Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026).
190
1912012-08-14 Paul Eggert <eggert@cs.ucla.edu>
192
193 * intervals.c (offset_intervals): Remove obsolete comment.
194
1952012-08-14 Andreas Schwab <schwab@linux-m68k.org>
196
197 * gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP.
198
1992012-08-14 Gergely Risko <gergely@risko.hu>
200
201 * coding.c (decode_coding): Record buffer modification before
202 disabling undo_list (Bug#11773).
203
2042012-08-14 Dmitry Antipov <dmantipov@yandex.ru>
205
206 Revert and cleanup some recent overlay changes.
207 * buffer.h (enum overlay_type): Remove.
208 (buffer_get_overlays, buffer_set_overlays): Likewise.
209 (buffer_set_overlays_before, buffer_set_overlays_after):
210 New function. Adjust users.
211 (unchain_both): Add eassert.
212
2132012-08-14 Dmitry Antipov <dmantipov@yandex.ru>
214
215 * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate.
216
2172012-08-14 Paul Eggert <eggert@cs.ucla.edu>
218
219 * gtkutil.c (xg_mark_data): Don't assume C99.
220
2212012-08-13 Jan Djärv <jan.h.d@swipnet.se>
222
223 * gtkutil.c (xg_frame_tb_info): New struct.
224 (TB_INFO_KEY): New define.
225 (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present.
226 (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info.
227 (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info
228 if not present.
229 (update_frame_tool_bar): Return early if data in xg_frame_tb_info
230 is up to date. Otherwise store new data.
231 (free_frame_tool_bar): Free xg_frame_tb_info if present.
232
2332012-08-13 Dmitry Antipov <dmantipov@yandex.ru>
234
235 Use KSET for write access to Lisp_Object members of struct kboard.
236 * keyboard.h (KSET): New macro.
237 * callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c:
238 * msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c:
239 * xterm.c: Adjust users.
240
2412012-08-13 Dmitry Antipov <dmantipov@yandex.ru>
242
243 Use BSET for write access to Lisp_Object members of struct buffer.
244 * buffer.h (BSET): New macro.
245 * buffer.c, casetab.c, cmds.c, coding.c, data.c, editfns.c:
246 * fileio.c, frame.c, indent.c, insdel.c, intervals.c, keymap.c:
247 * minibuf.c, print.c, process.c, syntax.c, undo.c, w32fns.c:
248 * window.c, xdisp.c, xfns.c: Adjust users.
249
2502012-08-11 BT Templeton <bpt@hcoop.net> (tiny change)
251
252 * lread.c (syms_of_lread): Initialize Vlexical_binding.
253
2542012-08-11 Jan Djärv <jan.h.d@swipnet.se>
255
256 * nsterm.m (not_in_argv): New function.
257 (application:openFile, application:openTempFile:):
258 (application:openFileWithoutUI:, application:openFiles:): Open file
259 if not_in_argv returns non-zero (bug#12171).
260
261 * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER)
262 (gtk_font_chooser_set_font, gtk_font_chooser_get_font):
263 Define for Gtk+ versions less than 3.2.
264 (xg_get_font_name): Use those functions/macros here.
265 Reported by Frans Oilinki <moilinki@gmail.com>.
266
2672012-08-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
268
269 * unexmacosx.c (copy_data_segment): Copy initialized data in
270 statically linked libraries from input file rather than memory.
271
272 * unexmacosx.c (print_load_command_name): Add cases LC_MAIN,
273 LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS.
274 (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data.
275
2762012-08-10 Glenn Morris <rgm@gnu.org>
277
278 * conf_post.h (IF_LINT, lint_assume): Move here from lisp.h.
279 * lisp.h (IF_LINT, lint_assume): Move to conf_post.h.
280
2812012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
282
283 Fix last change to allow compilation with low optimization levels.
284 * intervals.c (INTERVALS_INLINE): Define to EXTERN_INLINE.
285 Reported by Jan Djärv <jan.h.d@swipnet.se>.
286
2872012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
288
289 Use common inline syntax in intervals.h.
290 * intervals.h (INTERVALS_INLINE): New macro.
291 Change all users from LISP_INLINE.
292
2932012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
294
295 Define Qnone once for all platforms.
296 * frame.c (Qnone): Define here.
297 (syms_of_frame): DEFSYM it.
298 * lisp.h (Qnone): New declaration.
299 * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c:
300 * xfns.c: Remove duplication. Adjust users.
301
3022012-08-10 Dmitry Antipov <dmantipov@yandex.ru>
303
304 Remove unused macros from intervals.h.
305 * intervals.h (MERGE_INSERTIONS, DISPLAY_INVISIBLE_GLYPH): Remove.
306 * intervals.c: Adjust comment.
307
3082012-08-10 Eli Zaretskii <eliz@gnu.org>
309
310 * w32fns.c <w32_unicode_gui>: New static variable.
311 (globals_of_w32fns): Initialize it according to os_subtype.
312 (w32_init_class, w32_msg_pump, w32_wnd_proc): Use it instead of
313 testing os_subtype.
314
3152012-08-10 Joakim Hårsman <joakim.harsman@gmail.com> (tiny change)
316 Eli Zaretskii <eliz@gnu.org>
317
318 Fix bug #10299 with Unicode characters sent by customized
319 keyboards created by MSKLC.
320 * w32fns.c (INIT_WINDOW_CLASS): New macro.
321 (w32_init_class): Use it to initialize the Emacs class with either
322 ANSI or Unicode API calls.
323 (w32_msg_pump): Call GetMessageW and DispatchMessageW on NT and
324 later.
325 (w32_wnd_proc): If the character code sent by WM_CHAR or
326 WM_SYSCHAR is above 255, post a WM_UNICHAR message, not the
327 original message. Call DefWindowProcW on NT and later.
328
3292012-08-10 Glenn Morris <rgm@gnu.org>
330
331 * Makefile.in (config_h): Fix conf_post.h out-of-tree build location.
332
333 * lisp.h (DIRECTORY_SEP): Let configure set it.
334
3352012-08-09 Dmitry Antipov <dmantipov@yandex.ru>
336
337 Use TSET for write access to Lisp_Object slots of struct terminal.
338 * termhooks.h (TSET): New macro.
339 * coding.c, terminal.c, xselect.c: Adjust users.
340
3412012-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
342
343 * xdisp.c (safe_eval_handler): Remove prototype. Receive args describing
344 the failing expression, include them in the error message.
345 * eval.c (internal_condition_case_n): Pass nargs and args to hfun.
346 * lisp.h (internal_condition_case_n): Update declaration.
347
3482012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
349
350 Inline functions to examine and change buffer overlays.
351 * buffer.c (unchain_both): New function.
352 * buffer.h (buffer_get_overlays, buffer_set_overlays):
353 (buffer_has_overlays): New function.
354 (enum overlay_type): New enum.
355 * alloc.c, buffer.c, editfns.c, fileio.c, indent.c:
356 * insdel.c, intervals.c, print.c, xdisp.c: Adjust users.
357
3582012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
359
360 Inline functions to examine and change buffer intervals.
361 * alloc.c (mark_interval_tree): Remove.
362 (MARK_INTERVAL_TREE): Simplify.
363 (UNMARK_BALANCE_INTERVALS): Remove. Adjust users.
364 * intervals.c (buffer_balance_intervals): New function.
365 (graft_intervals_into_buffer): Adjust indentation.
366 (set_intervals_multibyte): Simplify.
367 * buffer.h (BUF_INTERVALS): Remove.
368 (buffer_get_intervals, buffer_set_intervals): New function.
369 * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c:
370 * intervals.c, textprop.c: Adjust users.
371
3722012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
373
374 Inline functions to examine and change string intervals.
375 * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove.
376 (string_get_intervals, string_set_intervals): New function.
377 * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
378 * lread.c, print.c, textprop.c: Adjust users.
379
3802012-08-08 Glenn Morris <rgm@gnu.org>
381
382 * lisp.mk (lisp): Remove language/persian.elc.
383
3842012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
385
386 Cleanup intervals.
387 * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove.
388 (NULL_INTERVAL_P): Likewise. Adjust users.
389 (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P):
390 Adjust comment. Move under #if 0.
391 * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
392 * print.c, syntax.c, textprop.c, xdisp.c: Adjust users.
393
3942012-08-08 Dmitry Antipov <dmantipov@yandex.ru>
395
396 Check total length of intervals with eassert.
397 * intervals.h (CHECK_TOTAL_LENGTH): Remove.
398 * intervals.c: Change all users to eassert.
399
4002012-08-07 Eli Zaretskii <eliz@gnu.org>
401
402 * .gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist):
403 Rename fields to match removal of FGET and WGET and disuse of
404 INTERNAL_FIELD in Lisp_Cons.
405
4062012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
407
408 Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things.
409 * lisp.h (struct Lisp_Symbol): Change xname to meaningful
410 name since all xname users are fixed long time ago. Do not
411 use INTERNAL_FIELD.
412 (set_symbol_name, set_symbol_function, set_symbol_plist):
413 (set_symbol_next, set_overlay_plist): New function.
414 (struct Lisp_Cons): Do not use INTERNAL_FIELD.
415 (struct Lisp_Overlay): Likewise.
416 (CVAR, MVAR, SVAR): Remove.
417 * alloc.c, buffer.c, buffer.h, bytecode.c, cmds.c, data.c:
418 * doc.c, eval.c, fns.c, keyboard.c, lread.c, nsselect.m:
419 * xterm.c: Adjust users.
420 * .gdbinit: Change to use name field of struct Lisp_Symbol
421 where appropriate.
422
4232012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
424
425 Basic functions to set Lisp_Object and pointer slots of intervals.
426 * intervals.h (interval_set_parent, interval_set_object):
427 (interval_set_left, interval_set_right, interval_set_plist):
428 (interval_copy_parent): New function.
429 (SET_INTERVAL_OBJECT, SET_INTERVAL_PARENT, INTERVAL_PTR_SIZE): Remove.
430 (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE):
431 Adjust indentation.
432 (INTERVAL_SIZE): Remove. Adjust users.
433 * alloc.c, intervals.c, lread.c, textprop.c: Use new functions.
434
4352012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
436
437 Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process.
438 * process.h (PGET): Remove.
439 (struct Lisp_Process): Do not use INTERNAL_FIELD.
440 * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
441
4422012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
443
444 Drop WGET and revert read access to Lisp_Objects slots of struct window.
445 * window.h (WGET): Remove.
446 (struct window): Do not use INTERNAL_FIELD.
447 * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
448 * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
449 * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
450 * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
451 * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
452 Adjust users.
453
4542012-08-07 Chong Yidong <cyd@gnu.org>
455
456 * window.c (Fwindow_edges, Fwindow_pixel_edges)
457 (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal)
458 (Fdelete_window_internal): Signal an error if the window is not on
459 a live frame (Bug#12025).
460
4612012-08-07 Dmitry Antipov <dmantipov@yandex.ru>
462
463 Drop FGET and revert read access to Lisp_Objects slots of struct frame.
464 * frame.h (FGET): Remove.
465 (struct frame): Do not use INTERNAL_FIELD.
466 * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
467 * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
468 * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
469 * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
470
4712012-08-06 Juanma Barranquero <lekktu@gmail.com>
472
473 * w32.c: Silence compiler warnings.
474 (map_w32_filename): Remove unused variable `is_fat'.
475 (chase_symlinks): Add parentheses around expression.
476
4772012-08-06 Glenn Morris <rgm@gnu.org>
478
479 * sysdep.c: Respect BROKEN_GETWD.
480
481 * dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT):
482 Let configure handle it.
483 (stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it.
484
4852012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
486
487 Use GCALIGNMENT where appropriate.
488 * alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size):
489 (union aligned_Lisp_Symbol, union aligned_Lisp_Misc):
490 (mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT.
491
4922012-08-06 Eli Zaretskii <eliz@gnu.org>
493
494 * w32menu.c (set_frame_menubar, initialize_frame_menubar):
495 Don't use FRAME_MENU_BAR_ITEMS as an lvalue.
496
4972012-08-06 Stefan Monnier <monnier@iro.umontreal.ca>
498
499 * buffer.h (struct buffer): Revert `indirections' to a simple int;
500 that should be sufficient for everyone.
501
5022012-08-06 Jan Djärv <jan.h.d@swipnet.se>
503
504 * keyboard.c (timer_check_2): Add break so timer_check returns next
505 timeout.
506
5072012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
508
509 Fix Windows build errors introduced after converting to WGET and WSET.
510 * w32term.c (w32_set_vertical_scroll_bar): Change to use WSET.
511 Reported by Andy Moreton <andrewjmoreton@gmail.com>.
512
5132012-08-06 Jan Djärv <jan.h.d@swipnet.se>
514
515 * nsterm.m (ns_frame_rehighlight): Use FSET.
516
517 * nsmenu.m (ns_update_menubar): Use FSET.
518
5192012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
520
521 Separate read and write access to Lisp_Object slots of Lisp_Process.
522 * process.h (PGET, PSET): New macros similar to AREF and ASET.
523 * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
524
5252012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
526
527 Separate read and write access to Lisp_Object slots of struct window.
528 * window.h (WGET, WSET): New macros similar to AREF and ASET.
529 * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
530 * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
531 * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
532 * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
533 * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
534 Adjust users.
535
5362012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
537
538 Fix Windows build errors introduced after converting to FGET and FSET.
539 * w32term.c (x_frame_rehighlight, x_scroll_bar_create):
540 (w32_condemn_scroll_bars, w32_redeem_scroll_bar):
541 (w32_judge_scroll_bars): Change to use FSET.
542 Reported by Andy Moreton <andrewjmoreton@gmail.com>.
543
5442012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
545
546 Fix replacement typo.
547 * window.c (replace_window): Set root_window instead of
548 selected_window. This fixes a total window subsystem
549 malfunction reported by Bastien Guerry <bzg@gnu.org>.
550
5512012-08-06 Glenn Morris <rgm@gnu.org>
552
553 * lisp.mk (lisp): Add language/persian.elc.
554
5552012-08-06 Dmitry Antipov <dmantipov@yandex.ru>
556
557 Separate read and write access to Lisp_Object slots of struct frame.
558 * frame.h (FGET, FSET): New macros similar to AREF and ASET.
559 * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
560 * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
561 * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
562 * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
563
5642012-08-05 Andreas Schwab <schwab@linux-m68k.org>
565
566 * emacs.c (decode_env_path): Only use defaulted if WINDOWSNT.
567
5682012-08-05 Dmitry Antipov <dmantipov@yandex.ru>
569
570 Generalize common compile-time constants.
571 * lisp.h (header_size, bool_header_size, word_size): Now here.
572 (struct Lisp_Vector): Add comment.
573 (struct Lisp_Bool_Vector): Move up to define handy constants.
574 (VECSIZE, PSEUDOVECSIZE): Simplify.
575 (SAFE_ALLOCA_LISP): Use new constant. Adjust indentation.
576 * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c:
577 * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c:
578 * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c:
579 * xfont.c, xmenu.c: Use word_size where appropriate.
580
5812012-08-05 Lawrence Mitchell <wence@gmx.li>
582
583 * search.c (Freplace_match): Treat \? in the replacement text
584 literally (Bug#8161).
585
5862012-08-05 Chong Yidong <cyd@gnu.org>
587
588 * term.c (Vsuspend_tty_functions, Vresume_tty_functions):
589 * frame.c (Vdelete_frame_functions):
590 * emacs.c (Vkill_emacs_hook): Doc fix.
591
5922012-08-04 Eli Zaretskii <eliz@gnu.org>
593
594 * xfns.c (x_set_menu_bar_lines): Fix compilation error in
595 --with-x-toolkit=no builds.
596 Reported by Carsten Mattner <carstenmattner@gmail.com>.
597
5982012-08-04 Chong Yidong <cyd@gnu.org>
599
600 * syntax.c (Fmodify_syntax_entry): Doc fix.
601
6022012-08-04 Eli Zaretskii <eliz@gnu.org>
603
604 Fix startup warnings about ../site-lisp on MS-Windows. (Bug#11959)
605 * w32.c (init_environment): Change the default values of many
606 environment variables in dflt_envvars[] to NULL, to avoid pushing
607 them into environment when they were not already defined.
608 Remove the code that deletes site-lisp subdirectories from the default
609 value of EMACSLOADPATH, as it is no longer needed.
610 (check_windows_init_file): Now external, not static.
611 Use Vload_path as is, without adding anything, as this function is now
612 called when Vload_path is already set up.
613
614 * w32.h (check_windows_init_file): Add prototype.
615
616 * emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build
617 directory, ignore the /*/i386/ tail in Vinvocation_directory, for
618 compatibility with Posix platforms.
619 (main): Move the call to check_windows_init_file to here from
620 w32.c.
621 (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if
622 any, in the DEFALT argument into the root of the Emacs build or
623 installation tree, as appropriate.
624
625 * callproc.c (init_callproc_1): Call decode_env_path instead of
626 doing its equivalent by hand.
627 (init_callproc): Replace DOS_NT condition with MSDOS, thus letting
628 the code that sets Vexec_path run on MS-Windows.
629
630 * lread.c (init_lread): Add comments to #ifdef's.
631
632 * msdos.c (dos_set_window_size, IT_update_begin)
633 (IT_frame_up_to_date, IT_set_frame_parameters): Use FVAR and WVAR
634 instead of direct references.
635
6362012-08-04 Paul Eggert <eggert@cs.ucla.edu>
637
638 Export DEFAULT_REHASH_* to GDB.
639 * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE):
640 Now constants, not macros.
641
6422012-08-03 Paul Eggert <eggert@cs.ucla.edu>
643
644 Remove unnecessary casts involving pointers.
645 These casts are no longer needed now that we assume C89 or later,
646 since they involve casting to or from void *.
647 * alloc.c (make_pure_string, make_pure_c_string, pure_cons)
648 (make_pure_float, make_pure_vector):
649 * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP):
650 * macros.c (Fstart_kbd_macro):
651 * menu.c (find_and_return_menu_selection):
652 * minibuf.c (read_minibuf_noninteractive):
653 * sysdep.c (closedir):
654 * xdisp.c (x_produce_glyphs):
655 * xfaces.c (compare_fonts_by_sort_order):
656 * xfns.c (x_real_positions, select_visual):
657 * xselect.c (x_stop_queuing_selection_requests)
658 (x_get_window_property, x_get_window_property_as_lisp_data):
659 * xterm.c (x_set_frame_alpha, x_find_modifier_meanings):
660 Remove unnecessary pointer casts.
661 * alloc.c (record_xmalloc): New function.
662 * lisp.h (record_xmalloc): New decl.
663 (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts
664 more like a function. This is because the pointer cast is not
665 needed. All uses changed.
666 * print.c (print_string, print_error_message): Avoid length recalc.
667
668 Improve fix for macroexp crash with debugging (Bug#12118).
669 * lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to
670 ARRAY_MARK_FLAG when checking subscripts, because ASET is
671 not supposed to be invoked from the garbage collector.
672 See Andreas Schwab in <http://bugs.gnu.org/12118#25>.
673 (gc_aset): New function, which is like ASET but can be
674 used in the garbage collector.
675 (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
676 (set_hash_index): Use it instead of ASET.
677
6782012-08-03 Eli Zaretskii <eliz@gnu.org>
679
680 Support symlinks on latest versions of MS-Windows.
681 * w32.c: Include winioctl.h and aclapi.h.
682 (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
683 (revert_to_self): Forward declarations of static functions.
684 <static BOOL g_b_init_get_security_info>:
685 <g_b_init_create_symbolic_link>: New static flags.
686 (globals_of_w32): Initialize them to zero.
687 (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
688 (map_w32_filename): Improve commentary. Simplify switch.
689 (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
690 headers (most versions of MinGW w32api don't).
691 (get_security_info, create_symbolic_link)
692 (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
693 New functions.
694 (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
695 in the argument file name.
696 (sys_access): Call unc_volume_file_attributes only if
697 GetFileAttributes fails with network-related error codes.
698 (sys_rename): Diagnose renaming of a symlink when the user doesn't
699 have the required privileges.
700 (get_file_security_desc_by_name): Rename from
701 get_file_security_desc.
702 (stat_worker): New function, with most of the guts of 'stat', and
703 with addition of handling of symlinks and support for 'lstat'.
704 If possible, get file's attributes and security information by
705 handle, not by name. Produce S_IFLNK bit for symlinks, when
706 called from 'lstat'.
707 (stat, lstat): New functions, call 'stat_worker'.
708 (symlink, readlink, careadlinkat): Rewritten to create and resolve
709 symlinks when the underlying filesystem supports them.
710
7112012-08-02 Paul Eggert <eggert@cs.ucla.edu>
712
713 Fix macroexp crash on Windows with debugging (Bug#12118).
714 * lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when
715 checking subscripts; problem introduced with the recent
716 "ASET (a, i, v)" rather than "AREF (a, i) = v" patch.
717 (ARRAY_MARK_FLAG): Now a macro as well as a constant,
718 since it's used in non-static inline functions now.
719
720 * xfaces.c (face_at_buffer_position, face_for_overlay_string):
721 Don't assume buffer size fits in 'int'. Remove unused local.
722
723 Use C99-style 'extern inline' if available.
724 * buffer.h (BUFFER_INLINE):
725 * category.h (CATEGORY_INLINE):
726 * character.h (CHARACTER_INLINE):
727 * charset.h (CHARSET_INLINE):
728 * composite.h (COMPOSITE_INLINE):
729 * dispextern.h (DISPEXTERN_INLINE):
730 * lisp.h (LISP_INLINE):
731 * systime.h (SYSTIME_INLINE):
732 New macro, replacing 'static inline' in this header.
733 * buffer.h, category.h, character.h, charset.h, composite.h:
734 * dispextern.h, lisp.h, systime.h:
735 Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
736 * alloc.c (LISP_INLINE):
737 * buffer.c (BUFFER_INLINE):
738 * category.c (CATEGORY_INLINE):
739 * character.c (CHARACTER_INLINE):
740 * charset.c (CHARSET_INLINE):
741 * composite.c (COMPOSITE_INLINE):
742 * dispnew.c (DISPEXTERN_INLINE):
743 * sysdep.c (SYSTIME_INLINE):
744 Define to EXTERN_INLINE, so that the corresponding functions
745 are compiled into code.
746 * conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
747 (INLINE_HEADER_END): New macros.
748 * lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
749 since it's used in non-static inline functions now.
750 (VALMASK) [!USE_LSB_TAG]: Likewise.
751
7522012-08-02 Glenn Morris <rgm@gnu.org>
753
754 * s/: Remove empty directory.
755
756 * s/ms-w32.h: Move to ../nt/inc.
757 * makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
758 Update for new ms-w32.h location.
759
7602012-08-02 Paul Eggert <eggert@cs.ucla.edu>
761
762 Port to Solaris 8.
763 * syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
764
7652012-08-02 Glenn Morris <rgm@gnu.org>
766
767 * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than
768 hard-coding the path separator.
769
7702012-08-01 Paul Eggert <eggert@cs.ucla.edu>
771
772 Use "ASET (a, i, v)" rather than "AREF (a, i) = v".
773 This how ASET and AREF are supposed to work, and makes
774 it easier to think about future improvements. See
775 <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
776 * charset.h (set_charset_attr): New function.
777 All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
778 * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
779 (aref_addr): New function. All uses of &AREF(...) changed.
780 (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
781 (set_hash_index): New functions. All lvalue-style uses of
782 HASH_KEY etc. changed.
783 * keyboard.c (set_prop): New function. All lvalue-style uses
784 of PROP changed.
785
7862012-08-01 Alp Aker <alp.tekin.aker@gmail.com>
787
788 * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar)
789 (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
790 (EmacsScroller-dealloc): Adjust to use WVAR. (Bug#12114)
791 * nsfns.m (ns_set_name_as_filename): Likewise.
792 * nsmenu.m (ns_update_menubar): Likewise.
793 * nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
794
7952012-08-01 Eli Zaretskii <eliz@gnu.org>
796
797 * .gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym):
798 Adapt to latest changes in field names of the corresponding Lisp
799 objects.
800
801 * xdisp.c (try_window_id): Use WVAR in IF_DEBUG code.
802
8032012-08-01 Glenn Morris <rgm@gnu.org>
804
805 * s/msdos.h: Remove file.
806 * conf_post.h [MSDOS]: New section, moved from s/msdos.h.
807 * Makefile.in (S_FILE): Remove.
808 (config_h): Remove S_FILE.
809
8102012-08-01 Juanma Barranquero <lekktu@gmail.com>
811
812 * s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
813 Remove; moved to nt/config.nt.
814
8152012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
816
817 Use INTERNAL_FIELD for conses and overlays.
818 * lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD.
819 Remove obsolete comment.
820 (MVAR): New macro.
821 (struct Lisp_Overlay): Use INTERNAL_FIELD.
822 * alloc.c, buffer.c, buffer.h, fns.c: Adjust users.
823
8242012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
825
826 Use INTERNAL_FIELD for symbols.
827 * lisp.h (SVAR): New macro. Adjust users.
828 * alloc.c, bytecode.c, cmds.c, data.c, doc.c, eval.c:
829 * fns.c, keyboard.c, lread.c, xterm.c: Users changed.
830
8312012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
832
833 Use INTERNAL_FIELD for processes.
834 * process.h (PVAR): New macro. Adjust style.
835 (struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD.
836 * print.c, process.c, sysdep.c, w32.c, xdisp.c: Users changed.
837
8382012-08-01 Dmitry Antipov <dmantipov@yandex.ru>
839
840 Use INTERNAL_FIELD for windows.
841 * window.h (WVAR): New macro.
842 (struct window): Change Lisp_Object members to INTERNAL_FIELD.
843 * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
844 * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
845 * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, nsterm.m, print.c:
846 * textprop.c, w32fns.c, w32menu.c, w32term.c, window.c, xdisp.c:
847 * xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
848
8492012-08-01 Paul Eggert <eggert@cs.ucla.edu>
850
851 * coding.h (CODING_ATTR_FLUSHING): Remove; unused and wouldn't work.
852
8532012-08-01 Glenn Morris <rgm@gnu.org>
854
855 * lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP):
856 Move to configure.ac.
857
8582012-08-01 Juanma Barranquero <lekktu@gmail.com>
859
860 * makefile.w32-in (CONFIG_H): Update dependencies.
861 (CONF_POST_H): New macro.
862
863 * s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt.
864
8652012-07-31 Glenn Morris <rgm@gnu.org>
866
867 * Makefile.in (S_FILE): No longer set by configure.
868
869 * conf_post.h (config_opsysfile): Move earlier, so that WINDOWSNT
870 is available.
871 (alloca.h) [WINDOWSNT]: Don't include it on MS Windows.
872
873 * process.h (NULL_DEVICE):
874 * emacs.c (SEPCHAR):
875 * editfns.c (USER_FULL_NAME): Let configure set them.
876
877 * s/README, s/template.h: Remove files.
878
879 * conf_post.h [HPUX]: Undefine HAVE_RANDOM and HAVE_RINT.
880
881 * conf_post.h (AMPERSAND_FULL_NAME, subprocesses):
882 Move to configure.ac.
883
8842012-07-31 Eli Zaretskii <eliz@gnu.org>
885
886 * .gdbinit (xframe): Adapt to introduction of FVAR and the
887 resulting renaming of 'struct frame' members.
888
889 * w32menu.c (w32_menu_show): Revert bogus introduction of FVAR.
890
891 * fontset.c (dump_fontset): Fix compilation with ENABLE_CHECKING
892 after introduction of FVAR.
893
8942012-07-31 Jan Djärv <jan.h.d@swipnet.se>
895
896 * nsmenu.m (update_frame_tool_bar): Change key from NSObject* to id.
897
898 * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Use drawInRect
899 instead of compositeToPoint.
900 (applicationShouldTerminate): Pass NS String literal to NSRunAlertPanel.
901
902 * nsfns.m, nsmenu.m, nsterm.m: Adopt to struct frame/FVAR changes.
903
9042012-07-31 Dmitry Antipov <dmantipov@yandex.ru>
905
906 Generalize INTERNAL_FIELD between buffers, keyboards and frames.
907 * lisp.h (INTERNAL_FIELD): New macro.
908 * buffer.h (BUFFER_INTERNAL_FIELD): Remove.
909 (BVAR): Change to use INTERNAL_FIELD.
910 * keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
911 (KVAR): Change to use INTERNAL_FIELD.
912 * frame.h (FVAR): New macro.
913 (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields.
914 * alloc.c, buffer.c, data.c, dispnew.c, dosfns.c, eval.c, frame.c:
915 * fringe.c, gtkutil.c, minibuf.c, nsfns.m, nsterm.m, print.c:
916 * term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
917 * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
918
9192012-07-31 Dmitry Antipov <dmantipov@yandex.ru>
920
921 Miscellaneous fixes for non-default X toolkits.
922 * xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings.
923 * xterm.c (x_frame_of_widget): Remove redundant prototype.
924 Move under #ifdef USE_LUCID.
925 (x_create_toolkit_scroll_bar): Adjust scroll_bar_name
926 definition and usage to avoid warnings.
927
9282012-07-31 Jan Djärv <jan.h.d@swipnet.se>
929
930 * nsterm.m (openFiles): Fix previous checkin.
931
9322012-07-31 Paul Eggert <eggert@cs.ucla.edu>
933
934 * indent.c (compute_motion): Remove unused local.
935
9362012-07-31 Glenn Morris <rgm@gnu.org>
937
938 * s/usg5-4-common.h (wait3, WRETCODE): Let configure set them.
939
940 * conf_post.h [USG5_4]:
941 Move remaining contents of s/usg5-4-common.h here.
942 * s/usg5-4-common.h: Remove file.
943
944 * conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here.
945 * s/irix6-5.h: Remove file.
946
947 * conf_post.h [DARWIN_OS]: Move remaining contents of s/darwin.h here.
948 * s/darwin.h: Remove file.
949
950 * conf_post.h [HPUX]: Move random, srandom here from s/hpux10-20.h.
951 * s/hpux10-20.h: Remove file, which is now empty.
952
9532012-07-30 Glenn Morris <rgm@gnu.org>
954
955 * conf_post.h: New, split from configure.ac's AH_BOTTOM.
956 * Makefile.in (config_h): Add conf_post.h.
957 * makefile.w32-in (CONFIG_H): Add conf_post.h.
958
9592012-07-30 Jan Djärv <jan.h.d@swipnet.se>
960
961 * nsterm.m (ns_do_open_file): New variable.
962 (ns_term_init): Set ns_do_open_file to YES after run returns.
963 (openFile, openTempFile, openFileWithoutUI, openFiles):
964 Open files only if ns_do_open_file.
965
9662012-07-30 Paul Eggert <eggert@cs.ucla.edu>
967
968 * lisp.h (SWITCH_ENUM_CAST): Remove. All uses removed.
969 This no-op macro hasn't been needed for many years.
970 * src/regex.c (SWITCH_ENUM_CAST) [!emacs]: Likewise.
971
972 Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB.
973 * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits.
974 * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for
975 gdb_make_enums_visible.
976 (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros.
977 (DIRECTORY_SEP): Now a constant, not a macro.
978
9792012-07-30 Eli Zaretskii <eliz@gnu.org>
980
981 * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to
982 w32_kbd_patch_key as the 2nd arg. (Bug#12082)
983
984 * w32term.c <w32_keyboard_codepage>: Renamed from
985 keyboard_codepage and now external. All users changed.
986
987 * w32term.h: Add declaration of w32_keyboard_codepage.
988
989 * w32inevt.c (w32_kbd_patch_key): Accept an additional argument --
990 the codepage to translate keys to Unicode. If this argument is
991 -1, use the value returned by GetConsoleCP. All callers changed.
992
9932012-07-30 Paul Eggert <eggert@cs.ucla.edu>
994
995 Update .PHONY listings in makefiles.
996 * Makefile.in (.PHONY): Add all, mostlyclean, clean,
997 bootstrap-clean, distclean, maintainer-clean, versioclean,
998 extraclean, frc.
999
1000 * lisp.h (STRING_BYTES_BOUND): Cast entire result to ptrdiff_t.
1001 This is a bit clearer. Fix some commentary typos.
1002
10032012-07-30 Glenn Morris <rgm@gnu.org>
1004
1005 * s/netbsd.h: Let configure include signal.h if needed.
1006 Remove file, which is now empty.
1007
1008 * s/usg5-4-common.h (_longjmp, _setjmp, TIOCSIGSEND):
1009 Let configure set them.
1010 * s/irix6-5.h (_longjmp, _setjmp, TIOCSIGSEND):
1011 No more need to undefine.
1012
10132012-07-30 Andreas Schwab <schwab@linux-m68k.org>
1014
1015 * keymap.c (Fkey_description): Don't remove 0x80 bit from
1016 non-single-byte char when adding meta modifier. (Bug#12090)
1017
10182012-07-30 Dmitry Antipov <dmantipov@yandex.ru>
1019
1020 Convert safe_call to use variable number of arguments.
1021 * xdisp.c (safe_call): Convert to use varargs. Adjust users.
1022 (safe_call2): Fix comment.
1023 * lisp.h (safe_call): Adjust prototype.
1024 * coding.c (encode_coding_object): Change to use safe_call2.
1025 * xfaces.c (merge_face_heights): Change to use safe_call1.
1026
10272012-07-30 Glenn Morris <rgm@gnu.org>
1028
1029 * s/aix4-2.h (sigmask): No need to undefine it, since syssignal.h
1030 does that unconditionally. Remove file, which is now empty.
1031
1032 * s/freebsd.h, s/gnu-linux.h, s/sol2-6.h, s/unixware.h:
1033 Remove empty files.
1034
10352012-07-30 Paul Eggert <eggert@cs.ucla.edu>
1036
1037 Export to GDB most of lisp.h's remaining object-like macros.
1038 * lisp.h (min, max): Move earlier, because they're used earlier now.
1039 (INTMASK, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK)
1040 (CHAR_TABLE_STANDARD_SLOTS, CHARTAB_SIZE_BITS_0)
1041 (CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, CHARTAB_SIZE_BITS_3)
1042 (DEFAULT_HASH_SIZE, COMPILED_ARGLIST, COMPILED_BYTECODE)
1043 (COMPILED_CONSTANTS, COMPILED_STACK_DEPTH, COMPILED_DOC_STRING)
1044 (COMPILED_INTERACTIVE, CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT)
1045 (CHAR_CTL, CHAR_META, CHAR_MODIFIER_MASK, CHARACTERBITS)
1046 (MANY, UNEVALLED, FLOAT_TO_STRING_BUFSIZE, MAX_ALLOCA):
1047 Now constants, for GDB. They need not be macros.
1048 (MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, STRING_BYTES_BOUND):
1049 Now constants, for GDB, as well as macros, for static initializers.
1050 (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_EXTRA_SLOTS):
1051 Move to after the definition of struct Lisp_Char_Table,
1052 since the former now needs that type defined.
1053 (enum CHARTAB_SIZE_BITS, enum CHAR_TABLE_STANDARD_SLOTS)
1054 (enum DEFAULT_HASH_SIZE, enum Lisp_Compiled, enum char_bits)
1055 (enum maxargs, enum FLOAT_TO_STRING_BUFSIZE, enum MAX_ALLOCA):
1056 New enums, for gdb_make_enums_visible.
1057 (GLYPH_MODE_LINE_FACE): Remove; unused.
1058 * alloc.c (STRING_BYTES_MAX): Now a constant, not a macro.
1059 (gdb_make_enums_visible): Add enum CHARTAB_SIZE_BITS, enum
1060 CHAR_TABLE_STANDARD_SLOTS, enum char_bits, enum DEFAULT_HASH_SIZE,
1061 enum FLOAT_TO_STRING_BUFSIZE, enum Lisp_Bits, enum Lisp_Compiled,
1062 enum maxargs, enum MAX_ALLOCA.
1063 (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): Remove.
1064 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Remove;
1065 no longer needed, now that they are done in lisp.h.
1066
10672012-07-30 Dmitry Antipov <dmantipov@yandex.ru>
1068
1069 Cleanup string bytes checking.
1070 * alloc.c (GC_STRING_BYTES, CHECK_STRING_BYTES): Remove. Convert
1071 all users to STRING_BYTES or string_bytes if GC_CHECK_STRING_BYTES.
1072 (check_string_bytes): Define to empty if not GC_CHECK_STRING_BYTES.
1073 (check_sblock, compact_small_strings): Simplify.
1074
10752012-07-29 Paul Eggert <eggert@cs.ucla.edu>
1076
1077 * lisp.h (LISP_INT_TAG, LISP_INT1_TAG, LISP_STRING_TAG): Remove.
1078 These macros are confusing and no longer need to be defined, as
1079 the enum values now suffice. All uses replaced with definiens.
1080 (Lisp_Int1, Lisp_String): Define directly; this is clearer.
1081
10822012-07-29 Juanma Barranquero <lekktu@gmail.com>
1083
1084 * makefile.w32-in (LISP_H, $(BLD)/emacs.$(O), $(BLD)/w32inevt.$(O))
1085 ($(BLD)/w32console.$(O)): Update dependencies.
1086
10872012-07-29 Dmitry Antipov <dmantipov@yandex.ru>
1088
1089 Remove HIDE_LISP_IMPLEMENTATION and cleanup cons free list check.
1090 * lisp.h (HIDE_LISP_IMPLEMENTATION): Remove as useless for a long
1091 time. Adjust users.
1092 (CHECK_CONS_LIST): Remove. Convert all users to check_cons_list.
1093
10942012-07-29 Jan Djärv <jan.h.d@swipnet.se>
1095
1096 * lread.c (init_lread): Remove if-statement in ifdef HAVE_NS before
1097 setting sitelisp (Bug#12010).
1098
10992012-07-29 Eli Zaretskii <eliz@gnu.org>
1100
1101 * w32heap.h (OS_9X): Rename from OS_WINDOWS_95.
1102
1103 * w32heap.c (cache_system_info):
1104 * w32.c (sys_rename):
1105 * w32proc.c (find_child_console, sys_kill): All users changed.
1106
11072012-07-29 Paul Eggert <eggert@cs.ucla.edu>
1108
1109 * alloc.c (Fgarbage_collect): Indent as per usual Emacs style.
1110
11112012-07-29 Eli Zaretskii <eliz@gnu.org>
1112
1113 * makefile.w32-in (LISP_H): Add $(NT_INC)/stdalign.h.
1114
11152012-07-29 Dmitry Antipov <dmantipov@yandex.ru>
1116
1117 Cleanup statistics calculation in Fgarbage_collect.
1118 * alloc.c (Fgarbage_collect): Rename t1 to meaningful start.
1119 Fix zombies percentage calculation. Simplify elapsed time calculation.
1120
11212012-07-29 Dmitry Antipov <dmantipov@yandex.ru>
1122
1123 Generalize marker debugging code under MARKER_DEBUG and use eassert.
1124 * insdel.c (CHECK_MARKERS, check_markers_debug_flag): Remove.
1125 (gap_left, gap_right, adjust_markers_for_delete, insert_1_both)
1126 (insert_from_string_1, insert_from_gap, insert_from_buffer_1)
1127 (replace_range, replace_range_2, del_range_2): Change to eassert.
1128 * marker.c (byte_char_debug_check): Adjust style.
1129
11302012-07-29 Paul Eggert <eggert@cs.ucla.edu>
1131
1132 Don't use the abbreviation "win" to refer to Windows (Bug#10421).
1133 * regex.c (MAX_BUF_SIZE): Remove some incorrect and
1134 long-ago-commented-out code that talks about "WIN32".
1135 * w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95.
1136 All uses changed.
1137
11382012-07-28 Paul Eggert <eggert@cs.ucla.edu>
1139
1140 Use Gnulib stdalign module (Bug#9772, Bug#9960).
1141 * alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc):
1142 Simplify by using alignof.
1143 (pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
1144 * lisp.h: Include <stdalign.h>.
1145 (GCALIGNMENT): New macro and constant.
1146 (DECL_ALIGN): Remove. All uses replaced by alignas (GCALIGNMENT).
1147 (USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN.
1148 (stdalign): New macro, if not already defined.
1149
11502012-07-28 Eli Zaretskii <eliz@gnu.org>
1151
1152 Fix non-ASCII input in non-GUI frames on MS-Windows. (Bug#12055)
1153 * w32inevt.c: Include w32inevt.h.
1154 (w32_read_console_input): New inline function, calls either
1155 ReadConsoleInputA or ReadConsoleInputW, depending on the value of
1156 w32_console_unicode_input.
1157 (fill_queue): Call w32_read_console_input instead of ReadConsoleInput.
1158 (w32_kbd_patch_key, key_event): Use the codepage returned by
1159 GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo.
1160 (key_event): use uChar.UnicodeChar only if
1161 w32_console_unicode_input is non-zero.
1162
1163 * w32console.c: Include w32heap.h.
1164 <w32_console_unicode_input>: New global variable.
1165 (initialize_w32_display): Set w32_console_unicode_input to 1 on NT
1166 family of Windows, zero otherwise.
1167
1168 * w32inevt.h: Declare w32_console_unicode_input.
1169
1170 * xdisp.c (init_iterator): Don't reference tip_frame in a build
1171 --without-x. (Bug#11742)
1172
11732012-07-27 Paul Eggert <eggert@cs.ucla.edu>
1174
1175 Adjust GDB to reflect pvec_type changes (Bug#12036).
1176 * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
1177 2012-07-04 changes to pseudovector representation.
1178 Problem reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
1179
11802012-07-27 Michael Albinus <michael.albinus@gmx.de>
1181
1182 * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session
1183 bus address.
1184 (xd_close_bus, Fdbus_init_bus): Handle reference counter properly.
1185
11862012-07-27 Eli Zaretskii <eliz@gnu.org>
1187
1188 * alloc.c (listn): Fix the order the arguments are consed onto the
1189 list.
1190
1191 * lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for
1192 enumeration constants, as PURE and HEAP are too general, and clash
1193 with other headers and sources, such as gmalloc.c and the
1194 MS-Windows system headers. All users changed.
1195
11962012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
1197
1198 Revert last save_excursion_save and save_excursion_restore changes.
1199 * alloc.c, editfns.c, marker.c, lisp.h: Revert.
1200 Lots of crashes reported by Chong Yidong <cyd@gnu.org>.
1201
12022012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
1203
1204 Fix recently-introduced typos in Windows port.
1205 Reported by Martin Rudalics <rudalics@gmx.at>.
1206 * w32.c (init_environment): Replace comma with semicolon.
1207 * w32fns.c (syms_of_w32fns): Add missing parenthesis.
1208
12092012-07-27 Paul Eggert <eggert@cs.ucla.edu>
1210
1211 Improve GDB symbol export (Bug#12036).
1212 * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different
1213 arms of an 'if', not using conditional expressions; otherwise GDB
1214 complains about the types in the unevaluated arm when the argument
1215 is an integer literal.
1216 (xgetint): Simplify expression.
1217 * alloc.c (gdb_make_enums_visible): New constant. This ports to
1218 GCC 3.4.2 the export of symbols to GDB. Problem reported by Eli
1219 Zaretskii in <http://bugs.gnu.org/12036#13>.
1220 * lisp.h (PUBLISH_TO_GDB): Remove. All uses removed. No longer
1221 needed now that we have gdb_make_enums_visible.
1222 (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits)
1223 (enum enum_USE_LSB_TAG):
1224 New enum types, packaging up enums that need to be exported to GDB.
1225
12262012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
1227
1228 Utility function to make a list from specified amount of objects.
1229 * lisp.h (enum constype): New datatype.
1230 (listn): New prototype.
1231 * alloc.c (listn): New function.
1232 (Fmemory_use_count, syms_of_alloc): Use it.
1233 * buffer.c (syms_of_buffer): Likewise.
1234 * callint.c (syms_of_callint): Likewise.
1235 * charset.c (define_charset_internal): Likewise.
1236 * coding.c (syms_of_coding): Likewise.
1237 * keymap.c (syms_of_keymap): Likewise.
1238 * search.c (syms_of_search): Likewise.
1239 * syntax.c (syms_of_syntax): Likewise.
1240 * w32.c (init_environment): Likewise.
1241 * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise.
1242 * xdisp.c (syms_of_xdisp): Likewise.
1243 * xfns.c (syms_of_xfns): Likewise.
1244
12452012-07-27 Dmitry Antipov <dmantipov@yandex.ru>
1246
1247 Fast save_excursion_save and save_excursion_restore.
1248 * lisp.h (struct Lisp_Excursion): New data type.
1249 (PVEC_EXCURSION): New pseudovector type.
1250 (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros
1251 to deal with it. Adjust comments.
1252 (init_marker, attach_marker): New prototype.
1253 (unchain_marker): Adjust prototype.
1254 * marker.c (attach_marker): Change to global.
1255 (init_marker): New function.
1256 * alloc.c (Fmake_marker, build_marker): Use it.
1257 (build_marker): More easserts.
1258 (mark_object): Handle struct Lisp_Excursion.
1259 * editfns.c (save_excursion_save, save_excursion_restore):
1260 Reimplement to use struct Lisp_Excursion. Add comments.
1261
12622012-07-26 Paul Eggert <eggert@cs.ucla.edu>
1263
1264 Fix export of symbols to GDB (Bug#12036).
1265 * alloc.c (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL)
1266 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Move these here from
1267 emacs.c, as this is a more-suitable home. Had this been done earlier
1268 the fix for 12036 would have avoided some of the problems noted in
1269 <http://bugs.gnu.org/12036#13> by Eli Zaretskii, as the scope problems
1270 would have been more obvious.
1271 * emacs.c: Do not include <verify.h>; no longer needed.
1272 (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS)
1273 (gdb_GCTYPEBITS, gdb_USE_LSB_TAG)
1274 (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
1275 Remove; now done in lisp.h.
1276 * lisp.h (PUBLISH_TO_GDB): New macro.
1277 (GCTYPEBITS, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE, enum pvec_type)
1278 (DATA_SEG_BITS): Use it.
1279 (GCTYPEBITS, USE_LSB_TAG): Now also an enum, for GDB.
1280 (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Now just an enum, for GDB.
1281 * mem-limits.h (EXCEEDS_LISP_PTR): Redo so that DATA_SEG_BITS need
1282 not be usable in #if. This simplifies things.
1283
12842012-07-26 Juanma Barranquero <lekktu@gmail.com>
1285
1286 * makefile.w32-in ($(BLD)/emacs.$(O)): Update dependencies.
1287
12882012-07-26 Paul Eggert <eggert@cs.ucla.edu>
1289
1290 Simplify export of symbols to GDB (Bug#12036).
1291 * .gdbinit (xgetptr, xgetint, xgettype): Don't use "set $bugfix =
1292 $bugfix.i", as this doesn't work (with GDB 7.4.1, anyway).
1293 (xgetptr, xgetint, xgettype, xcoding, xcharset, xprintbytestr):
1294 Adjust to changes in lisp.h and emacs.c, by using
1295 CHECK_LISP_OBJECT_TYPE rather than gdb_use_struct, VALMASK instead
1296 of $valmask, DATA_SEG_BITS instead of gdb_data_seg_bits,
1297 INTTYPEBITS instead of gdb_gctypebits - 1, USE_LSB_TAG instead of
1298 gdb_use_lsb, (1 << GCTYPEBITS) - 1 instead of $tagmask, VALBITS
1299 instead of gdb_valbits.
1300 (xvectype, xvector, xpr, xprintstr, xbacktrace): Similarly, use
1301 PSEUDOVECTOR_FLAG instead of PVEC_FLAG, and ARRAY_MARK_FLAG
1302 instead of gdb_array_mark_flag.
1303 (xboolvector): Get size from $->size, not $->header.size.
1304 Use BOOL_VECTOR_BITS_PER_CHAR rather than mystery constants.
1305 (xreload, hook-run, hookpost-run): Remove.
1306 * emacs.c: Include <verify.h>.
1307 (gdb_use_lsb, gdb_use_struct, gdb_valbits, gdb_gctypebits)
1308 (gdb_data_seg_bits, PVEC_FLAG, gdb_array_mark_flag, gdb_pvec_type):
1309 Remove.
1310 (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS, gdb_GCTYPEBITS)
1311 (gdb_USE_LSB_TAG): New enum constants.
1312 (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
1313 Also define these as enum constants, so they're visible to GDB.
1314 (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): New macros.
1315 (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Also define these
1316 as constants, so they're visible to GDB.
1317 * lisp.h (VALBITS, INTTYPEBITS, FIXNUM_BITS, PSEUDOVECTOR_SIZE_BITS)
1318 (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK, BOOL_VECTOR_BITS_PER_CHAR):
1319 Now enum constants, not macros, so they're visible to GDB.
1320 (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Default to 0, as this is
1321 more convenient now. All uses changed.
1322 (VALMASK) [USE_LSB_TAG]: Also define in this case.
1323 * mem-limits.h (EXCEEDS_LISP_PTR): Adjust to DATA_SEG_BITS change.
1324
13252012-07-26 Dmitry Antipov <dmantipov@yandex.ru>
1326
1327 Explicitly free restriction data that are not needed anymore.
1328 * editfns.c (save_restriction_restore): Free restriction data.
1329
13302012-07-26 Stefan Monnier <monnier@iro.umontreal.ca>
1331
1332 * eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
1333 add argument, tune behavior, and adjust all callers.
1334
13352012-07-25 Paul Eggert <eggert@cs.ucla.edu>
1336
1337 Use typedef for EMACS_INT, EMACS_UINT.
1338 * lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather
1339 than macros. This simplifies debugging in the usual case, since
1340 it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *'
1341 and it allows expressions involving EMACS_INT casts.
1342 * .gdbinit (xreload): Simplify by using EMACS_INT cast.
1343
13442012-07-25 Jan Djärv <jan.h.d@swipnet.se>
1345
1346 * nsterm.m (ns_read_socket): Return early if there is a modal
1347 window (Bug#12043).
1348
13492012-07-25 Martin Rudalics <rudalics@gmx.at>
1350
1351 * frame.c (Fredirect_frame_focus): In doc-string don't mention
1352 that FOCUS-FRAME can be omitted.
1353
13542012-07-25 Dmitry Antipov <dmantipov@yandex.ru>
1355
1356 Adjust buffer text indirection counters at the end of Fkill_buffer.
1357 * buffer.c (Fkill_buffer): Adjust indirection counters when the
1358 buffer is definitely dead. This should really fix an issue reported
1359 by Christoph Scholtes again. (Bug#12007).
1360 (init_buffer_once): Initialize indirection counters of
1361 buffer_defaults and buffer_local_symbols (for sanity and safety).
1362
13632012-07-24 Eli Zaretskii <eliz@gnu.org>
1364
1365 * xdisp.c (init_iterator): Don't compute dimensions of truncation
1366 and continuation glyphs on tooltip frames, leave them at zero.
1367 Avoids continued lines in tooltips. (Bug#11832)
1368
13692012-07-24 Dmitry Antipov <dmantipov@yandex.ru>
1370
1371 Simplify copy_overlay.
1372 * buffer.c (copy_overlay): Simplify. Use build_marker.
1373 * lisp.h (struct Lisp_Overlay): Restore comment with minor tweaks.
1374
13752012-07-23 Eli Zaretskii <eliz@gnu.org>
1376
1377 * print.c (print_object): Don't crash when a frame's name is nil
1378 or invalid. (Bug#12025)
1379
1380 * window.c (decode_any_window): Disable CHECK_LIVE_FRAME test, as
1381 it signals an error when a tooltip frame is being created.
1382
13832012-07-23 Dmitry Antipov <dmantipov@yandex.ru>
1384
1385 Cleanup miscellaneous objects allocation and initialization.
1386 * alloc.c (allocate_misc): Change to static. Add argument to
1387 specify the subtype. Adjust comment and users.
1388 (build_overlay): New function.
1389 * buffer.c (copy_overlays, Fmake_overlay): Use it.
1390 * lisp.h (struct Lisp_Overlay): Remove obsolete comment.
1391 (allocate_misc): Remove prototype.
1392 (build_overlay): Add prototype.
1393
13942012-07-23 Dmitry Antipov <dmantipov@yandex.ru>
1395
1396 Swap buffer text indirection counters in Fbuffer_swap_text.
1397 * buffer.c (Fbuffer_swap_text): Swap indirections too.
1398 This avoids crash reported by Christoph Scholtes at
1399 http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html.
1400
14012012-07-22 Jan Djärv <jan.h.d@swipnet.se>
1402
1403 * nsmenu.m (Popdown_data): New struct.
1404 (pop_down_menu): p->pointer is Popdown_data. Release the pool and
1405 free Popdown_data.
1406 (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
1407 (initWithContentRect): Make imgView and contentView non-static
1408 and autorelease them. Also autorelease img and matrix (Bug#12005).
1409 (dealloc): Remove (Bug#12005).
1410
14112012-07-22 Dmitry Antipov <dmantipov@yandex.ru>
1412
1413 Adjust consing_since_gc when objects are explicitly freed.
1414 * alloc.c (GC_DEFAULT_THRESHOLD): New macro.
1415 (Fgarbage_collect): Use it. Change minimum to 1/10 of default.
1416 (free_cons, free_misc): Subtract object size from consing_since_gc.
1417
14182012-07-22 Dmitry Antipov <dmantipov@yandex.ru>
1419
1420 Simplify and cleanup markers positioning code.
1421 * marker.c (attach_marker): More useful eassert.
1422 (live_buffer, set_marker_internal): New function.
1423 (Fset_marker, set_marker_restricted): Use set_marker_internal.
1424 (set_marker_both, set_marker_restricted_both): Use live_buffer.
1425
14262012-07-22 Paul Eggert <eggert@cs.ucla.edu>
1427
1428 * buffer.h (struct buffer.indirections): Now ptrdiff_t, not int,
1429 as it's limited by the amount of memory, not by INT_MAX.
1430
14312012-07-21 Eli Zaretskii <eliz@gnu.org>
1432
1433 * keyboard.c (keys_of_keyboard): Bind language-change to 'ignore'
1434 in special-event-map. See the discussion at
1435 http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00417.html
1436 for the reasons.
1437
1438 * w32menu.c (add_menu_item): Cast to ULONG_PTR when assigning
1439 info.dwItemData. Fixes crashes on 64-bit Windows.
1440 Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
1441
14422012-07-21 Jan Djärv <jan.h.d@swipnet.se>
1443
1444 * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134).
1445 (conversationIdentifier): Return value is NSInteger.
1446 * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA.
1447
14482012-07-21 Chong Yidong <cyd@gnu.org>
1449
1450 * window.c (decode_any_window): Signal an error if the window is
1451 on a dead frame (Bug#11984).
1452
14532012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
1454
1455 Add indirection counting to speed up Fkill_buffer.
1456 * buffer.h (struct buffer): New member.
1457 * buffer.c (Fget_buffer_create): Set indirection counter to 0.
1458 (Fmake_indirect_buffer): Set indirection counter to -1, increment
1459 base buffer indirection counter.
1460 (compact_buffer): If ENABLE_CHECKING, verify indirection counters.
1461 (Fkill_buffer): Adjust indirection counters as needed, don't walk
1462 through buffer list if indirection counter is 0.
1463
14642012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
1465
1466 Extend the value returned by Fgarbage_collect with heap statistics.
1467 * alloc.c (Qheap): New symbol.
1468 (syms_of_alloc): DEFSYM it.
1469 (Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data.
1470 (Fmemory_free): Remove.
1471 (syms_of_alloc): Don't defsubr it.
1472 * buffer.c (Fcompact_buffer): Remove.
1473 (syms_of_buffer): Don't defsubr it.
1474
14752012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
1476
1477 Make maybe_gc inline.
1478 Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline).
1479 * lisp.h (consing_since_gc, gc_relative_threshold)
1480 (memory_full_cons_threshold): Revert declaration.
1481 (maybe_gc): Remove prototype, define as inline.
1482 * alloc.c: Remove old commented-out code.
1483 (consing_since_gc, gc_relative_threshold)
1484 (memory_full_cons_threshold): Revert to global.
1485 (maybe_gc): Remove.
1486
14872012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
1488
1489 Simple wrapper for make_unibyte_string, adjust font_open_by_name.
1490 * lisp.h (build_unibyte_string): New function.
1491 * dosfns.c, fileio.c, fns.c, ftfont.c, process.c:
1492 * sysdep.c, w32fns.c, xfns.c: Use it.
1493 * font.c (font_open_by_name): Change 2nd and 3rd args to the only arg
1494 of type Lisp_Object to avoid redundant calls to make_unibyte_string.
1495 Adjust users accordingly.
1496 * font.h (font_open_by_name): Adjust prototype.
1497
14982012-07-20 Dmitry Antipov <dmantipov@yandex.ru>
1499
1500 Cleanup calls to Fgarbage_collect.
1501 * lisp.h (maybe_gc): New prototype.
1502 (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
1503 Remove declarations.
1504 * alloc.c (maybe_gc): New function.
1505 (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
1506 Make them static.
1507 * bytecode.c (MAYBE_GC): Use maybe_gc.
1508 * eval.c (eval_sub, Ffuncall): Likewise.
1509 * keyboard.c (read_char): Likewise. Adjust call to maybe_gc
1510 to avoid dependency from auto-save feature.
1511
15122012-07-19 Paul Eggert <eggert@cs.ucla.edu>
1513
1514 * buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'.
1515 (FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from
1516 'for_each_per_buffer_object_at'.
1517 All uses changed. It's better to use upper-case for macros that
1518 cannot be implemented as functions, to give the reader a clue
1519 that they're special.
1520
15212012-07-19 Stefan Monnier <monnier@iro.umontreal.ca>
1522
1523 * alloc.c (Fgarbage_collect): Tweak docstring.
1524
15252012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
1526
1527 Tweak the value returned from Fgarbage_collect again.
1528 * alloc.c (Fgarbage_collect): New return value, as confirmed in
1529 http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html.
1530 Adjust documentation.
1531 (total_vector_bytes): Rename to total_vector_slots, adjust
1532 accounting.
1533 (total_free_vector_bytes): Rename to total_free_vector_slots,
1534 adjust accounting.
1535 (Qstring_bytes, Qvector_slots): New symbols.
1536 (syms_of_alloc): DEFSYM them.
1537
15382012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
1539
1540 Buffer compaction primitive which may be used from Lisp.
1541 * buffer.c (compact_buffer, Fcompact_buffer): New function.
1542 (syms_of_buffer): Register Fcompact_buffer.
1543 * alloc.c (Fgarbage_collect): Use compact_buffer.
1544 * buffer.h (compact_buffer): New prototype.
1545 (struct buffer_text): New member.
1546
15472012-07-19 Dmitry Antipov <dmantipov@yandex.ru>
1548
1549 New macro to iterate over all buffers, miscellaneous cleanups.
1550 * lisp.h (all_buffers): Remove declaration.
1551 * buffer.h (all_buffers): Add declaration, with comment.
1552 (for_each_buffer): New macro.
1553 * alloc.c (Fgarbage_collect, mark_object): Use it.
1554 * buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte)
1555 (init_buffer): Likewise.
1556 * data.c (Fset_default): Likewise.
1557 * coding.c (code_conversion_restore): Remove redundant check
1558 for dead buffer.
1559 * buffer.c (Fkill_buffer): Likewise. Remove obsolete comment.
1560
15612012-07-18 Andreas Schwab <schwab@linux-m68k.org>
1562
1563 Fix bug that created negative-length intervals.
1564 * intervals.c (merge_interval_right, merge_interval_left):
1565 Do not zero out this interval if it is absorbed by its children,
1566 as this interval's total length doesn't change in that case. See
1567 <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00403.html>.
1568
15692012-07-18 Paul Eggert <eggert@cs.ucla.edu>
1570
1571 * alloc.c (Fmake_bool_vector): Fix off-by-8 bug
1572 when invoking (make-bool-vector N t) and N is a positive
1573 multiple of 8 -- the last 8 bits were mistakenly cleared.
1574
1575 Remove some struct layout assumptions in bool vectors.
1576 * alloc.c (bool_header_size): New constant.
1577 (header_size, word_size): Move earlier, as they're now used earlier.
1578 Use 'word_size' in a few more places, where it's appropriate.
1579 (Fmake_bool_vector, sweep_vectors): Don't assume that there is no
1580 padding before the data member of a bool vector.
1581 (sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather
1582 than doing the check by hand with an abort ().
1583
15842012-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
1585
1586 * eval.c (Fdefvar): Don't check constants since we only set the var if
1587 it's not yet defined anyway (bug#11904).
1588
1589 * lisp.h (last_undo_boundary): Declare new var.
1590 * keyboard.c (command_loop_1): Set it.
1591 * cmds.c (Fself_insert_command): Use it to only remove boundaries that
1592 were auto-added by the command loop (bug#11774).
1593
15942012-07-18 Andreas Schwab <schwab@linux-m68k.org>
1595
1596 * w32font.c (Qsymbol): Remove local definition.
1597 (syms_of_w32font): Don't DEFSYM it.
1598
15992012-07-18 Dmitry Antipov <dmantipov@yandex.ru>
1600
1601 Fix sweep_vectors to handle large bool vectors correctly.
1602 * alloc.c (sweep_vectors): Account total_vector_bytes for
1603 bool vectors larger than VBLOCK_BYTES_MAX.
1604
16052012-07-18 Chong Yidong <cyd@gnu.org>
1606
1607 * frame.c (x_set_frame_parameters): Revert bogus change introduced
1608 in 2012-05-25 commit by Paul Eggert (Bug#11738).
1609
16102012-07-18 Dmitry Antipov <dmantipov@yandex.ru>
1611
1612 Return more descriptive data from Fgarbage_collect.
1613 Suggested by Stefan Monnier in
1614 http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
1615 * alloc.c (bounded_number): New function.
1616 (total_buffers, total_vectors): New variable.
1617 (total_string_size): Rename to total_string_bytes, adjust users.
1618 (total_vector_size): Rename to total_vector_bytes, adjust users.
1619 (sweep_vectors): Account total_vectors and total_vector_bytes.
1620 (Fgarbage_collect): New return value. Adjust documentation.
1621 (gc_sweep): Account total_buffers.
1622 (Fmemory_free, Fmemory_use_counts): Use bounded_number.
1623 (VECTOR_SIZE): Remove.
1624 * data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
1625 (Qinterval, Qmisc): New symbols.
1626 (syms_of_data): Initialize them.
1627 * lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
1628 (Qcons, Qbuffer): New declarations.
1629
16302012-07-17 Paul Eggert <eggert@cs.ucla.edu>
1631
1632 * alloc.c (Fmemory_free): Account for memory-free's own storage.
1633 Round up, not down. Improve doc.
1634
16352012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
1636
1637 Restore old code in allocate_string_data to avoid Faset breakage.
1638 Reported by Julien Danjou <julien@danjou.info> in
1639 http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00371.html.
1640 * alloc.c (allocate_string_data): Restore old code with minor
1641 adjustments, fix comment to explain this subtle issue.
1642
16432012-07-17 Eli Zaretskii <eliz@gnu.org>
1644
1645 Remove FILE_SYSTEM_CASE.
1646 * s/msdos.h (FILE_SYSTEM_CASE): Don't define.
1647
1648 * fileio.c (FILE_SYSTEM_CASE): Don't define.
1649 (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
1650 Fixes problems on MS-DOS with Vtemp_file_name_pattern when
1651 call-process-region passes it through expand-file-name.
1652
1653 * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
1654
16552012-07-17 Andreas Schwab <schwab@linux-m68k.org>
1656
1657 Fix crash when creating indirect buffer (Bug#11917)
1658 * buffer.c (buffer_lisp_local_variables): Add argument CLONE.
1659 Don't handle unbound variables specially if non-zero.
1660 (Fbuffer_local_variables): Pass zero.
1661 (clone_per_buffer_values): Pass non-zero.
1662
16632012-07-17 Andreas Schwab <schwab@linux-m68k.org>
1664
1665 * gnutls.c (emacs_gnutls_handshake): Revert last change. Add QUIT
1666 to make the loop interruptible.
1667
16682012-07-17 Andreas Schwab <schwab@linux-m68k.org>
1669
1670 * gnutls.c (emacs_gnutls_handshake): Only retry if
1671 GNUTLS_E_INTERRUPTED.
1672
16732012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
1674
1675 Cleanup and convert miscellaneous checks to eassert.
1676 * alloc.c (mark_interval): Fix comment, partially rephrase
1677 old comment from intervals.h (see below).
1678 * intervals.c (find_interval, adjust_intervals_for_insertion)
1679 (delete_interval, adjust_intervals_for_deletion)
1680 (graft_intervals_into_buffer, temp_set_point_both, copy_intervals):
1681 Convert to eassert.
1682 (adjust_intervals_for_insertion, make_new_interval):
1683 Remove obsolete and unused code.
1684 * intervals.h (struct interval): Remove obsolete comment.
1685 * textprotp.c (erase_properties): Remove unused code.
1686 (Fadd_text_properties, set_text_properties_1, Fremove_text_properties)
1687 (Fremove_list_of_text_properties): Convert to eassert.
1688
16892012-07-17 Chong Yidong <cyd@gnu.org>
1690
1691 * editfns.c (Finsert_char): Doc fix.
1692
16932012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
1694
1695 Fix previous change to make Fmemory_free always accurate.
1696 * alloc.c (make_interval): Update total_free_intervals.
1697 (make_float): Likewise for total_free_floats.
1698 (free_cons, Fcons): Likewise for total_free_conses.
1699 (SETUP_ON_FREE_LIST, allocate_vector_from_block):
1700 Likewise for total_free_vector_bytes.
1701 (Fmake_symbol): Likewise for total_free_symbols.
1702 (bytes_free): Remove.
1703
17042012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
1705
1706 Simple free memory accounting feature.
1707 * alloc.c (bytes_free, total_free_vector_bytes): New variable.
1708 (sweep_vectors): Accumulate size of free vectors.
1709 (Fgarbage_collect): Setup bytes_free.
1710 (Fmemory_free): New function.
1711 (syms_of_alloc): Register it.
1712
17132012-07-17 Dmitry Antipov <dmantipov@yandex.ru>
1714
1715 Cleanup overlays checking.
1716 * buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP.
1717 * buffer.c (overlay_touches_p, recenter_overlay_lists): Change to
1718 eassert and OVERLAYP.
1719 (sort_overlays): Change to use OVERLAYP.
1720
17212012-07-16 René Kyllingstad <Rene@Kyllingstad.com> (tiny change)
1722
1723 * editfns.c (Finsert_char): Make it interactive, and make the
1724 second arg optional. Copy interactive spec and docstring from
1725 ucs-insert.
1726
17272012-07-17 Paul Eggert <eggert@cs.ucla.edu>
1728
1729 * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913).
1730 Unlike the other wrapped functions, fabs has an unspecified
1731 effect on errno.
1732
12012-07-16 Jan Djärv <jan.h.d@swipnet.se> 17332012-07-16 Jan Djärv <jan.h.d@swipnet.se>
2 1734
3 * nsterm.m (keyDown): Interpret flags without left/right bits 1735 * nsterm.m (keyDown): Interpret flags without left/right bits
@@ -197,7 +1929,7 @@
197 1929
1982012-07-13 Glenn Morris <rgm@gnu.org> 19302012-07-13 Glenn Morris <rgm@gnu.org>
199 1931
200 * s/bsd-common, s/cygwin.h: Remove empty files. 1932 * s/bsd-common.h, s/cygwin.h: Remove empty files.
201 * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h. 1933 * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h.
202 1934
203 * s/usg5-4-common.h (USG, USG5): 1935 * s/usg5-4-common.h (USG, USG5):
@@ -331,8 +2063,8 @@
331 * lisp.h (intern, intern_c_string): Redefine as static inline 2063 * lisp.h (intern, intern_c_string): Redefine as static inline
332 wrappers for intern_1 and intern_c_string_1, respectively. 2064 wrappers for intern_1 and intern_c_string_1, respectively.
333 (intern_1, intern_c_string_1): Rename prototypes. 2065 (intern_1, intern_c_string_1): Rename prototypes.
334 * lread.c (intern_1, intern_c_string_1, oblookup): Simplify 2066 * lread.c (intern_1, intern_c_string_1, oblookup):
335 Vobarray checking. 2067 Simplify Vobarray checking.
336 * font.c (font_intern_prop): Likewise. Adjust comment. 2068 * font.c (font_intern_prop): Likewise. Adjust comment.
337 * w32font.c (intern_font_name): Likewise. 2069 * w32font.c (intern_font_name): Likewise.
338 2070
@@ -401,8 +2133,8 @@
401 2133
402 Avoid calls to strlen in font processing functions. 2134 Avoid calls to strlen in font processing functions.
403 * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname) 2135 * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname)
404 (font_open_by_name): Change to use length argument. Adjust 2136 (font_open_by_name): Change to use length argument.
405 users accordingly. 2137 Adjust users accordingly.
406 * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd): 2138 * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd):
407 Adjust prototypes. 2139 Adjust prototypes.
408 * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd): 2140 * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd):
@@ -534,8 +2266,8 @@
534 srclen argument and return the length of result. Adjust users 2266 srclen argument and return the length of result. Adjust users
535 accordingly. 2267 accordingly.
536 (directory_file_name): Fix comment. Change to add srclen argument, 2268 (directory_file_name): Fix comment. Change to add srclen argument,
537 swap 1st and 2nd arguments to obey the common convention. Adjust 2269 swap 1st and 2nd arguments to obey the common convention.
538 users accordingly. 2270 Adjust users accordingly.
539 * filelock.c (fill_in_lock_file_name): Avoid calls to strlen. 2271 * filelock.c (fill_in_lock_file_name): Avoid calls to strlen.
540 2272
5412012-07-10 Glenn Morris <rgm@gnu.org> 22732012-07-10 Glenn Morris <rgm@gnu.org>
@@ -699,8 +2431,8 @@
699 Support truncation and continuation glyphs on GUI frames, when 2431 Support truncation and continuation glyphs on GUI frames, when
700 fringes are disabled. (Bug#11832) 2432 fringes are disabled. (Bug#11832)
701 * xdisp.c (init_iterator): Get dimensions of truncation and 2433 * xdisp.c (init_iterator): Get dimensions of truncation and
702 continuation glyphs even if on GUI frames. Adjust 2434 continuation glyphs even if on GUI frames.
703 it->last_visible_x on GUI frames when the left or right fringes, 2435 Adjust it->last_visible_x on GUI frames when the left or right fringes,
704 or both, are absent. 2436 or both, are absent.
705 (start_display, move_it_in_display_line_to): Handle the case of a 2437 (start_display, move_it_in_display_line_to): Handle the case of a
706 GUI frame without a fringe to display continuation or truncation 2438 GUI frame without a fringe to display continuation or truncation
@@ -1150,8 +2882,8 @@
1150 2882
1151 Fix block vector allocation code to allow VECTOR_BLOCK_SIZE 2883 Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
1152 values which aren't power of 2. 2884 values which aren't power of 2.
1153 * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro. Verify 2885 * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.
1154 it's value and the value of VECTOR_BLOCK_SIZE. Adjust users 2886 Verify it's value and the value of VECTOR_BLOCK_SIZE. Adjust users
1155 accordingly. 2887 accordingly.
1156 2888
11572012-07-03 Stefan Monnier <monnier@iro.umontreal.ca> 28892012-07-03 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -1205,8 +2937,8 @@
1205 * alloc.c (mark_buffer): Simplify. Remove prototype. 2937 * alloc.c (mark_buffer): Simplify. Remove prototype.
1206 (mark_object): Add comment. Reorganize marking of vector-like 2938 (mark_object): Add comment. Reorganize marking of vector-like
1207 objects. Use CHECK_LIVE for all vector-like objects except buffers 2939 objects. Use CHECK_LIVE for all vector-like objects except buffers
1208 and subroutines when GC_CHECK_MARKED_OBJECTS is defined. Avoid 2940 and subroutines when GC_CHECK_MARKED_OBJECTS is defined.
1209 redundant calls to mark_vectorlike for bool vectors. 2941 Avoid redundant calls to mark_vectorlike for bool vectors.
1210 2942
12112012-06-30 Glenn Morris <rgm@gnu.org> 29432012-06-30 Glenn Morris <rgm@gnu.org>
1212 2944
@@ -8650,7 +10382,7 @@
8650 10382
8651 * Makefile.in (SETTINGS_LIBS): Fix typo. 10383 * Makefile.in (SETTINGS_LIBS): Fix typo.
8652 10384
86532011-07-01 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny patch) 103852011-07-01 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
8654 10386
8655 * coding.c (Fencode_coding_string): Record the last coding system 10387 * coding.c (Fencode_coding_string): Record the last coding system
8656 used, as the function doc string says (bug#8738). 10388 used, as the function doc string says (bug#8738).