1. 27 May, 2013 1 commit
  2. 18 May, 2013 1 commit
    • Paul Eggert's avatar
      Port --enable-gcc-warnings to clang. · 31ff141c
      Paul Eggert authored
      * configure.ac (nw): Remove obsolescent warnings.
      These aren't needed for clang, or for gcc for that matter.
      (emacs_cv_clang): New var, which tests for clang.
      Omit warnings that clang is too picky about.
      (GLIB_DISABLE_DEPRECATION_WARNINGS): Define this;
      needed for Ubuntu 13.04 + clang + --enable-gcc-warnings.
      * lib-src/etags.c: Omit unnecessary forward decls.
      (print_version, print_help): Declare _Noreturn.
      * lib-src/pop.c (socket_connection) [HAVE_GETADDRINFO]: Simplify.
      * src/bytecode.c (exec_byte_code):
      * src/regex.c:
      Redo diagnostic pragmas to pacify clang, too.
      * src/dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
      * src/editfns.c (Fencode_time):
      * src/fileio.c (file_accessible_directory_p):
      * src/font.c (font_unparse_xlfd):
      Use '&"string"[index]' instead of '"string" + (index)'.
      * src/undo.c (user_error): Remove; unused.
      31ff141c
  3. 13 May, 2013 2 commits
  4. 09 May, 2013 1 commit
    • Jan Djärv's avatar
      Implement display-monitor-attributes-list for NS. · 4465bfb4
      Jan Djärv authored
      * lisp/frame.el (display-monitor-attributes-list): Add NS case.
      (ns-display-monitor-attributes-list): Declare.
      
      * src/nsfns.m: Include IOGraphicsLib.h if Cocoa.
      (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
      (MonitorInfo): New struct.
      (free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
      (Fns_display_monitor_attributes_list): New functions.
      (display-usable-bounds): Remove.
      (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
      Qsource.
      4465bfb4
  5. 07 May, 2013 2 commits
    • Paul Eggert's avatar
      Use Gnulib ACL implementation, for benefit of Solaris etc. · ffdc270a
      Paul Eggert authored
      * configure.ac: Remove -with-acl option, since Gnulib does that for
      us now.
      (LIBACL_LIBS): Remove; no longer needed.
      * lib/Makefile.am (CLEANFILES, SUFFIXES): New (empty) macros,
      for the benefit of the new ACL implementation.
      * lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/acl-errno-valid.$(O).
      ($(BLD)/acl-errno-valid.$(O)): New rule.
      * lib/acl-errno-valid.c, lib/acl-internal.h, lib/acl.h:
      * lib/acl_entries.c, lib/errno.in.h, lib/file-has-acl.c:
      * lib/qcopy-acl.c, lib/qset-acl.c, m4/acl.m4, m4/errno_h.m4:
      New files, taken from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * admin/merge-gnulib (GNULIB_MODULES): Add qacl.
      (GNULIB_TOOL_FLAGS): Do not avoid errno.
      * etc/NEWS: Emacs is no longer limited to POSIX ACLs.  --disable-acl,
      not --without-acl, since we're now using Gnulib's implementation.
      * nt/config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL.
      * nt/inc/ms-w32.h (EOPNOTSUPP): New macro.
      * src/Makefile.in (LIB_ACL): New macro.
      (LIBACL_LIBS): Remove.
      (LIBES): Use LIB_ACL, not LIBACL_LIBS.
      * src/fileio.c: Include <acl.h>.
      Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
      (ACL_NOT_WELL_SUPPORTED): Remove.  All uses replaced by
      !acl_errno_valid.
      (Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
      it ourselves.
      
      Fixes: debbugs:14295
      ffdc270a
    • YAMAMOTO Mitsuharu's avatar
      Add multi-monitor support on X11. · 4e3f9230
      YAMAMOTO Mitsuharu authored
      4e3f9230
  6. 26 Apr, 2013 1 commit
    • Paul Eggert's avatar
      Port better to AIX. · f780d632
      Paul Eggert authored
      * configure.ac (CFLAGS): Append -O if the user did not specify CFLAGS,
      we did not already infer an optimization option, and -O works.
      AIX xlc needs -O, otherwise garbage collection doesn't work.
      * src/lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
      to pacify AIX xlc.
      
      Fixes: debbugs:14258
      f780d632
  7. 23 Apr, 2013 1 commit
  8. 18 Apr, 2013 4 commits
  9. 17 Apr, 2013 1 commit
  10. 14 Apr, 2013 3 commits
  11. 12 Apr, 2013 1 commit
  12. 09 Apr, 2013 1 commit
  13. 07 Apr, 2013 1 commit
    • Paul Eggert's avatar
      Fix --enable-profiling bug introduced by 2013-02-25 change. · 876da980
      Paul Eggert authored
      This bug was introduced by my 2013-02-25 change that simplified
      data_start configuration.  Without this change, on GNU/Linux
      an Emacs configured with --enable-profiling fails immediately
      due to a profiler signal.
      * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Append -pg if profiling
      and if not on GNU/Linux or FreeBSD.
      * lib/Makefile.am (AM_CFLAGS): Add $(PROFILING_CFLAGS), so that
      lib/*.o is profiled too.
      * src/Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
      with these flags.  On platforms where special flags are needed
      when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
      (ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
      (.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
      
      Fixes: debbugs:13783
      876da980
  14. 06 Apr, 2013 1 commit
  15. 01 Apr, 2013 4 commits
  16. 31 Mar, 2013 1 commit
  17. 30 Mar, 2013 2 commits
  18. 29 Mar, 2013 2 commits
  19. 28 Mar, 2013 1 commit
  20. 27 Mar, 2013 1 commit
  21. 25 Mar, 2013 1 commit
  22. 18 Mar, 2013 1 commit
    • Paul Eggert's avatar
      Emacs crashes with ImageMagick 6.8.2-3 through 6.8.3-9. · 19151a7f
      Paul Eggert authored
      * configure.ac (IMAGEMAGICK_MODULE): Reject 6.8.2.
      We want to reject 6.8.2-3 through 6.8.3-9, but there seems to be
      no way to do this in pkg-config, so make do with a reasonable
      approximation.
      * etc/PROBLEMS: Mention problem with ImageMagick 6.8.2-3 through 6.8.3-9.
      
      Fixes: debbugs:13867
      19151a7f
  23. 13 Mar, 2013 1 commit
    • Paul Eggert's avatar
      File synchronization fixes. · 47d7532e
      Paul Eggert authored
      * admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
      * admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
      * configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
      (fsync): Remove check; now done by gnulib.
      * lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4:
      New files, from gnulib.
      * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
      * lib-src/Makefile.in (LIB_FDATASYNC): New macro.
      (emacsclient${EXEEXT}): Use it.
      * lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't
      care about metadata.  Keep trying if interrupted.
      * lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since
      fsync is available everywhere (or there is a substitute).  Don't
      report an error if fsync returns EINVAL.
      * nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii.
      * src/Makefile.in (LIB_FDATASYNC): New macro.
      (LIBES): Use it.
      * src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
      * src/fileio.c (Fwrite_region, write_region_inhibit_fsync):
      Don't worry about HAVE_FSYNC, since a substitute fsync is
      available if the system lacks one.
      (Fwrite_regin): Retry fsync if interrupted.
      
      Fixes: debbugs:13944
      47d7532e
  24. 05 Mar, 2013 3 commits
    • Paul Eggert's avatar
      FILE's lock is now always .#FILE and may be a regular file. · 70743157
      Paul Eggert authored
      * etc/NEWS: Document this.
      * nt/inc/unistd.h (O_NOFOLLOW): New macro.
      * src/filelock.c: Include <c-ctype.h>.
      (MAX_LFINFO): New top-level constant.
      (lock_info_type): Remove members pid, boot_time.  Add members at,
      dot, colon.  Change user member to be the entire buffer, not a
      pointer.  This allows us to handle the case where a foreign
      pid or boot time exceeds the local range.  All uses changed.
      (LINKS_MIGHT_NOT_WORK): New constant.
      (FREE_LOCK_INFO): Remove, as the pieces no longer need freeing.
      (defined_WINDOWSNT): Remove.
      (MAKE_LOCK_NAME, file_in_lock_file_name):
      Always use .#FILE (not .#-FILE) for the file lock,
      even if it is a regular file.
      (rename_lock_file): New function.
      (create_lock_file): Use it.
      (create_lock_file, read_lock_data):
      Prefer a symbolic link for the lock file, falling back on a
      regular file if symlinks don't work.  Do not try to create
      symlinks on MS-Windows, due to security hassles.  Stick with
      POSIXish functions (open, read, write, close, fchmod, readlink, symlink,
      link, rename, unlink, mkstemp) when creating locks, as a GNUish
      host may be using a Windowsish file system, and cannot use
      MS-Windows-only system calls.  Fall back on mktemp if mkstemp
      doesn't work.  Don't fail merely because of a symlink-contents
      length limit in the current file system; fall back on regular
      files.  Increase the symlink contents length limit to 8 KiB, this
      should be big enough for any real use and doesn't crunch the
      stack.
      (create_lock_file, lock_file_1, read_lock_data):
      Simplify allocation of lock file buffers now that they fit in 8 KiB.
      (lock_file_1): Return error number, not bool.  All callers changed.
      (ELOOP): New macro, if not already defined.
      (read_lock_data): Return size of lock file contents, not Lisp object.
      All callers changed.  Handle a race condition if some other process
      replaces a regular-file lock with a symlink lock or vice versa,
      while we're trying to read the lock.
      (current_lock_owner): Parse contents more carefully, to help avoid
      confusing a regular-file lock with some other application's use
      of the file.  Check for lock file contents being too long, or
      not parsing correctly.
      (current_lock_owner, lock_file):
      Allow foreign pid and boot times that exceed the local range.
      (current_lock_owner, lock_if_free, lock_file):
      Simplify allocation of lock file contents.
      * src/w32.c (sys_rename_replace): New function, containing most of
      the contents of the old sys_rename.
      (sys_rename): Use it.
      (fchmod): New dummy function.
      * src/w32.h (sys_rename_replace, fchmod): New decls.
      
      Fixes: debbugs:13807
      70743157
    • Paul Eggert's avatar
      * configure.ac (TERM_HEADER): Remove duplicate definition. · 3b108d19
      Paul Eggert authored
      It can mess up 'configure' runs.
      
      Fixes: debbugs:13872
      3b108d19
    • Glenn Morris's avatar
  25. 28 Feb, 2013 1 commit
  26. 25 Feb, 2013 1 commit
    • Paul Eggert's avatar
      Simplify data_start configuration. · 1ddc2bd6
      Paul Eggert authored
      This is a followon simplification to the fix for Bug#13650.
      * admin/CPP-DEFINES (DATA_START, ORDINARY_LINK): Remove.
      * configure.ac (CRT_DIR, LIB_STANDARD, START_FILES, DATA_START)
      (LD_FIRSTFLAG, ORDINARY_LINK, LIB_GCC): Remove.
      (AC_CHECK_HEADERS_ONCE): Remove sys/resource.h, as it's
      not always needed.
      (HAVE_DATA_START): New macro.
      * etc/PROBLEMS (LIBS_SYSTEM, LIBS_MACHINE, LIBS_STANDARD): Remove.
      Remove legacy-systems section, as this stuff is no longer
      applicable with current linking strategies.
      * src/Makefile.in (LD_FIRSTFLAG, LIB_GCC, CRT_DIR, LIB_STANDARD)
      (START_FILES): Remove.  All uses removed.
      (otherobj): Remove $(VMLIMIT_OBJ), as it's now first.
      (ALLOBJS): Move here from autodeps.mk, and with VMLIMITS_OBJ first.
      (buildobj.h): Use it.
      ($(ALLOBJS)): Depend on globals.h.
      (temacs$(EXEEXT)): Use $(ALLOBJS).
      * src/autodeps.mk (ALLOBJS): Move to Makefile.in.
      * src/deps.mk (vm-limit.o):
      * src/makefile.w32-in ($(BLD)/vm-limit.$(O)):
      Do not depend on mem-limits.h.
      * src/emacs.c (__do_global_ctors, __do_global_ctors_aux)
      (__do_global_dtors, __CTOR_LIST__, __DTOR_LIST__)
      [__GNUC__ && !ORDINARY_LINK]: Remove.
      * src/mem-limits.h, src/pre-crt0.c: Remove.
      * src/unexaix.c, src/unexcoff.c: Don't include mem-limits.h.
      * src/unexcoff.c (etext): New decl.
      (make_hdr): Use it instead of start_of_data.
      * src/vm-limit.c: Move most of mem-limits.h's contents here.
      (data_start): New decl.  It's OK if this is approximate,
      so simplify-away some unnecessary exactness.
      (POINTER): Remove; all uses removed.
      (data_space_start): Now char *, to avoid casts.
      (exceeds_lisp_ptr): New function, replacing the old
      EXCEEDS_LISP_PTR macro.  All uses changed.
      (check_memory_limits): Simplify and remove casts.
      (start_of_data) [!CANNOT_DUMP || !SYSTEM_MALLOC]: Remove.
      (memory_warnings): Use data_start instead of start_of_data.
      
      Fixes: debbugs:13783
      1ddc2bd6