1. 18 Aug, 2012 1 commit
    • Paul Eggert's avatar
      * process.h (PSET): Remove. · 6a09a33b
      Paul Eggert authored
      Replace all uses with calls to new setter functions.
      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
      (PROCESS_INLINE): New macro.
      (pset_childp): New setter function.
      (pset_gnutls_cred_type) [HAVE_GNUTLS]: New setter function.
      * process.c (PROCESS_INLINE):
      Define to EXTERN_INLINE, so that the corresponding functions
      are compiled into code.
      (pset_buffer, pset_command, pset_decode_coding_system)
      (pset_decoding_buf, pset_encode_coding_system)
      (pset_encoding_buf, pset_filter, pset_log, pset_mark, pset_name)
      (pset_plist, pset_sentinel, pset_status, pset_tty_name)
      (pset_type, pset_write_queue): New setter functions.
      
      Fixes: debbugs:12215
      6a09a33b
  2. 07 Aug, 2012 1 commit
  3. 06 Aug, 2012 2 commits
  4. 04 Aug, 2012 1 commit
    • 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
  5. 03 Aug, 2012 1 commit
    • 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. 01 Aug, 2012 1 commit
    • Dmitry Antipov's avatar
      Use INTERNAL_FIELD for processes. · 3193acd2
      Dmitry Antipov authored
      * src/process.h (PVAR): New macro.  Adjust style.
      (struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD.
      * src/print.c, src/process.c, src/sysdep.c, src/w32.c:
      * src/xdisp.c: Users changed.
      * admin/coccinelle/process.cocci: Semantic patch to replace direct
      access to Lisp_Object members of struct Lisp_Process to PVAR.
      3193acd2
  7. 29 Jul, 2012 2 commits
    • Eli Zaretskii's avatar
      Rename OS_WINDOWS_95 to OS_9X. · 417a7a0e
      Eli Zaretskii authored
       src/w32heap.h (OS_9X): Renamed from OS_WINDOWS_95.
       src/w32heap.c (cache_system_info):
       src/w32.c (sys_rename):
       src/w32proc.c (find_child_console, sys_kill): All users changed.
      417a7a0e
    • Paul Eggert's avatar
      Don't use the abbreviation "win" to refer to Windows (Bug#10421). · b46a6a83
      Paul Eggert authored
      * lisp/org/ob-lilypond.el (ly-w32-ly-path): Rename from ly-win32-ly-path.
      (ly-w32-pdf-path): Rename from ly-win32-pdf-path.
      (ly-w32-midi-path): Rename from ly-win32-midi-path.
      (ly-determine-ly-path, ly-determine-pdf-path, ly-determine-midi-path):
      Check for "windows-nt", not "win32", in system-type.
      * src/regex.c (MAX_BUF_SIZE): Remove some incorrect and
      long-ago-commented-out code that talks about "WIN32".
      * src/w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95.
      All uses changed.
      b46a6a83
  8. 27 Jul, 2012 3 commits
    • Eli Zaretskii's avatar
      Fix failure to compile on Windows due to 2012-07-27T06:04:35Z!dmantipov@yandex.ru. · 3438fe21
      Eli Zaretskii authored
       src/lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for
       enumeration constants, as PURE and HEAP are too general, and clash
       with other headers and sources, such as gmalloc.c and the
       MS-Windows system headers.  All users changed.
      3438fe21
    • Dmitry Antipov's avatar
      Fix recently-introduced typos in Windows port. · 073c88c2
      Dmitry Antipov authored
      Reported by Martin Rudalics <rudalics@gmx.at>.
      * w32.c (init_environment): Replace comma with semicolon.
      * w32fns.c (syms_of_w32fns): Likewise.
      073c88c2
    • Dmitry Antipov's avatar
      Utility function to make a list from specified amount of objects. · 694b6c97
      Dmitry Antipov authored
      * lisp.h (enum constype): New datatype.
      (listn): New prototype.
      * alloc.c (listn): New function.
      (Fmemory_use_count, syms_of_alloc): Use it.
      * buffer.c (syms_of_buffer): Likewise.
      * callint.c (syms_of_callint): Likewise.
      * charset.c (define_charset_internal): Likewise.
      * coding.c (syms_of_coding): Likewise.
      * keymap.c (syms_of_keymap): Likewise.
      * search.c (syms_of_search): Likewise.
      * syntax.c (syms_of_syntax): Likewise.
      * w32.c (init_environment): Likewise.
      * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise.
      * xdisp.c (syms_of_xdisp): Likewise.
      * xfns.c (syms_of_xfns): Likewise.
      694b6c97
  9. 10 Jul, 2012 1 commit
    • Paul Eggert's avatar
      EMACS_TIME simplification (Bug#11875). · e9a9ae03
      Paul Eggert authored
      This replaces macros (which typically do not work in GDB)
      with functions, typedefs and enums, making the code easier to debug.
      The functional style also makes code easier to read and maintain.
      * lib-src/profile.c (TV2): Remove no-longer-needed static var.
      * src/systime.h: Include <sys/time.h> on all hosts, not just if
      WINDOWSNT, since 'struct timeval' is needed in general.
      (EMACS_TIME): Now a typedef, not a macro.
      (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants,
      not macros.
      (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P)
      (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ)
      (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT)
      (EMACS_TIME_LE): Now functions, not macros.
      (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS)
      (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros,
      which are not functions.  All uses rewritten to use:
      (make_emacs_time): New function.
      (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME)
      (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are
      not functions.  All uses rewritten to use the following, respectively:
      (emacs_secs_addr, invalid_emacs_time, get_emacs_time)
      (add_emacs_time, sub_emacs_time): New functions.
      * src/atimer.c: Don't include <sys/time.h>,	as "systime.h" does this.
      * src/fileio.c (Fcopy_file):
      * src/xterm.c (XTflash): Get the current time closer to when it's used.
      * src/makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies.
      e9a9ae03
  10. 05 Jul, 2012 1 commit
    • Dmitry Antipov's avatar
      Cleanup xmalloc. · 23f86fce
      Dmitry Antipov authored
      * admin/coccinelle/xzalloc.cocci: Semantic patch to convert
      calls to xmalloc with following memset to xzalloc.
      * src/lisp.h (xzalloc): New prototype.  Omit needless casts.
      * src/alloc.c (xzalloc): New function.  Omit needless casts.
      * src/charset.c: Omit needless casts.  Convert all calls to
      malloc with following memset to xzalloc.
      * src/dispnew.c: Likewise.
      * src/fringe.c: Likewise.
      * src/image.c: Likewise.
      * src/sound.c: Likewise.
      * src/term.c: Likewise.
      * src/w32fns.c: Likewise.
      * src/w32font.c: Likewise.
      * src/w32term.c: Likewise.
      * src/xfaces.c: Likewise.
      * src/xfns.c: Likewise.
      * src/xterm.c: Likewise.
      * src/atimer.c: Omit needless casts.
      * src/buffer.c: Likewise.
      * src/callproc.c: Likewise.
      * src/ccl.c: Likewise.
      * src/coding.c: Likewise.
      * src/composite.c: Likewise.
      * src/doc.c: Likewise.
      * src/doprnt.c: Likewise.
      * src/editfns.c: Likewise.
      * src/emacs.c: Likewise.
      * src/eval.c: Likewise.
      * src/filelock.c: Likewise.
      * src/fns.c: Likewise.
      * src/gtkutil.c: Likewise.
      * src/keyboard.c: Likewise.
      * src/lisp.h: Likewise.
      * src/lread.c: Likewise.
      * src/minibuf.c: Likewise.
      * src/msdos.c: Likewise.
      * src/print.c: Likewise.
      * src/process.c: Likewise.
      * src/region-cache.c: Likewise.
      * src/search.c: Likewise.
      * src/sysdep.c: Likewise.
      * src/termcap.c: Likewise.
      * src/terminal.c: Likewise.
      * src/tparam.c: Likewise.
      * src/w16select.c: Likewise.
      * src/w32.c: Likewise.
      * src/w32reg.c: Likewise.
      * src/w32select.c: Likewise.
      * src/w32uniscribe.c: Likewise.
      * src/widget.c: Likewise.
      * src/xdisp.c: Likewise.
      * src/xmenu.c: Likewise.
      * src/xrdb.c: Likewise.
      * src/xselect.c: Likewise.
      23f86fce
  11. 29 Jun, 2012 1 commit
    • Eli Zaretskii's avatar
      Fix the current directory of the Emacs process on MS-Windows. · 8d38f461
      Eli Zaretskii authored
       src/w32.c (getwd): Adjust commentary about startup_dir.
       (init_environment): Always call sys_access, even in non-MSVC
       builds.  Don't chdir to the directory of the Emacs executable.
       This undoes code from 1997 which was justified by the need to
       "avoid conflicts when removing and renaming directories".  But its
       downside was that every relative file name was being interpreted
       relative to the directory of the Emacs executable, which can never
       be TRT.  In particular, it broke sys_access when called with
       relative file names.
       (sys_access): Map GetLastError to errno.
      8d38f461
  12. 23 Jun, 2012 2 commits
    • Juanma Barranquero's avatar
      src/w32.c (ltime): Add return type and declare static. · ca300656
      Juanma Barranquero authored
      (w32_get_internal_run_time): Remove usused variable `time_100ns'.
      ca300656
    • Eli Zaretskii's avatar
      Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu. · 388cdec0
      Eli Zaretskii authored
       nt/inc/sys/time.h (struct timespec): Define.
       lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/dtotimespec.$(O),
       $(BLD)/gettime.$(O), $(BLD)/timespec-add.$(O), and
       $(BLD)/timespec-sub.$(O).
       ($(BLD)/dtotimespec.$(O)):
       ($(BLD)/gettime.$(O)):
       ($(BLD)/timespec-add.$(O)):
       ($(BLD)/timespec-sub.$(O)): New dependencies.
       lib/stat-time.h:
       lib/timespec.h:
       lib/utimens.h: Include sys/time.h
       src/w32.c (fdutimens): New function.
       src/w32proc.c (sys_select): Adapt to change in the EMACS_TIME type.
       src/s/ms-w32.h (pselect): Redirect to sys_select.
       src/sysselect.h [WINDOWSNT]: Don't include sys/select.h.
      
      Fixes: debbugs:9000
      388cdec0
  13. 22 Jun, 2012 1 commit
  14. 10 Apr, 2012 1 commit
  15. 04 Feb, 2012 1 commit
  16. 11 Jan, 2012 1 commit
  17. 07 Jan, 2012 1 commit
  18. 05 Jan, 2012 1 commit
  19. 07 Dec, 2011 1 commit
  20. 20 Nov, 2011 1 commit
  21. 18 Nov, 2011 1 commit
  22. 07 Nov, 2011 1 commit
  23. 05 Nov, 2011 1 commit
    • Eli Zaretskii's avatar
      Support MSVC build with newer versions of Visual Studio. · a6fc3b5c
      Eli Zaretskii authored
      Small portions of the changes by Fabrice Popineau <fabrice.popineau@supelec.fr>.
      
       src/makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as
       Nmake barfs on that.  Use $(OBJ*_c) variables instead, defined on
       nt/gmake.defs.
       src/lisp.h (ENUM_BF): New macro, for enumerated types in bitfields,
       which are not supported by MSVC.
       (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay)
       (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in
       bitfields.
       (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated
       types in bitfields.
       (DEFUN) [_MSC_VER]: Define in a different way for MSVC.
       src/w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
       src/w32.c: Don't include w32api.h for MSVC.
       (init_environment) [_MSC_VER]: Call sys_access, not _access.
       src/s/ms-w32.h <sigset_t, ssize_t> [_MSC_VER]: Typedefs for MSVC.
       [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h.
       (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins.
       (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the
       e_* cousins.
       (alloca) [_MSC_VER]: Define to _alloca.
       src/lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
       src/regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
       nt/makefile.w32-in (clean-other-dirs-nmake)
       (distclean-other-dirs-nmake, maintainer-clean-other-dirs-nmake):
       Update for current structure of doc/ subdirectories.
       nt/gmake.defs (OBJ0_c, OBJ1_c, OBJ2_c): New variables.
       nt/INSTALL: Update for newer versions of MSVC.
       lib/makefile.w32-in (FRC): New dummy target.
       (TAGS): Depend on FRC.
      
      Fixes: debbugs:9960
      a6fc3b5c
  24. 27 Oct, 2011 1 commit
  25. 09 Sep, 2011 1 commit
  26. 09 Jul, 2011 1 commit
  27. 24 Jun, 2011 1 commit
  28. 04 May, 2011 1 commit
    • Juanma Barranquero's avatar
      Implement dynamic loading of GnuTLS on Windows. · 0898ca10
      Juanma Barranquero authored
      * lisp/term/w32-win.el (dynamic-library-alist): Add `gnutls'.
      
      * nt/INSTALL: Clarify GnuTLS support.
      
      * src/callproc.c, src/emacs.c: Include lisp.h before src/w32.h, not after.
      
      * src/gnutls.c (Qgnutls_dll): Define.
        (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros.
        (gnutls_*): Declare function pointers.
        (init_gnutls_functions): New function to initialize function pointers.
        (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit)
        (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers.
        (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
        Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno.
        (emacs_gnutls_write, emacs_gnutls_read)
        (emacs_gnutls_handle_error, Fgnutls_error_fatalp)
        (Fgnutls_available_p): New function.
        (Fgnutls_boot): Call Fgnutls_available_p.  Use function pointers.
        (syms_of_gnutls) <Qgnutls_dll>: Initialize and staticpro it.
        (syms_of_gnutls) <Sgnutls_available_p>: defsubr it.
      
      * src/gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro.
        (emacs_gnutls_write, emacs_gnutls_read): Mark as extern.
        (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
        Declare.
      
      * src/w32.c (QCloaded_from, Vlibrary_cache): Define.
        (w32_delayed_load): Move from image.c.  When loading a library, record
        its filename in the :loaded-from property of the library id.
        (globals_of_w32) <QCloaded_from, Vlibrary_cache>:
        Initialize and staticpro them.
        (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions.
      
      * src/image.c: Include w32.h.
        (Vimage_type_cache): Delete.
        (syms_of_image) <Vimage_type_cache>: Don't initialize and staticpro it.
        (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead.
        (w32_delayed_load): Move to w32.c.
      
      * src/process.c: Include lisp.h before src/w32.h, not after.
        (wait_reading_process_output): Call emacs_gnutls_record_check_pending
        instead of gnutls_record_check_pending.
      
      * src/w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare.
      0898ca10
  29. 28 Apr, 2011 1 commit
  30. 25 Apr, 2011 2 commits
    • Ted Zlatanov's avatar
      Fix typo in GnuTLS W32 support. · 42ce4c63
      Ted Zlatanov authored
      * w32.c (emacs_gnutls_push): Fix typo.
      42ce4c63
    • Ted Zlatanov's avatar
      Add GnuTLS support for W32 and certificate and hostname verification in GnuTLS. · e061a11b
      Ted Zlatanov authored
      * src/gnutls.c: Renamed global_initialized to
      gnutls_global_initialized.  Added internals for the
      :verify-hostname-error, :verify-error, and :verify-flags
      parameters of `gnutls-boot' and documented those parameters in the
      docstring.  Start callback support.
      (emacs_gnutls_handshake): Add Woe32 support. Retry handshake
      unless a fatal error occured. Call gnutls_alert_send_appropriate
      on error. Return error code.
      (emacs_gnutls_write): Call emacs_gnutls_handle_error.
      (emacs_gnutls_read): Likewise.
      (Fgnutls_boot): Return handshake error code.
      (emacs_gnutls_handle_error): New function.
      (wsaerror_to_errno): Likewise.
      
      * src/gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the
      callbacks stage.
      
      * src/w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
      (emacs_gnutls_push): Likewise.
      
      * src/w32.h (emacs_gnutls_pull): Add prototype.
      (emacs_gnutls_push): Likewise.
      e061a11b
  31. 18 Apr, 2011 1 commit
  32. 06 Apr, 2011 1 commit
  33. 29 Mar, 2011 1 commit
  34. 28 Mar, 2011 1 commit
    • Juanma Barranquero's avatar
      src/*.c: Remove unused parameters and other warnings. · 1db5b1ad
      Juanma Barranquero authored
      * dispextern.h (string_buffer_position): Remove declaration.
      
      * print.c (strout): Remove parameter `multibyte', unused since
        1999-08-21T19:30:21Z!gerd@gnu.org.  All callers changed.
      
      * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
        never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
        All callers changed.
      
      * w32.c (_wsa_errlist): Use braces for struct initializers.
      
      * xdisp.c (string_buffer_position_lim): Remove parameter `w',
        never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
        All callers changed.
        (string_buffer_position): Likewise.  Also, make static (it's never
        used outside xdisp.c).
        (cursor_row_p): Remove parameter `w', unused since
        2000-10-17T16:08:57Z!gerd@gnu.org.  All callers changed.
        (decode_mode_spec): Remove parameter `precision', introduced during
        Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
        All callers changed.
      1db5b1ad