1. 07 Aug, 2012 2 commits
  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 10 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
    • Glenn Morris's avatar
      Move NT-specific include file to the NT include directory · 837b365b
      Glenn Morris authored
      * nt/inc/ms-w32.h: Move here from ../src/s.
      * nt/config.nt (config_opsysfile): Change to <ms-w32.h>.
      
      * s/ms-w32.h: Move to ../nt/inc.
      * src/makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
      Update for new ms-w32.h location.
      
      * lib-src/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.
      
      * lib/makefile.w32-in (MS_W32_H): Update for new ms-w32.h location.
      
      * lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add ms-w32.h.
      837b365b
    • Paul Eggert's avatar
      Port to Solaris 8. · 13294f95
      Paul Eggert authored
      Without this change, 'configure' fails because the recently-added
      wait3 prototype in config.h messes up later 'configure' tests.
      Fix this problem by droping wait3 and WRETCODE, as they're
      no longer needed on hosts that are current porting targets.
      * configure.ac (wait3, WRETCODE): Remove, fixing a FIXME.
      All uses changed to waitpid and WEXITSTATUS.
      * src/syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
      13294f95
    • Glenn Morris's avatar
      * src/nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR · 90df0db3
      Glenn Morris authored
      (rather than hard-coding the path separator).
      90df0db3
  7. 01 Aug, 2012 1 commit
    • Paul Eggert's avatar
      Use "ASET (a, i, v)" rather than "AREF (a, i) = v". · 4939150c
      Paul Eggert authored
      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.
      4939150c