1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 11:21:04 -08:00
Commit graph

234 commits

Author SHA1 Message Date
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Juanma Barranquero
3c51b96b4a src/makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update. 2013-07-09 11:53:00 +02:00
Stefan Monnier
6e911150d0 Use just DOC instead of DOC-nn.mm.
* lisp/loadup.el: Just use unversioned DOC.
* Makefile.in (install-doc): DOC file is not version specific any more.
* .bzrignore: Don't ignore DOC-* any more.
* admin/quick-install-emacs: Don't prune DOC-* files a any more.
* doc/lispref/loading.texi (Autoload):
* doc/lispref/help.texi (Documentation Basics, Accessing Documentation)
(Accessing Documentation, Accessing Documentation): DOC-* is now DOC.
* etc/.gitignore: Don't ignore DOC-* any more.
* lib-src/makefile.w32-in ($(DOC)): Use DOC rather than DOC-X.
* msdos/sed1x.inp: Don't rewrite DOC any more.
* nt/makefile.w32-in (clean, top-distclean): DOC-X doesn't exist any more.
* src/Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
* src/makefile.w32-in (DOC): Use just "DOC".
2013-05-15 16:12:53 -04:00
Juanma Barranquero
d901fc8d6f src/makefile.w32-in (ACL_H): New macro.
($(BLD)/fileio.$(O)): Update dependencies.
2013-05-08 18:21:19 +02:00
Juanma Barranquero
1921c31bb9 src/makefile.w32-in: Update dependencies. 2013-03-29 04:03:19 +01:00
Eli Zaretskii
343a2aefb5 Implement CLASH_DETECTION for MS-Windows.
src/filelock.c [WINDOWSNT]: Include w32.h.
 (MAKE_LOCK_NAME): Don't use 'lock', it clashes with MS runtime
 function of that name.  Up-case the macro arguments.
 (IS_LOCK_FILE): New macro.
 (fill_in_lock_file_name): Use IS_LOCK_FILE instead of S_ISLNK.
 (create_lock_file): New function, with body extracted from
 lock_file_1.
 [WINDOWSNT]: Implement lock files by writing a regular file with
 the lock information as its contents.
 (read_lock_data): New function, on Posix platforms just calls
 emacs_readlinkat.
 [WINDOWSNT]: Read the lock info from the file.
 (current_lock_owner): Call read_lock_data instead of calling
 emacs_readlinkat directly.
 (lock_file) [WINDOWSNT]: Run the file name through
 dostounix_filename.
 src/w32proc.c (sys_kill): Support the case of SIG = 0, in which case
 just check if the process by that PID exists.
 src/w32.c (sys_open): Don't reset the _O_CREAT flag if _O_EXCL is
 also present, as doing so will fail to error out if the file
 already exists.
 src/makefile.w32-in ($(BLD)/filelock.$(O)): Depend on src/w32.h.

 nt/inc/ms-w32.h (BOOT_TIME_FILE): Define.
 nt/config.nt (CLASH_DETECTION): Define to 1.

 lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Reject files
 that match "\`\.#", to avoid compiling lock files, even if they
 are readable (as they are on MS-Windows).

 doc/emacs/files.texi (Interlocking): Don't refer to symlinks as the
 exclusive means of locking files.

 etc/NEWS: Mention support for lock files on MS-Windows.
2013-02-25 19:36:03 +02:00
Paul Eggert
1ddc2bd6ff Simplify data_start configuration.
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
2013-02-24 21:55:37 -08:00
Juanma Barranquero
45b2b76861 src/makefile.w32-in: Update dependencies. 2013-02-13 01:50:38 +01:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Juanma Barranquero
8725c07695 src/makefile.w32-in: Update depencencies. 2012-12-17 21:59:04 +01:00
Eli Zaretskii
7e90af2674 Fix compilation warnings in the Windows build.
src/editfns.c [HAVE_PWD_H]: Include grp.h.
 src/makefile.w32-in ($(BLD)/editfns.$(O)): Add $(NT_INC)/grp.h.
2012-12-14 21:43:12 +02:00
Juanma Barranquero
0eeb69fe15 (lib-src,src,lib)/makefile.w32-in: Update dependencies. 2012-12-11 03:06:53 +01:00
Eli Zaretskii
3907e630a7 Merge from trunk + rename the event. Not tested yet. 2012-12-10 14:08:02 +02:00
Eli Zaretskii
a879f0eaae Fix bug #12955 with building under MSYS Bash.
src/makefile.w32-in (globals.h, gl-stamp): Use $(SWITCHCHAR) instead
 of a literal "/".
 (gl-stamp): Invoke fc.exe directly, not through cmd.
2012-11-23 10:47:34 +02:00
Paul Eggert
95ef7787fb Assume POSIX 1003.1-1988 or later for dirent.h.
* admin/CPP-DEFINES (HAVE_CLOSEDIR, HAVE_DIRENT_H): Remove.
* admin/notes/copyright: Adjust to src/ndir.h -> nt/inc/dirent.h renaming.
* configure.ac: Do not check for dirent.h or closdir.
* nt/inc/dirent.h: Rename from ../src/ndir.h, with these changes:
(struct dirent): Rename from struct direct.  All uses changed.
* nt/inc/sys/dir.h: Remove.
* src/dired.c: Assume HAVE_DIRENT_H.
(NAMLEN): Remove, replacing with ...
(dirent_namelen): New function.  All uses changed.  Use the GNU macro
_D_EXACT_NAMELEN if available, as it's faster than strlen.
(DIRENTRY): Remove, replacing all uses with 'struct dirent'.
(DIRENTRY_NONEMPTY): Remove.  All callers now assume it's nonzero.
* src/makefile.w32-in (DIR_H): Remove.  All uses replaced with
$(NT_INC)/dirent.h.
($(BLD)/w32.$(O)): Do not depend on $(SRC)/ndir.h.
* src/ndir.h: Rename to ../nt/inc/dirent.h.
* src/sysdep.h (closedir) [!HAVE_CLOSEDIR]: Remove.
Do not include <dirent.h>; no longer needed.
* src/w32.c: Include <dirent.h> rather than "ndir.h".

Fixes: debbugs:12958
2012-11-22 23:48:43 -08:00
Juanma Barranquero
a75ce9d3fd lib-src/makefile.w32-in, src/makefile.w32-in: Update dependencies.
* lib-src/makefile.w32-in (SYSWAIT_H): New macro.
($(BLD)/movemail.$(O)): Update dependencies.

* src/makefile.w32-in (SYSWAIT_H): New macro.
($(BLD)/callproc.$(O), $(BLD)/w32proc.$(O), $(BLD)/process.$(O))
($(BLD)/sysdep.$(O)): Update dependencies.
2012-11-18 00:16:24 +01:00
Eli Zaretskii
cf2d22b874 Merge from trunk. 2012-11-17 20:00:16 +02:00
Juanma Barranquero
b72c161c5b src/makefile.w32-in: Update dependencies. 2012-11-15 17:21:50 +01:00
Eli Zaretskii
3c4ca71552 Merge from trunk. 2012-11-13 16:17:18 +02:00
Juanma Barranquero
3966138251 lib/makefile.w32-in, src/makefile.w32-in: Trivial reordering of entries. 2012-11-06 16:29:49 +01:00
Eli Zaretskii
c8e3a9c3db Fix bug #12805 with compilation error in the cygw32 build.
src/makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(NT_INC)/unistd.h.
 src/w32fns.c Include unistd.h, to avoid compiler warnings on Cygwin.
 (emacs_abort) [CYGWIN]: Don't call _open_osfhandle; instead, use
 file descriptor 2 for standard error.
2012-11-05 18:30:45 +02:00
Eli Zaretskii
8cd879af4a Merge from trunk. 2012-10-17 23:07:59 +02:00
Eli Zaretskii
a68089e4a4 Fix warnings when compiling on MS-Windows with -std=gnu99.
src/makefile.w32-in ($(BLD)/w32.$(O)): 
 ($(BLD)/vm-limit.$(O)): 
 ($(BLD)/term.$(O)): 
 ($(BLD)/unexw32.$(O)): 
 ($(BLD)/fileio.$(O)): 
 ($(BLD)/dispnew.$(O)): Update dependencies.
 src/w32term.h (w32_initialize_display_info, initialize_w32_display):
 Add prototypes.
 src/w32proc.c: Include ctype.h.
 src/w32.h (init_environment, check_windows_init_file)
 (syms_of_ntproc, syms_of_ntterm, dostounix_filename)
 (unixtodos_filename, init_winsock, srandom, random, sys_pipe)
 (set_process_dir, sys_spawnve, register_child, sys_sleep, getwd)
 (sys_link): Add prototypes.
 src/w32.c: Include w32select.h.
 (sys_access, e_malloc, sys_select): Add prototypes.
 (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval.
 src/vm-limit.c [WINDOWSNT]: Include w32heap.h.
 src/unexw32.c: Include lisp.h and w32.h.
 src/term.c [WINDOWSNT]: Include w32term.h.
 src/process.c [WINDOWSNT]: Add prototype of sys_select.
 src/fileio.c [WINDOWSNT]: Include w32.h.
 src/dispnew.c [WINDOWSNT]: Include w32.h.

 nt/inc/pwd.h (getuid, geteuid): Add prototypes.
 nt/inc/ms-w32.h (sys_wait, _getpid, gmtgime_r, localtime_r)
 (signal_handler, sys_signal, sigemptyset, sigfillset, sigprocmask)
 (pthread_sigmask, sigismember, setpgrp, sigaction, alarm)
 (sys_kill, getpagesize): Add prototypes for emulated functions.
 nt/inc/grp.h (getgid, getegid): Add prototypes.
 nt/gmake.defs (DEBUG_CFLAGS) [NOOPT]: Add -std=gnu99.
 nt/configure.bat (chkapiN): Avoid compiler warning in junk.c when
 compiling with -std=gnu99.
 nt/config.nt (CHECK_LISP_OBJECT_TYPE): Don't undef, so that it
 could be used via --cflags switch to configure.bat.
2012-10-17 21:02:44 +02:00
Eli Zaretskii
dd8c2f5ade Merge from trunk. 2012-10-14 10:03:16 +02:00
Juanma Barranquero
c40239dff9 src/makefile.w32-in ($(BLD)/w32select.$(O)): Update dependencies. 2012-10-12 18:32:40 +02:00
Eli Zaretskii
2a9f109915 Update dependencies in src/makefile.w32-in.
src/makefile.w32-in ($(BLD)/fileio.$(O)): Add sys/file.h.
2012-10-12 17:22:50 +02:00
Eli Zaretskii
0dc9ee4ada Merge from trunk. 2012-10-12 11:45:45 +02:00
Juanma Barranquero
29f21cdf23 src/makefile.w32-in: Update dependencies. 2012-10-10 17:59:49 +02:00
Eli Zaretskii
b97f22cdad Merge from trunk. 2012-10-09 20:28:06 +02:00
Juanma Barranquero
46979e0b4e src/makefile.w32-in: Update dependencies. 2012-10-08 16:37:04 +02:00
Juanma Barranquero
fd5125adfe nt/config.nt: Sync with autogen/config.in.
(HAVE_NTGUI): New macro.

src/makefile.w32-in (LOCAL_FLAGS): Don't define HAVE_NTGUI,
it's now in nt/config.nt.
2012-10-08 16:14:22 +02:00
Eli Zaretskii
eb3abb6141 Merge from trunk after addition of w32common.h. 2012-10-08 15:36:06 +02:00
Eli Zaretskii
15c720a360 Fix w32 dependencies due to introduction of w32common.h.
src/makefile.w32-in ($(BLD)/unexw32.$(O)): 
 ($(BLD)/w32.$(O)): 
 ($(BLD)/w32console.$(O)): 
 ($(BLD)/w32fns.$(O)): 
 ($(BLD)/w32heap.$(O)): 
 ($(BLD)/w32menu.$(O)): 
 ($(BLD)/w32proc.$(O)): Add w32common.h.
2012-10-08 15:31:14 +02:00
Eli Zaretskii
7014794467 Merge from trunk after cygw32 commit, and resolve conflicts. 2012-10-08 15:06:31 +02:00
Eli Zaretskii
c54ebba4e0 Update w32 dependencies in the wake of cygw32 changes.
src/makefile.w32-in (FONT_H): Add $(FRAME_H).
 (W32TERM_H): Add $(ATIMER_H) and $(FRAME_H).
 ($(BLD)/emacs.$(O), $(BLD)/w32console.$(O)): Update dependencies.
 (GLOBAL_SOURCES): Add cygw32.c.

 lib-src/makefile.w32-in (obj): Add cygw32.o.
2012-10-08 14:21:04 +02:00
Eli Zaretskii
477f1e5044 Initial version of the w32notify code.
Adding and removing a watch seems to work: a new thread is launched
when a watch is added and exits when the watch is removed.
But there are no notifications, so it seems.  At least, the Lisp
callback function passed to w32notify-add-watch is not called.
2012-10-06 20:02:31 +02:00
Juanma Barranquero
81550bf43d src/makefile.w32-in ($(BLD)/alloc.$(O), $(BLD)/gmalloc.$(O)): Update dependencies. 2012-10-02 02:08:54 +02:00
Fabrice Popineau
62aba0d497 Support x64 build on MS-Windows with MSVC.
src/w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
 (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
 compatibility with x64.
 src/w32term.c (w32_draw_underwave): Don't use GCC extensions for
 defining an XRectangle structure.
 src/w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
 arithmetics for compatibility with x64.
 src/w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
 compatibility with x64.
 src/w32heap.h: Adjust prototypes and declarations.
 src/w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
 (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
 DWORD, long, and unsigned long, for compatibility with x64.
 (allocate_heap) [_WIN64]: Reserve 32GB of memory.
 (sbrk): Argument is now of type ptrdiff_t.
 src/w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
 less than 0x0500.
 (w32_msg_pump): Use WPARAM type for 'result'.
 src/w32.c (init_environment, get_emacs_configuration): Support AMD64
 architecture.
 (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
 compatibility with x64.
 src/vm-limit.c (lim_data): Now size_t.
 (check_memory_limits): Adjust prototypes of real_morecore and
 __morecore to receive argument of type ptrdiff_t.  Use size_t for
 five_percent and data_size.
 src/unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
 variables, for compatibility with x64.
 (rva_to_section, offset_to_section, relocate_offset)
 (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
 (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
 (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
 for compatibility with x64.
 src/sysdep.c (STDERR_FILENO): Define if not already defined.
 src/ralloc.c (real_morecore): Argument type is now ptrdiff_t.
 (__morecore): Argument type is now ptrdiff_t.
 (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
 (relinquish): Use ptrdiff_t type for 'excess'.
 (r_alloc_sbrk): Argument type is now ptrdiff_t.
 src/makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
 (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
 instead of a literal number.
 src/gmalloc.c [WINDOWSNT]: Include w32heap.h.
 (min): Define only if not already defined.
 src/frame.c (x_report_frame_params): Use EMACS_UINT for the return
 value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
 hosts.
 src/image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
 'bitmaps' is a pointer.
 src/dispextern.h (x_bitmap_pixmap): Adjust prototype.
 src/alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.

 nt/makefile.w32-in ($(TRES)): Use $(EMACS_MANIFEST).
 nt/inc/sys/socket.h: Don't map Winsock error codes to standard ones
 that are already defined.
 nt/inc/ms-w32.h (EMACS_INT, EMACS_UINT, EMACS_INT_MAX, PRIuMAX)
 (pI, _INTPTR) [_MSC_VER]: Fix definitions for MSVC.
 [_MSC_VER]: Add pragmas to suppress some MSVC warnings.
 nt/preprep.c (pfnCheckSumMappedFile, rva_to_section)
 (offset_to_section, relocate_offset, OFFSET_TO_RVA)
 (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
 (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
 (copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): Use
 DWORD_PTR instead of DWORD for compatibility with x64.
 nt/nmake.defs: Support AMD64.
 (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros.
 nt/gmake.defs: (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST):
 New macros.
 nt/addsection.c (pfnCheckSumMappedFile, rva_to_section)
 (offset_to_section, relocate_offset, OFFSET_TO_RVA)
 (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
 (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
 (copy_executable_and_add_section, main): Use DWORD_PTR instead of
 DWORD, for compatibility with x64.
 nt/emacs-x64.manifest: New file.
 nt/emacs-x86.manifest: Renamed from emacs.manifest.

 lib-src/ntlib.c (gettimeofday): Copy from src/w32.c.  lib/gettime. 
 needs this function.
2012-09-30 23:36:42 +02:00
Juanma Barranquero
427730ebde src/makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. 2012-09-30 14:27:58 +02:00
Juanma Barranquero
8e5691a0ec src/makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies. 2012-09-29 19:07:01 +02:00
Juanma Barranquero
6a586b7fe4 Fix some profiler stuff on Windows (follow-up to 1995-03-15T21:55:37Z!kwzh@gnu.org).
* lib-src/makefile.w32-in (obj): Add profiler.o.
* src/makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
2012-09-27 00:04:10 +02:00
Stefan Monnier
3a880af4a7 Merge profiler branch 2012-09-26 11:19:10 -04:00
Juanma Barranquero
611b7507a8 * src/makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c.
($(BLD)/profiler.$(O)): New target.
2012-09-25 23:43:26 -04:00
Juanma Barranquero
b67238c250 src/makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies. 2012-09-26 00:07:22 +02:00
Juanma Barranquero
af0e9f75ea src/makefile.w32-in: Update dependencies. 2012-09-23 20:03:48 +02:00
Juanma Barranquero
2a7931e354 src/makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies. 2012-09-14 03:22:21 +02:00
Juanma Barranquero
776f29e171 src/makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies. 2012-09-05 02:30:14 +02:00
Juanma Barranquero
6c49a40bba src/makefile.w32-in: Update dependencies.
(CCL_H, W32FONT_H): New macros.
(ATIMER_H, FONT_H, $(BLD)/alloc.$(O), $(BLD)/callproc.$(O))
($(BLD)/editfns.$(O), $(BLD)/ccl.$(O), $(BLD)/chartab.$(O))
($(BLD)/coding.$(O), $(BLD)/sysdep.$(O), $(BLD)/fontset.$(O))
($(BLD)/sysdep.$(O), $(BLD)/w32fns.$(O), $(BLD)/keyboard.$(O))
($(BLD)/w32term.$(O), $(BLD)/w32menu.$(O), $(BLD)/process.$(O))
($(BLD)/w32font.$(O), $(BLD)/w32uniscribe.$(O)): Update.
2012-09-02 04:22:33 +02:00
Eli Zaretskii
391ceac53a MS-Windows adaptations for 2012-08-25T04:04:08Z!eggert@cs.ucla.edu and 2012-08-25T04:27:32Z!eggert@cs.ucla.edu.
lib/makefile.w32-in ($(BLD)/execinfo.$(O), execinfo.h): New targets.
 (GNULIBOBJS): Add $(BLD)/execinfo.$(O).
 src/makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h.
2012-08-25 08:55:32 +03:00