1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-01 11:14:55 +00:00
Commit Graph

936 Commits

Author SHA1 Message Date
Paul Eggert
8c13f3d628 * make-docfile.c (search_lisp_doc_at_eol) [DEBUG]: Fix typo,
by removing references to no-longer-existing locals.
2013-05-05 20:32:19 -07:00
Glenn Morris
47d038b3af ChangeLog fixes
2013-03-16 was not the date Emacs 24.3 was released, it was not even
the date on which I merged all changes from that release into trunk.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00990.html
2013-04-03 20:46:25 -07:00
Paul Eggert
b9edfa5c63 Spelling fixes. 2013-04-01 00:58:04 -07:00
Eli Zaretskii
b88b62dec9 Fix more incompatibilities between MinGW.org and MinGW64 headers
Reported by ׃scar Fuentes in
  http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00699.html
and in
  http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00707.html.

 nt/inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS) [_W64]: Define to 1.
 For MinGW64, include sys/types.h and time.h.
 nt/inc/sys/time.h (struct timeval) [!_W64]: Guard definition with _W64.
 (struct timezone) [!_TIMEZONE_DEFINED]: Guard definition with
 _TIMEZONE_DEFINED.
 nt/addpm.c (_WIN32_IE) [_W64]: For MinGW64, don't define to 0x400.
 nt/inc/sys/stat.h: Remove _CRTIMP from prototypes of fstat, stat,
 lstat, and fstatat.

 lib-src/ntlib.c (struct timespec) [!_TIMEZONE_DEFINED]: Define the
 struct only if _TIMEZONE_DEFINED is not defined.

 src/w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
 src/w32.c (REPARSE_DATA_BUFFER): Guard with
 MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
2013-03-26 10:21:27 +02:00
cg
d7158313e2 Fix MSVC compilation problem in lib-src.
lib-src/makefile.w32-in (LIB_SRC): Move before first use.
2013-03-23 17:30:38 +02:00
Stefan Monnier
78be8b6465 Merge from emacs-24 2013-03-16 18:08:22 -04:00
Paul Eggert
47d7532e09 File synchronization fixes.
* 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
2013-03-13 11:42:22 -07:00
Paul Eggert
d9df6f40e3 Static checking by Sun C 5.12.
* lib-src/etags.c (analyse_regex): Omit unreachable code.
* src/alloc.c (buffer_memory_full) [REL_ALLOC]:
* src/bytecode.c (exec_byte_code):
* src/dispnew.c (init_display):
* src/eval.c (error):
* src/fileio.c (Fsubstitute_in_file_name):
* src/keyboard.c (Fevent_convert_list):
* src/keymap.c (Fsingle_key_description):
* src/term.c (maybe_fatal, fatal):
* src/xfns.c (Fx_display_backing_store, Fx_display_visual_class):
* src/xsmfns.c (Fhandle_save_session):
Omit unreachable code.
* src/keymap.c (map_keymap_char_table_item): Cast void * to
a function pointer type; the C Standard requires this.
2013-03-13 00:27:34 -07:00
Paul Eggert
9e3edd30c3 * movemail.c: Don't grant more read permissions than necessary.
The old 0333 dates back to before we called setuid,
so it was needed back then to ensure user-readability,
but 0377 should suffice now.
2013-03-12 18:05:40 -07:00
Paul Eggert
f58afc72bd * movemail.c (main): Call umask on all systems.
This is OK since Emacs already assumes umask elsewhere.
2013-03-12 17:54:47 -07:00
Paul Eggert
b2e37dad68 * pop.c: Fix ERRMAX typo (Bug#13925).
(socket_connection) [!HAVE_KRB5_ERROR_TEXT && HAVE_KRB5_ERROR_E_TEXT]:
Use ERROR_MAX, not ERRMAX.
2013-03-12 15:00:07 -07:00
Glenn Morris
24958590a0 Add 24.3 release to ChangeLogs 2013-03-10 19:35:23 -07:00
Paul Eggert
e70e5000f0 * movemail.c (getenv): Remove decl (unused since 1994). 2013-02-08 15:28:29 -08:00
Paul Eggert
1a353a145d * make-docfile.c (write_globals): Make it a bit clearer.
This pacifies GCC 4.7.2 when Emacs is configured with
--enable-link-time-optimization and --enable-gcc-warnings.

Fixes: debbugs:13448
2013-01-15 13:26:01 -08: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
a19e68ea91 lib-src/makefile.w32-in (lisp1): Add macroexp.elc (bug#13320). 2013-01-01 09:58:46 +01:00
Juanma Barranquero
0eeb69fe15 (lib-src,src,lib)/makefile.w32-in: Update dependencies. 2012-12-11 03:06:53 +01:00
Eli Zaretskii
2b8c906403 Final cleanups and updated ChangeLog entries. 2012-12-10 15:25:17 +02:00
Eli Zaretskii
3907e630a7 Merge from trunk + rename the event. Not tested yet. 2012-12-10 14:08:02 +02:00
Kevin Ryde
1cbaa705e7 * lib-src/etags.c (Lisp_functions): Skip (defvar foo) declarations
unless the --declarations flag is enabled.
(Lisp_help): Update.
(skip_name): New function.

* doc/emacs/maintaining.texi (Tag Syntax): Mention (defvar foo) handling.

* doc/man/etags.1: Mention effect of --declarations in Lisp.

Fixes: debbugs:5600
2012-12-02 09:47:56 +08:00
Kevin Ryde
00054d2199 * lib-src/etags.c (Perl_functions): Support "use constant".
* doc/emacs/maintaining.texi (Tag Syntax): Mention Perl's "use constant".

Fixes: debbugs:5055
2012-12-01 09:22:28 +08:00
Paul Eggert
22626a856b Assume POSIX 1003.1-1988 or later for errno.h.
* lib-src/movemail.c (main): Assume EAGAIN and EBUSY.
* src/dired.c (directory_files_internal, file_name_completion):
Assume EAGAIN and EINTR are defined.
* src/fileio.c (Fcopy_file): Assume EISDIR is defined.
* src/gmalloc.c (ENOMEM, EINVAL): Assume they're defined.
* src/gnutls.c (emacs_gnutls_write): Assume EAGAIN is defined.
* src/lread.c (readbyte_from_file): Assume EINTR is defined.
* src/process.c (wait_reading_process_output, send_process) [subprocesses]:
Assume EIO and EAGAIN are defined.
* src/unexcoff.c (write_segment): Assume EFAULT is defined.

Fixes: debbugs:12968
2012-11-26 21:17:07 -08:00
Paul Eggert
e6bac8768b movemail: treat EACCES etc. failures as permanent
* movemail.c (main): Treat any link failure other than EEXIST as a
permanent failure, not just EPERM.  EACCES, for example.
2012-11-23 00:28:06 -08:00
Paul Eggert
9239d97052 Assume POSIX 1003.1-1988 or later for unistd.h.
* admin/CPP-DEFINES (BROKEN_GETWD, HAVE_GETCWD, HAVE_GETWD, HAVE_SIZE_T)
(HAVE_UNISTD_H): Remove.
* configure.ac: Do not check for getcwd or getwd.
* lib-src/emacsclient.c (getcwd): Remove decl.
(get_current_dir_name): Assume getcwd exists.
* lib-src/etags.c (HAVE_GETCWD): Remove.
(getcwd): Remove decl.
(NO_LONG_OPTIONS): Remove this.  All uses removed.
Emacs always has GNU getopt.
(etags_getcwd): Assume getcwd exists.
* lib-src/movemail.c (F_OK, X_OK, W_OK, R_OK): Remove.
* nt/config.nt (HAVE_GETCWD): Remove.
* src/alloc.c: Assume unistd.h exists.
* src/fileio.c (Fexpand_file_name) [DOS_NT]: Use getcwd, not getwd.
* src/sysdep.c (get_current_dir_name): Assume getcwd exists.
(getwd) [USG]: Remove; no longer needed.
(sys_subshell) [DOS_NT]: Use getcwd, not getwd.
* src/w32.c (getcwd): Rename from getwd, and switch to getcwd's API.
* src/w32.h (getcwd): Remove decl.

Fixes: debbugs:12945
2012-11-21 13:06:52 -08:00
Paul Eggert
a7db35b378 * emacsclient.c (handle_sigcont, handle_sigtstp): Use raise (sig)
rather than kill (getpid (), sig), as it's simpler and safer.
2012-11-20 00:31:19 -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
Paul Eggert
49cdacdad3 Assume POSIX 1003.1-1988 or later for fcntl.h.
* admin/CPP-DEFINES (O_RDONLY, O_RDWR, HAVE_FCNTL_H): Remove.
* admin/merge-gnulib (GNULIB_MODULES): Add fcntl-h.
* configure.ac: Do not check for fcntl.h.
* lib/gnulib.mk: Regenerate.
* lib-src/movemail.c, lib-src/update-game-score.c: Assume <fcntl.h> exists.
* nt/inc/sys/socket.h (O_NONBLOCK): Rename from O_NDELAY, since the
POSIX name for this flag is O_NONBLOCK.  All uses changed.
* nt/inc/unistd.h (O_RDWR, O_NOCTTY): New macros.  Like AT_FDCWD etc.
these really should be moved to a replacement <fcntl.h> if and
when that gets implemented.  In the meantime, include <fcntl.h>
to make sure we don't override its definitions.
* src/callproc.c (relocate_fd): Assume F_DUPFD.
* src/emacs.c, src/term.c (O_RDWR): Remove.
* src/keyboard.c (tty_read_avail_input): Use O_NONBLOCK rather than
O_NDELAY, since O_NONBLOCK is the standard name for this flag.
* src/nsterm.m: Assume <fcntl.h> exists.
* src/process.c (NON_BLOCKING_CONNECT, allocate_pty, create_process)
(create_pty, Fmake_network_process, server_accept_connection)
(wait_reading_process_output, init_process_emacs):
Assume O_NONBLOCK.
(wait_reading_process_output): Put in a special case for WINDOWSNT
to mimick the older behavior where it had O_NDELAY but not O_NONBLOCK.
It's not clear this is needed, but it's a more-conservative change.
(create_process): Assume FD_CLOEXEC.
(create_process, create_pty): Assume O_NOCTTY.
* src/sysdep.c (init_sys_modes, reset_sys_modes): Assume F_SETFL.
(reset_sys_modes): Use O_NONBLOCK rather than O_NDELAY.
Omit if not DOS_NT, since F_GETFL is not defined there.
(serial_open): Assume O_NONBLOCK and O_NOCTTY.
* src/term.c: Include <fcntl.h>, for flags like O_NOCTTY.
(O_NOCTTY): Remove.
(init_tty): Assume O_IGNORE_CTTY is defined to 0 on platforms that
lack it, since gnulib guarantees this.
* src/w32.c (fcntl): Test for O_NONBLOCK rather than O_NDELAY.

Fixes: debbugs:12881
2012-11-17 14:12:47 -08:00
Eli Zaretskii
5ade42a511 Merge from trunk after 24.3 was moved to emacs-24 branch. 2012-11-02 11:00:44 +02:00
Glenn Morris
b75897ba63 * Makefile.in (uninstall): No INSTALLABLES live in archlibdir. 2012-10-26 00:40:51 -07:00
Glenn Morris
eeced60b6c Program name transformations should not be applied to $EXEEXT.
* Makefile.in (EMACS, EMACSFULL):
* lib-src/Makefile.in (install, uninstall):
Transformations should not be applied to $EXEEXT.
2012-10-26 00:39:47 -07:00
Eli Zaretskii
4c77e620ec Update lib-src/makefile.w32-in to follow 2012-10-21T01:19:46Z!rgm@gnu.org.
lib-src/makefile.w32-in (lisp2): Add cp51932.el and eucjp-ms.el, to
 follow src/lisp.mk.
2012-10-23 19:09:55 +02:00
Glenn Morris
ee7a418df3 Recognize that cp51932.el and eucjp-ms.el are loaded during dumping
* src/lisp.mk (lisp): Add cp51932.el and eucjp-ms.el.

* lib-src/make-docfile.c (scan_lisp_file): Add cp51932.el and eucjp-ms.el.
2012-10-20 18:19:46 -07:00
Eli Zaretskii
6d03e7beda Merge from trunk. 2012-10-20 18:17:25 +02:00
Eli Zaretskii
83c85d8e2e Fix last changes in make-docfile.c.
lib-src/make-docfile.c (IS_SLASH, DEF_ELISP_FILE): New macros.
 (scan_lisp_file): Only pass a .el file if its basename matches a
 known file in its entirety.  Use IS_SLASH and DEF_ELISP_FILE.
2012-10-20 17:26:10 +02:00
Eli Zaretskii
71aa63da78 Fix a typo in lib-src/ChangeLog. 2012-10-20 16:56:09 +02:00
Andreas Schwab
cab4f71ebd * make-docfile.c (scan_lisp_file): Add bounds checking. 2012-10-20 15:28:42 +02:00
Eli Zaretskii
87c6b4e6bd Merge from trunk. 2012-10-20 13:49:12 +02:00
Eli Zaretskii
2068905bb7 Fix bug #12395 with doc strings silently omitted from DOC on MS-Windows.
lib-src/make-docfile.c (scan_lisp_file): Barf if called with a .el file
 other than one of a small list of supported un-compiled files.
 lib-src/makefile.w32-in (lisp1, lisp2): Name .elc files wherever they
 exist.

 lisp/loadup.el: Update comment about uncompiled Lisp files.
2012-10-20 12:01:19 +02:00
Eli Zaretskii
9a85d8539c Merge from trunk. 2012-10-17 23:15:03 +02:00
Eli Zaretskii
27067208fd Avoid compiler warnings in lib-src/ntlib.c
src/ntlib.c: Include <mbstring.h>, to avoid compiler warning about
 _mbspbrk.
2012-10-17 23:13:20 +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
Daniel Colascione
e08348a0e6 Changelog entries for cygw32 2012-10-07 23:58:40 -08:00
Eli Zaretskii
c5c91b847a Final version that supports only one watch at a time. 2012-10-07 15:41:15 +02:00
Fabrice Popineau
3d3bfa2489 Make make-docfile.c consistent with src/keyboard.c.
lib-src/make-docfile.c (write_globals): Special-case
 Fexit_recursive_edit and Fabort_recursive_edit as well, as
 functions that are _Noreturn, to be consistent with
 src/keyboard.c.
2012-10-01 16:22:23 +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
41e9b956af Fix ChangeLog typos. 2012-09-27 00:42:54 +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
Glenn Morris
78f83752f5 Reduce the number of versioned files storing the short copyright string
* configure.ac (copyright): New output variable.
(COPYRIGHT): New AC_DEFINE.

* admin/admin.el (set-copyright): No more need to set copyrights for
nextstep, or .c files.  Add configure.ac and config.nt.

* lib-src/ebrowse.c (version):
* lib-src/etags.c (print_version): Use COPYRIGHT.

* nextstep/templates/Info-gnustep.plist.in:
* nextstep/templates/InfoPlist.strings.in:
* nextstep/templates/Info.plist.in: Let configure set copyright.

* nt/config.nt (COPYRIGHT): New.

* src/emacs.c: Use COPYRIGHT.
2012-09-16 17:56:08 -07:00