+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): Renamed 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)