+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).