1. 07 Aug, 2012 6 commits
    • Dmitry Antipov's avatar
      Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things. · c644523b
      Dmitry Antipov authored
      * src/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.
      * src/alloc.c, src/buffer.c, src/buffer.h, src/bytecode.c:
      * src/cmds.c, src/data.c, src/doc.c, src/eval.c, src/fns.c:
      * src/keyboard.c, src/lread.c, src/nsselect.m, src/xterm.c:
      Adjust users.
      * src/.gdbinit: Change to use name field of struct Lisp_Symbol
      where appropriate.
      * admin/coccinelle/overlay.cocci, admin/coccinelle/symbol.cocci:
      Remove.
      c644523b
    • Dmitry Antipov's avatar
      Basic functions to set Lisp_Object and pointer slots of intervals. · 6a3d20cc
      Dmitry Antipov authored
      * 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.
      6a3d20cc
    • Dmitry Antipov's avatar
      Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process. · 4d2b044c
      Dmitry Antipov authored
      * 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.
      4d2b044c
    • Dmitry Antipov's avatar
      Drop WGET and revert read access to Lisp_Objects slots of struct window. · d3d50620
      Dmitry Antipov authored
      * 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.
      d3d50620
    • Chong Yidong's avatar
      Check for live frames explicitly in window.c functions which need it. · d10a51dc
      Chong Yidong authored
      * 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.
      
      Fixes: debbugs:12025
      d10a51dc
    • Dmitry Antipov's avatar
      Drop FGET and revert read access to Lisp_Objects slots of struct frame. · e69b0960
      Dmitry Antipov authored
      * 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.
      e69b0960
  2. 06 Aug, 2012 15 commits
  3. 05 Aug, 2012 4 commits
  4. 04 Aug, 2012 5 commits
    • Eli Zaretskii's avatar
      Fix compilation --with-x-toolkit=no. · 8da0576b
      Eli Zaretskii authored
       stc/xfns.c (x_set_menu_bar_lines): Fix compilation error in
       --with-x-toolkit=no builds by using FVAR.
       Reported by Carsten Mattner <carstenmattner@gmail.com>.
      8da0576b
    • Chong Yidong's avatar
      Doc fixes and improvements for syntax tables. · 02676e5d
      Chong Yidong authored
      * src/syntax.c (Fmodify_syntax_entry): Doc fix.
      
      * doc/lispref/syntax.texi (Syntax Basics): Rearrange the text for clarity.
      Fix description of syntax table inheritance.
      (Syntax Table Functions): Don't refer to internal contents of
      syntax table, since that is not explained yet.  Copyedits.
      (Standard Syntax Tables): Node deleted.
      (Syntax Table Internals): Misc clarifications.  Improve table
      formatting.
      
      * doc/lispref/keymaps.texi (Inheritance and Keymaps):
      * doc/lispref/text.texi (Sticky Properties): Tweak index entry.
      02676e5d
    • Eli Zaretskii's avatar
      Fix bug #11959 with startup warnings on MS-Windows about ../site-lisp. · 76151e2c
      Eli Zaretskii authored
       src/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.
       src/w32.h (check_windows_init_file): Add prototype.
       src/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.
       src/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.
       src/lread.c (init_lread): Add comments to #ifdef's.
      
       nt/paths.h (PATH_LOADSEARCH, PATH_SITELOADSEARCH, PATH_EXEC)
       (PATH_DATA, PATH_DOC): Replace dummy directory names with
       directories relative to %emacs_dir%.
       (PATH_EXEC): Add lib-src/oo-spd/i386 and lib-src/oo/i386, to cater
       to the use case of running un-installed Emacs.
      76151e2c
    • Eli Zaretskii's avatar
    • Paul Eggert's avatar
      Export DEFAULT_REHASH_* to GDB. · 185ee146
      Paul Eggert authored
      * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE):
      Now constants, not macros.
      185ee146
  5. 03 Aug, 2012 3 commits
    • Paul Eggert's avatar
      Remove unnecessary casts involving pointers. · 98c6f1e3
      Paul Eggert authored
      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.
      98c6f1e3
    • Paul Eggert's avatar
      Improve fix for macroexp crash with debugging. · 8834c57a
      Paul Eggert authored
      * 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.
      8834c57a
    • Eli Zaretskii's avatar
      Support symlinks on latest versions of MS-Windows. · 6dad7178
      Eli Zaretskii authored
       src/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.
      
       lib/src/ntlib.c (lstat): New function, calls 'stat'.
      
       nt/inc/sys/stat.h (S_IFLNK): Define.
       (S_ISLNK): A non-trivial definition.
       (lstat): Prototype instead of a macro that redirects to 'stat'.
      
       lisp/files.el (file-truename): Don't skip symlink-chasing part on
       windows-nt.  Incorporate the resolution of 8+3 short aliases on
       Windows into the loop that recursively chases symlinks.  Compare
       directory and its parent case-insensitively on MS-Windows and
       MS-DOS.
      
       etc/NEWS: Announce the symlink support on MS-Windows.
      6dad7178
  6. 02 Aug, 2012 7 commits
    • Paul Eggert's avatar
      Fix macroexp crash on Windows with debugging. · 79ea6c20
      Paul Eggert authored
      * 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.
      
      Fixes: debbugs:12118
      79ea6c20
    • Paul Eggert's avatar
      * lisp.h (VALMASK) [!USE_LSB_TAG]: Now a macro · a8333d03
      Paul Eggert authored
      as well as a constant, since it's used in non-static inline functions now.
      a8333d03
    • Paul Eggert's avatar
      c0ce93fd
    • Paul Eggert's avatar
      56adbe62
    • Paul Eggert's avatar
      c71f5156
    • Paul Eggert's avatar
      Use C99-style 'extern inline' if available. · f162bcc3
      Paul Eggert authored
      * lib-src/profile.c (SYSTIME_INLINE): Define.
      * nt/config.nt: Sync with autogen/config.in.
      (_GL_INLINE, _GL_EXTERN_INLINE, _GL_INLINE_HEADER_BEGIN)
      (_GL_INLINE_HEADER_END): New macros.
      * src/buffer.h (BUFFER_INLINE):
      * src/category.h (CATEGORY_INLINE):
      * src/character.h (CHARACTER_INLINE):
      * src/charset.h (CHARSET_INLINE):
      * src/composite.h (COMPOSITE_INLINE):
      * src/dispextern.h (DISPEXTERN_INLINE):
      * src/lisp.h (LISP_INLINE):
      * src/systime.h (SYSTIME_INLINE):
      New macro, replacing 'static inline' in this header.
      * src/buffer.h, src/category.h, src/character.h, src/charset.h:
      * src/composite.h, src/dispextern.h, lisp.h, systime.h:
      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
      * src/alloc.c (LISP_INLINE):
      * src/buffer.c (BUFFER_INLINE):
      * src/category.c (CATEGORY_INLINE):
      * src/character.c (CHARACTER_INLINE):
      * src/charset.c (CHARSET_INLINE):
      * src/composite.c (COMPOSITE_INLINE):
      * src/dispnew.c (DISPEXTERN_INLINE):
      * src/sysdep.c (SYSTIME_INLINE):
      Define to EXTERN_INLINE, so that the corresponding functions
      are compiled into code.
      * src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
      (INLINE_HEADER_END): New macros.
      * src/lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
      since it's used in non-static inline functions now.
      f162bcc3
    • Glenn Morris's avatar
      * src/s/: Remove empty directory. · d66b744d
      Glenn Morris authored
      * make-dist: Remove src/s.
      d66b744d