Revert and cleanup some recent overlay changes.
[bpt/emacs.git] / src / ChangeLog
index 97e4d71..9cd76d2 100644 (file)
@@ -1,3 +1,609 @@
+2012-08-14  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Revert and cleanup some recent overlay changes.
+       * buffer.h (enum overlay_type): Remove.
+       (buffer_get_overlays, buffer_set_overlays): Likewise.
+       (buffer_set_overlays_before, buffer_set_overlays_after):
+       New function.  Adjust users.
+       (unchain_both): Add eassert.
+
+2012-08-14  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate.
+
+2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gtkutil.c (xg_mark_data): Don't assume C99.
+
+2012-08-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_frame_tb_info): New struct.
+       (TB_INFO_KEY): New define.
+       (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present.
+       (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info.
+       (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info
+       if not present.
+       (update_frame_tool_bar): Return early if data in xg_frame_tb_info
+       is up to date. Otherwise store new data.
+       (free_frame_tool_bar): Free xg_frame_tb_info if present.
+
+2012-08-13  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Use KSET for write access to Lisp_Object members of struct kboard.
+       * keyboard.h (KSET): New macro.
+       * callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c:
+       * msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c:
+       * xterm.c: Adjust users.
+
+2012-08-13  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Use BSET for write access to Lisp_Object members of struct buffer.
+       * buffer.h (BSET): New macro.
+       * buffer.c, casetab.c, cmds.c, coding.c, data.c, editfns.c:
+       * fileio.c, frame.c, indent.c, insdel.c, intervals.c, keymap.c:
+       * minibuf.c, print.c, process.c, syntax.c, undo.c, w32fns.c:
+       * window.c, xdisp.c, xfns.c: Adjust users.
+
+2012-08-11  BT Templeton  <bpt@hcoop.net>  (tiny change)
+
+       * lread.c (syms_of_lread): Initialize Vlexical_binding.
+
+2012-08-11  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (not_in_argv): New function.
+       (application:openFile,  application:openTempFile:):
+       (application:openFileWithoutUI:, application:openFiles:): Open file
+       if not_in_argv returns non-zero (bug#12171).
+
+       * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER)
+       (gtk_font_chooser_set_font, gtk_font_chooser_get_font):
+       Define for Gtk+ versions less than 3.2.
+       (xg_get_font_name): Use those functions/macros here.
+       Reported by Frans Oilinki <moilinki@gmail.com>.
+
+2012-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * unexmacosx.c (copy_data_segment): Copy initialized data in
+       statically linked libraries from input file rather than memory.
+
+       * unexmacosx.c (print_load_command_name): Add cases LC_MAIN,
+       LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS.
+       (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data.
+
+2012-08-10  Glenn Morris  <rgm@gnu.org>
+
+       * conf_post.h (IF_LINT, lint_assume): Move here from lisp.h.
+       * lisp.h (IF_LINT, lint_assume): Move to conf_post.h.
+
+2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix last change to allow compilation with low optimization levels.
+       * intervals.c (INTERVALS_INLINE): Define to EXTERN_INLINE.
+       Reported by Jan Djärv <jan.h.d@swipnet.se>.
+
+2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Use common inline syntax in intervals.h.
+       * intervals.h (INTERVALS_INLINE): New macro.
+       Change all users from LISP_INLINE.
+
+2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Define Qnone once for all platforms.
+       * frame.c (Qnone): Define here.
+       (syms_of_frame): DEFSYM it.
+       * lisp.h (Qnone): New declaration.
+       * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c:
+       * xfns.c: Remove duplication.  Adjust users.
+
+2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Remove unused macros from intervals.h.
+       * intervals.h (MERGE_INSERTIONS, DISPLAY_INVISIBLE_GLYPH): Remove.
+       * intervals.c: Adjust comment.
+
+2012-08-10  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c <w32_unicode_gui>: New static variable.
+       (globals_of_w32fns): Initialize it according to os_subtype.
+       (w32_init_class, w32_msg_pump, w32_wnd_proc): Use it instead of
+       testing os_subtype.
+
+2012-08-10  Joakim Hårsman  <joakim.harsman@gmail.com>  (tiny change)
+           Eli Zaretskii  <eliz@gnu.org>
+
+       Fix bug #10299 with Unicode characters sent by customized
+       keyboards created by MSKLC.
+       * w32fns.c (INIT_WINDOW_CLASS): New macro.
+       (w32_init_class): Use it to initialize the Emacs class with either
+       ANSI or Unicode API calls.
+       (w32_msg_pump): Call GetMessageW and DispatchMessageW on NT and
+       later.
+       (w32_wnd_proc): If the character code sent by WM_CHAR or
+       WM_SYSCHAR is above 255, post a WM_UNICHAR message, not the
+       original message.  Call DefWindowProcW on NT and later.
+
+2012-08-10  Glenn Morris  <rgm@gnu.org>
+
+       * Makefile.in (config_h): Fix conf_post.h out-of-tree build location.
+
+       * lisp.h (DIRECTORY_SEP): Let configure set it.
+
+2012-08-09  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Use TSET for write access to Lisp_Object slots of struct terminal.
+       * termhooks.h (TSET): New macro.
+       * coding.c, terminal.c, xselect.c: Adjust users.
+
+2012-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * xdisp.c (safe_eval_handler): Remove prototype.  Receive args describing
+       the failing expression, include them in the error message.
+       * eval.c (internal_condition_case_n): Pass nargs and args to hfun.
+       * lisp.h (internal_condition_case_n): Update declaration.
+
+2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Inline functions to examine and change buffer overlays.
+       * buffer.c (unchain_both): New function.
+       * buffer.h (buffer_get_overlays, buffer_set_overlays):
+       (buffer_has_overlays): New function.
+       (enum overlay_type): New enum.
+       * alloc.c, buffer.c, editfns.c, fileio.c, indent.c:
+       * insdel.c, intervals.c, print.c, xdisp.c: Adjust users.
+
+2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Inline functions to examine and change buffer intervals.
+       * alloc.c (mark_interval_tree): Remove.
+       (MARK_INTERVAL_TREE): Simplify.
+       (UNMARK_BALANCE_INTERVALS): Remove.  Adjust users.
+       * intervals.c (buffer_balance_intervals): New function.
+       (graft_intervals_into_buffer): Adjust indentation.
+       (set_intervals_multibyte): Simplify.
+       * buffer.h (BUF_INTERVALS): Remove.
+       (buffer_get_intervals, buffer_set_intervals): New function.
+       * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c:
+       * intervals.c, textprop.c: Adjust users.
+
+2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Inline functions to examine and change string intervals.
+       * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove.
+       (string_get_intervals, string_set_intervals): New function.
+       * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
+       * lread.c, print.c, textprop.c: Adjust users.
+
+2012-08-08  Glenn Morris  <rgm@gnu.org>
+
+       * lisp.mk (lisp): Remove language/persian.elc.
+
+2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Cleanup intervals.
+       * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove.
+       (NULL_INTERVAL_P): Likewise.  Adjust users.
+       (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P):
+       Adjust comment.  Move under #if 0.
+       * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
+       * print.c, syntax.c, textprop.c, xdisp.c: Adjust users.
+
+2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Check total length of intervals with eassert.
+       * intervals.h (CHECK_TOTAL_LENGTH): Remove.
+       * intervals.c: Change all users to eassert.
+
+2012-08-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * .gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist):
+       Rename fields to match removal of FGET and WGET and disuse of
+       INTERNAL_FIELD in Lisp_Cons.
+
+2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things.
+       * lisp.h (struct Lisp_Symbol): Change xname to meaningful
+       name since all xname users are fixed long time ago.  Do not
+       use INTERNAL_FIELD.
+       (set_symbol_name, set_symbol_function, set_symbol_plist):
+       (set_symbol_next, set_overlay_plist): New function.
+       (struct Lisp_Cons): Do not use INTERNAL_FIELD.
+       (struct Lisp_Overlay): Likewise.
+       (CVAR, MVAR, SVAR): Remove.
+       * alloc.c, buffer.c, buffer.h, bytecode.c, cmds.c, data.c:
+       * doc.c, eval.c, fns.c, keyboard.c, lread.c, nsselect.m:
+       * xterm.c: Adjust users.
+       * .gdbinit: Change to use name field of struct Lisp_Symbol
+       where appropriate.
+
+2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Basic functions to set Lisp_Object and pointer slots of intervals.
+       * intervals.h (interval_set_parent, interval_set_object):
+       (interval_set_left, interval_set_right, interval_set_plist):
+       (interval_copy_parent): New function.
+       (SET_INTERVAL_OBJECT, SET_INTERVAL_PARENT, INTERVAL_PTR_SIZE): Remove.
+       (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE):
+       Adjust indentation.
+       (INTERVAL_SIZE): Remove.  Adjust users.
+       * alloc.c, intervals.c, lread.c, textprop.c: Use new functions.
+
+2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process.
+       * process.h (PGET): Remove.
+       (struct Lisp_Process): Do not use INTERNAL_FIELD.
+       * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
+
+2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Drop WGET and revert read access to Lisp_Objects slots of struct window.
+       * window.h (WGET): Remove.
+       (struct window): Do not use INTERNAL_FIELD.
+       * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
+       * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
+       * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
+       * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
+       * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
+       Adjust users.
+
+2012-08-07  Chong Yidong  <cyd@gnu.org>
+
+       * window.c (Fwindow_edges, Fwindow_pixel_edges)
+       (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal)
+       (Fdelete_window_internal): Signal an error if the window is not on
+       a live frame (Bug#12025).
+
+2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Drop FGET and revert read access to Lisp_Objects slots of struct frame.
+       * frame.h (FGET): Remove.
+       (struct frame): Do not use INTERNAL_FIELD.
+       * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
+       * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
+       * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
+       * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
+
+2012-08-06  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32.c: Silence compiler warnings.
+       (map_w32_filename): Remove unused variable `is_fat'.
+       (chase_symlinks): Add parentheses around expression.
+
+2012-08-06  Glenn Morris  <rgm@gnu.org>
+
+       * sysdep.c: Respect BROKEN_GETWD.
+
+       * dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT):
+       Let configure handle it.
+       (stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it.
+
+2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Use GCALIGNMENT where appropriate.
+       * alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size):
+       (union aligned_Lisp_Symbol, union aligned_Lisp_Misc):
+       (mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT.
+
+2012-08-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32menu.c (set_frame_menubar, initialize_frame_menubar):
+       Don't use FRAME_MENU_BAR_ITEMS as an lvalue.
+
+2012-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * buffer.h (struct buffer): Revert `indirections' to a simple int;
+       that should be sufficient for everyone.
+
+2012-08-06  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * keyboard.c (timer_check_2): Add break so timer_check returns next
+       timeout.
+
+2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix Windows build errors introduced after converting to WGET and WSET.
+       * w32term.c (w32_set_vertical_scroll_bar): Change to use WSET.
+       Reported by Andy Moreton <andrewjmoreton@gmail.com>.
+
+2012-08-06  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (ns_frame_rehighlight): Use FSET.
+
+       * nsmenu.m (ns_update_menubar): Use FSET.
+
+2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Separate read and write access to Lisp_Object slots of Lisp_Process.
+       * process.h (PGET, PSET): New macros similar to AREF and ASET.
+       * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
+
+2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Separate read and write access to Lisp_Object slots of struct window.
+       * window.h (WGET, WSET): New macros similar to AREF and ASET.
+       * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
+       * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
+       * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
+       * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
+       * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
+       Adjust users.
+
+2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix Windows build errors introduced after converting to FGET and FSET.
+       * w32term.c (x_frame_rehighlight, x_scroll_bar_create):
+       (w32_condemn_scroll_bars, w32_redeem_scroll_bar):
+       (w32_judge_scroll_bars): Change to use FSET.
+       Reported by Andy Moreton <andrewjmoreton@gmail.com>.
+
+2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Fix replacement typo.
+       * window.c (replace_window): Set root_window instead of
+       selected_window.  This fixes a total window subsystem
+       malfunction reported by Bastien Guerry <bzg@gnu.org>.
+
+2012-08-06  Glenn Morris  <rgm@gnu.org>
+
+       * lisp.mk (lisp): Add language/persian.elc.
+
+2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Separate read and write access to Lisp_Object slots of struct frame.
+       * frame.h (FGET, FSET): New macros similar to AREF and ASET.
+       * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
+       * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
+       * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
+       * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
+
+2012-08-05  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * emacs.c (decode_env_path): Only use defaulted if WINDOWSNT.
+
+2012-08-05  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Generalize common compile-time constants.
+       * lisp.h (header_size, bool_header_size, word_size): Now here.
+       (struct Lisp_Vector): Add comment.
+       (struct Lisp_Bool_Vector): Move up to define handy constants.
+       (VECSIZE, PSEUDOVECSIZE): Simplify.
+       (SAFE_ALLOCA_LISP): Use new constant.  Adjust indentation.
+       * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c:
+       * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c:
+       * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c:
+       * xfont.c, xmenu.c: Use word_size where appropriate.
+
+2012-08-05  Lawrence Mitchell  <wence@gmx.li>
+
+       * search.c (Freplace_match): Treat \? in the replacement text
+       literally (Bug#8161).
+
+2012-08-05  Chong Yidong  <cyd@gnu.org>
+
+       * term.c (Vsuspend_tty_functions, Vresume_tty_functions):
+       * frame.c (Vdelete_frame_functions):
+       * emacs.c (Vkill_emacs_hook): Doc fix.
+
+2012-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * xfns.c (x_set_menu_bar_lines): Fix compilation error in
+       --with-x-toolkit=no builds.
+       Reported by Carsten Mattner <carstenmattner@gmail.com>.
+
+2012-08-04  Chong Yidong  <cyd@gnu.org>
+
+       * syntax.c (Fmodify_syntax_entry): Doc fix.
+
+2012-08-04  Eli Zaretskii  <eliz@gnu.org>
+
+       Fix startup warnings about ../site-lisp on MS-Windows.  (Bug#11959)
+       * w32.c (init_environment): Change the default values of many
+       environment variables in dflt_envvars[] to NULL, to avoid pushing
+       them into environment when they were not already defined.
+       Remove the code that deletes site-lisp subdirectories from the default
+       value of EMACSLOADPATH, as it is no longer needed.
+       (check_windows_init_file): Now external, not static.
+       Use Vload_path as is, without adding anything, as this function is now
+       called when Vload_path is already set up.
+
+       * w32.h (check_windows_init_file): Add prototype.
+
+       * emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build
+       directory, ignore the /*/i386/ tail in Vinvocation_directory, for
+       compatibility with Posix platforms.
+       (main): Move the call to check_windows_init_file to here from
+       w32.c.
+       (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if
+       any, in the DEFALT argument into the root of the Emacs build or
+       installation tree, as appropriate.
+
+       * callproc.c (init_callproc_1): Call decode_env_path instead of
+       doing its equivalent by hand.
+       (init_callproc): Replace DOS_NT condition with MSDOS, thus letting
+       the code that sets Vexec_path run on MS-Windows.
+
+       * lread.c (init_lread): Add comments to #ifdef's.
+
+       * msdos.c (dos_set_window_size, IT_update_begin)
+       (IT_frame_up_to_date, IT_set_frame_parameters): Use FVAR and WVAR
+       instead of direct references.
+
+2012-08-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Export DEFAULT_REHASH_* to GDB.
+       * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE):
+       Now constants, not macros.
+
+2012-08-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Remove unnecessary casts involving pointers.
+       These casts are no longer needed now that we assume C89 or later,
+       since they involve casting to or from void *.
+       * alloc.c (make_pure_string, make_pure_c_string, pure_cons)
+       (make_pure_float, make_pure_vector):
+       * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP):
+       * macros.c (Fstart_kbd_macro):
+       * menu.c (find_and_return_menu_selection):
+       * minibuf.c (read_minibuf_noninteractive):
+       * sysdep.c (closedir):
+       * xdisp.c (x_produce_glyphs):
+       * xfaces.c (compare_fonts_by_sort_order):
+       * xfns.c (x_real_positions, select_visual):
+       * xselect.c (x_stop_queuing_selection_requests)
+       (x_get_window_property, x_get_window_property_as_lisp_data):
+       * xterm.c (x_set_frame_alpha, x_find_modifier_meanings):
+       Remove unnecessary pointer casts.
+       * alloc.c (record_xmalloc): New function.
+       * lisp.h (record_xmalloc): New decl.
+       (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts
+       more like a function.  This is because the pointer cast is not
+       needed.  All uses changed.
+       * print.c (print_string, print_error_message): Avoid length recalc.
+
+       Improve fix for macroexp crash with debugging (Bug#12118).
+       * lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to
+       ARRAY_MARK_FLAG when checking subscripts, because ASET is
+       not supposed to be invoked from the garbage collector.
+       See Andreas Schwab in <http://bugs.gnu.org/12118#25>.
+       (gc_aset): New function, which is like ASET but can be
+       used in the garbage collector.
+       (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
+       (set_hash_index): Use it instead of ASET.
+
+2012-08-03  Eli Zaretskii  <eliz@gnu.org>
+
+       Support symlinks on latest versions of MS-Windows.
+       * w32.c: Include winioctl.h and aclapi.h.
+       (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
+       (revert_to_self): Forward declarations of static functions.
+       <static BOOL g_b_init_get_security_info>:
+       <g_b_init_create_symbolic_link>: New static flags.
+       (globals_of_w32): Initialize them to zero.
+       (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
+       (map_w32_filename): Improve commentary.  Simplify switch.
+       (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
+       headers (most versions of MinGW w32api don't).
+       (get_security_info, create_symbolic_link)
+       (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
+       New functions.
+       (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
+       in the argument file name.
+       (sys_access): Call unc_volume_file_attributes only if
+       GetFileAttributes fails with network-related error codes.
+       (sys_rename): Diagnose renaming of a symlink when the user doesn't
+       have the required privileges.
+       (get_file_security_desc_by_name): Rename from
+       get_file_security_desc.
+       (stat_worker): New function, with most of the guts of 'stat', and
+       with addition of handling of symlinks and support for 'lstat'.
+       If possible, get file's attributes and security information by
+       handle, not by name.  Produce S_IFLNK bit for symlinks, when
+       called from 'lstat'.
+       (stat, lstat): New functions, call 'stat_worker'.
+       (symlink, readlink, careadlinkat): Rewritten to create and resolve
+       symlinks when the underlying filesystem supports them.
+
+2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix macroexp crash on Windows with debugging (Bug#12118).
+       * lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when
+       checking subscripts; problem introduced with the recent
+       "ASET (a, i, v)" rather than "AREF (a, i) = v" patch.
+       (ARRAY_MARK_FLAG): Now a macro as well as a constant,
+       since it's used in non-static inline functions now.
+
+       * xfaces.c (face_at_buffer_position, face_for_overlay_string):
+       Don't assume buffer size fits in 'int'.  Remove unused local.
+
+       Use C99-style 'extern inline' if available.
+       * buffer.h (BUFFER_INLINE):
+       * category.h (CATEGORY_INLINE):
+       * character.h (CHARACTER_INLINE):
+       * charset.h (CHARSET_INLINE):
+       * composite.h (COMPOSITE_INLINE):
+       * dispextern.h (DISPEXTERN_INLINE):
+       * lisp.h (LISP_INLINE):
+       * systime.h (SYSTIME_INLINE):
+       New macro, replacing 'static inline' in this header.
+       * buffer.h, category.h, character.h, charset.h, composite.h:
+       * dispextern.h, lisp.h, systime.h:
+       Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+       * alloc.c (LISP_INLINE):
+       * buffer.c (BUFFER_INLINE):
+       * category.c (CATEGORY_INLINE):
+       * character.c (CHARACTER_INLINE):
+       * charset.c (CHARSET_INLINE):
+       * composite.c (COMPOSITE_INLINE):
+       * dispnew.c (DISPEXTERN_INLINE):
+       * sysdep.c (SYSTIME_INLINE):
+       Define to EXTERN_INLINE, so that the corresponding functions
+       are compiled into code.
+       * conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
+       (INLINE_HEADER_END): New macros.
+       * lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
+       since it's used in non-static inline functions now.
+       (VALMASK) [!USE_LSB_TAG]: Likewise.
+
+2012-08-02  Glenn Morris  <rgm@gnu.org>
+
+       * s/: Remove empty directory.
+
+       * s/ms-w32.h: Move to ../nt/inc.
+       * makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
+       Update for new ms-w32.h location.
+
+2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to Solaris 8.
+       * syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
+
+2012-08-02  Glenn Morris  <rgm@gnu.org>
+
+       * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than
+       hard-coding the path separator.
+
+2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use "ASET (a, i, v)" rather than "AREF (a, i) = v".
+       This how ASET and AREF are supposed to work, and makes
+       it easier to think about future improvements.  See
+       <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
+       * charset.h (set_charset_attr): New function.
+       All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
+       * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
+       (aref_addr): New function.  All uses of &AREF(...) changed.
+       (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
+       (set_hash_index): New functions.  All lvalue-style uses of
+       HASH_KEY etc. changed.
+       * keyboard.c (set_prop): New function.  All lvalue-style uses
+       of PROP changed.
+
+2012-08-01  Alp Aker  <alp.tekin.aker@gmail.com>
+
+       * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar)
+       (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
+       (EmacsScroller-dealloc):  Adjust to use WVAR.  (Bug#12114)
+       * nsfns.m (ns_set_name_as_filename): Likewise.
+       * nsmenu.m (ns_update_menubar): Likewise.
+       * nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
+
+2012-08-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * .gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym):
+       Adapt to latest changes in field names of the corresponding Lisp
+       objects.
+
+       * xdisp.c (try_window_id): Use WVAR in IF_DEBUG code.
+
+2012-08-01  Glenn Morris  <rgm@gnu.org>
+
+       * s/msdos.h: Remove file.
+       * conf_post.h [MSDOS]: New section, moved from s/msdos.h.
+       * Makefile.in (S_FILE): Remove.
+       (config_h): Remove S_FILE.
+
 2012-08-01  Juanma Barranquero  <lekktu@gmail.com>
 
        * s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
 
        Generalize INTERNAL_FIELD between buffers, keyboards and frames.
        * lisp.h (INTERNAL_FIELD): New macro.
-       * buffer.h (BUFFER_INTERNAL_FIELD): Removed.
+       * buffer.h (BUFFER_INTERNAL_FIELD): Remove.
        (BVAR): Change to use INTERNAL_FIELD.
        * keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
        (KVAR): Change to use INTERNAL_FIELD.
 
        * nsterm.m (ns_do_open_file): New variable.
        (ns_term_init): Set ns_do_open_file to YES after run returns.
-       (openFile, openTempFile, openFileWithoutUI, openFiles): Open
-       files only if ns_do_open_file.
+       (openFile, openTempFile, openFileWithoutUI, openFiles):
+       Open files only if ns_do_open_file.
 
 2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
 
 
 2012-07-29  Eli Zaretskii  <eliz@gnu.org>
 
-       * w32heap.h (OS_9X): Renamed from OS_WINDOWS_95.
+       * w32heap.h (OS_9X): Rename from OS_WINDOWS_95.
 
        * w32heap.c (cache_system_info):
        * w32.c (sys_rename):
 2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
 
        Cleanup statistics calculation in Fgarbage_collect.
-       * alloc.c (Fgarbage_collect): Rename t1 to meaningful start.  Fix
-       zombies percentage calculation.  Simplify elapsed time calculation.
+       * alloc.c (Fgarbage_collect): Rename t1 to meaningful start.
+       Fix zombies percentage calculation.  Simplify elapsed time calculation.
 
 2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
 
 
        Adjust GDB to reflect pvec_type changes (Bug#12036).
        * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
-       2012-07-04 changes to pseudovector representation.  Problem
-       reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
+       2012-07-04 changes to pseudovector representation.
+       Problem reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
 
 2012-07-27  Michael Albinus  <michael.albinus@gmx.de>
 
        for the reasons.
 
        * w32menu.c (add_menu_item): Cast to ULONG_PTR when assigning
-       info.dwItemData.  Fixes crashes on 64-bit Windows.  Suggested by
-       Fabrice Popineau <fabrice.popineau@supelec.fr>.
+       info.dwItemData.  Fixes crashes on 64-bit Windows.
+       Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
 
 2012-07-21  Jan Djärv  <jan.h.d@swipnet.se>
 
        * lisp.h (intern, intern_c_string): Redefine as static inline
        wrappers for intern_1 and intern_c_string_1, respectively.
        (intern_1, intern_c_string_1): Rename prototypes.
-       * lread.c (intern_1, intern_c_string_1, oblookup): Simplify
-       Vobarray checking.
+       * lread.c (intern_1, intern_c_string_1, oblookup):
+       Simplify Vobarray checking.
        * font.c (font_intern_prop): Likewise.  Adjust comment.
        * w32font.c (intern_font_name): Likewise.
 
 
        Avoid calls to strlen in font processing functions.
        * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname)
-       (font_open_by_name): Change to use length argument.  Adjust
-       users accordingly.
+       (font_open_by_name): Change to use length argument.
+       Adjust users accordingly.
        * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd):
        Adjust prototypes.
        * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd):
        srclen argument and return the length of result.  Adjust users
        accordingly.
        (directory_file_name): Fix comment.  Change to add srclen argument,
-       swap 1st and 2nd arguments to obey the common convention.  Adjust
-       users accordingly.
+       swap 1st and 2nd arguments to obey the common convention.
+       Adjust users accordingly.
        * filelock.c (fill_in_lock_file_name): Avoid calls to strlen.
 
 2012-07-10  Glenn Morris  <rgm@gnu.org>
        Support truncation and continuation glyphs on GUI frames, when
        fringes are disabled.  (Bug#11832)
        * xdisp.c (init_iterator): Get dimensions of truncation and
-       continuation glyphs even if on GUI frames.  Adjust
-       it->last_visible_x on GUI frames when the left or right fringes,
+       continuation glyphs even if on GUI frames.
+       Adjust it->last_visible_x on GUI frames when the left or right fringes,
        or both, are absent.
        (start_display, move_it_in_display_line_to): Handle the case of a
        GUI frame without a fringe to display continuation or truncation
 
        Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
        values which aren't power of 2.
-       * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.  Verify
-       it's value and the value of VECTOR_BLOCK_SIZE.  Adjust users
+       * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.
+       Verify it's value and the value of VECTOR_BLOCK_SIZE.  Adjust users
        accordingly.
 
 2012-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
        * alloc.c (mark_buffer): Simplify.  Remove prototype.
        (mark_object): Add comment.  Reorganize marking of vector-like
        objects.  Use CHECK_LIVE for all vector-like objects except buffers
-       and subroutines when GC_CHECK_MARKED_OBJECTS is defined.  Avoid
-       redundant calls to mark_vectorlike for bool vectors.
+       and subroutines when GC_CHECK_MARKED_OBJECTS is defined.
+       Avoid redundant calls to mark_vectorlike for bool vectors.
 
 2012-06-30  Glenn Morris  <rgm@gnu.org>
 
 
        * Makefile.in (SETTINGS_LIBS): Fix typo.
 
-2011-07-01  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny patch)
+2011-07-01  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
 
        * coding.c (Fencode_coding_string): Record the last coding system
        used, as the function doc string says (bug#8738).