aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug on MS-Windows with frame title when system-name is non-ASCIIEli Zaretskii11 days1-10/+23
| | | | | | * src/w32.c (sys_gethostname): Convert system name to UTF-8. Ensure the buffer passed to 'gethostname' is large enough. (Bug#80472)
* Fix MS-Windows build broken by recent updates in MinGW64 headersEli Zaretskii2026-01-221-4/+0
| | | | | | | | | * nt/inc/ms-w32.h (strerror): Redirect to sys_strerror after including <string.h>, to prevent the linker from thinking it should be imported from some DLL. Reported by Richard Copley <rcopley@gmail.com>. * src/w32.c: Remove now unneeded prototype of sys_strerror.
* ; Add 2026 to copyright years.Sean Whitton2026-01-011-1/+1
|
* Remove all traces of MSVC support from MS-Windows codeEli Zaretskii2025-11-271-16/+2
| | | | | | | | | | | | | | | | We dropped support for MSVC long ago, and nowadays only support MinGW for the MS-Windows builds of Emacs. * src/w32term.h: * src/w32fns.c: * src/w32.c: * nt/inc/sys/socket.h: * nt/inc/stdalign.h: * nt/inc/ms-w32.h: Remove MSVC-specific code and preprocessor conditions. * nt/inc/ms-w32.h: Don't redirect Posix functions to MS _FOO equivalents, as MinGW headers do that nowadays better, not necessarily via functions, and do not disable that when __STDC__ is defined.
* Fix 'restart-emacs' on MS-WindowsEli Zaretskii2025-10-021-0/+3
| | | | | | * src/w32.c (w32_reexec_emacs): Reset undocumented bits in STARTUPINFO flags. Suggested by yhr0x43 <yhr0x43@gmail.com>. (Bug#79554)
* ; Avoid compiler warnings in MinGW buildsEli Zaretskii2025-06-011-41/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32proc.c (child_proc_count, child_procs) (Vw32_valid_locale_ids, Vw32_valid_codepages): Declare 'static'. * src/w32inevt.c (faked_key): Declare. * src/w32heap.c (data_region_base, data_region_end, heap): Declare. * src/w32console.c (keyboard_handle, current_tty, cost): Declare. * src/w32.c: Declare function pointers 'static'. (excptr, excprec, ctxrec, g_b_init_compare_string_w) (g_b_init_debug_break_process, LookupAccountSid_Name, dir_static) (winsock_lib, _wsa_errlist): Declare. * src/w32uniscribe.c: Declare function pointers 'static'. (uniscribe_available, harfbuzz_available): Declare. * src/w32term.c: Declare function pointers 'static'. (vertical_scroll_bar_min_handle, horizontal_scroll_bar_min_handle) (vertical_scroll_bar_top_border) (vertical_scroll_bar_bottom_border) (horizontal_scroll_bar_left_border) (horizontal_scroll_bar_right_border, last_scroll_bar_drag_pos): Declare 'static'. * src/w32xfns.c (input_available, interrupt_handle, lpHead) (lpTail, nQueue): Declare. * src/w32menu.c: Declare function pointers 'static'. * src/w32term.h (w32_frame_parm_handlers): Declare. * src/w32fns.c: Declare function pointers 'static'. (w32_darkmode, w32_color_map, deferred_msg_head, tip_frame) (tip_timer, tip_last_string, tip_last_frame, tip_last_parms): * src/lisp.h (daemon_type): Declare for WINDOWSNT as well. * nt/cmdproxy.c (escape_char, child, interactive): Declare 'static'. (Bug#78193)
* Fix DST time calculations on MS-WindowsEli Zaretskii2025-05-261-0/+25
| | | | | | | * src/w32.c (w32_fix_tzset): New function. * src/timefns.c (emacs_localtime_rz, tzlookup): * src/w32.c (sys_localtime): Call 'w32_fix_tzset'. (Bug#11281)
* Avoid unnecessary calls to GetFileAttributes on MS-WindowsEli Zaretskii2025-05-111-51/+75
| | | | | | | | | * src/w32.c (access_attrs): New function, refactored from 'faccessat'. (faccessat): Call 'access_attrs' early to determine whether the file doesn't exist, and if so, avoid calling 'chase_symlinks'. Also avoid calling 'chase_symlinks' if it is known that the file cannot be a symlink, given its attributes. (Bug#78341)
* Support sub-second file time-stamps on MS-WindowsEli Zaretskii2025-05-111-12/+32
| | | | | | | | | | * nt/inc/sys/stat.h (struct stat): New members for nsec part of file times. * lib-src/ntlib.c (convert_time): * src/w32.c (convert_time): Accept an additional argument TIME_NSEC and set it to the sub-second part of time. All callers changed.
* ; * src/w32.c (term_ntproc): Fix capitalization of commentary.Po Lu2025-03-151-2/+2
|
* ; * src/w32.h (free_wait_pool): Move prototype from w32.c.Eli Zaretskii2025-03-141-2/+0
|
* Increase FD_SETSIZE on Windows to support more subprocessesYue Yi2025-03-141-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier versions of Emacs were limited to at most 32 subprocesses or network connections on Windows due to the 64-object limit imposed by WaitForMultipleObjects. To overcome this, a simple waiting thread pool is implemented, allowing Emacs to efficiently wait on up to 2048 objects. Each thread in the pool can wait on up to 63 objects, and a total of 32 threads are used, together with the main thread, to expand the waiting capability. This enables Emacs to support approximately 1024 subprocesses, which is comparable to the 'pty' method on GNU/Linux when using the default FD_SETSIZE of 1024. To minimize overhead, the threads remain active instead of being frequently created and destroyed, reducing unnecessary system resource consumption. Idle threads can be terminated after a period of inactivity to free up memory. * src/w32.h (FD_SETSIZE): Change from 64 to 2048. * src/w32.c (term_ntproc): Call 'free_wait_pool' to free waiting threads. * src/w32proc.c (WFO_ABANDONED, WFO_TIMEOUT, WFO_FAILED) (WFO_MAX_WAIT): New macros. (wait_objects_context, wait_objects_pool, wait_objects_info): New structures for managing the thread pool. (wait_objects_pool, wait_objects_info): New static variables for managing the thread pool. (wait_objects_thread, start_wait_objects, stop_wait_objects) (end_wait_and_return, shrink_wait_pool, free_wait_pool): New functions for waiting and managing the thread pool. (wait_for_objects, msg_wait_for_objects): New functions as replacements for WaitForMultipleObjects and MsgWaitForMultipleObjects. (wait_pid): Use 'wait_for_objects' and new macros. (sys_select): Make some variables static to avoid stack allocation. Use 'wait_for_objects', 'msg_wait_for_objects', and the new macros.
* Merge from origin/emacs-30Eli Zaretskii2025-01-251-2/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 67903f5909d Restore the old behavior of `bookmark-write-file' 062da7003f9 ; Improve prompts and error messages in 'info-look' 52dc01f1c8b ; * admin/admin.el (set-version): Note about Android. fb282da2a07 Avoid double spaces around abbrevations in Texinfo bc1ab8ac3d8 ; * doc/emacs/custom.texi (Init Rebinding): Fix spacing. b41ef43af19 ; Fix previous change 5638b1d6bd4 Ispell: Use "personal dictionary" terminology consistently cc791e7499f ; Check man pages for mistakes less frequently 4ed4792e3b9 ; * admin/release-process: Minor copy-edits. 4a867c823b7 Add language server "ruff server" for Python 9e687c2871f Fix go-ts-mode type declaration indentation (Bug#75785) f751b3afa4f ; Minor improvements for doc strings in map.el cda78edc7d9 ; Fix typos ce50a1d3c18 ; * src/w32.c (w32_memory_info): Fix coding style of last... 58d3d4820ad Fix bug in w32_memory_info 77386412050 Avoid crashes in redisplay due to problematic font setups 0e3687e6006 Improve 'key-valid-p' docstring 9878092d2b9 Minor copyedits in internals.texi 4726900fdc5 Better document side-effect free and pure C functions 04c475a39f2 ; Fix documentation about faces of tool-tip text # Conflicts: # admin/codespell/codespell.exclude
| * ; * src/w32.c (w32_memory_info): Fix coding style of last change.Eli Zaretskii2025-01-211-2/+2
| |
| * Fix bug in w32_memory_infoArthur Miller2025-01-211-2/+4
| | | | | | | | * src/w32.c (w32_memory_info): Initialize struct size.
| * Update copyright year to 2025Stefan Kangas2025-01-021-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | Fix setup of coding-systems on MS-WindowsEli Zaretskii2025-01-051-0/+13
| | | | | | | | | | | | | | | | * src/emacs.c (main) [HAVE_PDUMPER] [WINDOWSNT]: Call 'w32_init_file_name_codepage' again after loading the pdumper file. * src/w32.c (w32_init_file_name_codepage) [HAVE_PDUMPER]: Reinitialize additional variables. (Bug#75207)
* | Update copyright year to 2025Paul Eggert2025-01-011-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | ; Use c-ctype.h in w32*.cEli Zaretskii2024-09-181-6/+6
| | | | | | | | | | | | * src/w32.c: * src/w32fns.c: Replace ctype.h functions by equivalent c-ctype.h functions.
* | ; * src/w32.c (init_ntproc): Fix formatting conventions in last change.Eli Zaretskii2024-08-091-11/+16
| |
* | Use SetHandleInformation to set NOINHERIT in UCRT64Kien Nguyen2024-08-091-0/+11
| | | | | | | | | | | | | | | | | | * src/w32.c (init_ntproc) [_UCRT]: Use SetHandleInformation to prevent standard handles from being inherited, instead of relying on MSVCRT-only behavior. For the details of the problem, see https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg01129.html. Copyright-paperwork-exempt: yes
* | Make error messages adhere to our standardsStefan Kangas2024-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/cygw32.c (chdir_to_default_directory): * src/fns.c (secure_hash): * src/keyboard.c (Finternal_handle_focus_in): * src/keymap.c (store_in_keymap): * src/pgtkfns.c (pgtk_set_scroll_bar_foreground) (pgtk_set_scroll_bar_background, Fx_export_frames) (Fpgtk_set_monitor_scale_factor, pgtk_get_defaults_value) (pgtk_set_defaults_value, Fpgtk_print_frames_dialog) (pgtk_get_monitor_scale_factor): * src/pgtkterm.c (pgtk_set_parent_frame): * src/process.c (network_interface_info, send_process): * src/w32.c (w32_read_registry): * src/w32fns.c (Fw32_read_registry): * src/window.c (Frecenter): * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog) (x_set_mouse_color): Make 'error' message strings follow our guidelines. More specifically, they should not end in a period, and normally also be capitalized. See '(elisp) Programming Tips'.
* | Fix renaming symlinks on MS-WindowsEli Zaretskii2024-07-131-0/+9
|/ | | | | * src/w32.c (sys_rename_replace): Handle renames of a symlink. This makes 'wdired-tests' succeed on MS-Windows.
* Fix MS-Windows build with native-compilationEli Zaretskii2024-07-031-4/+0
| | | | | | | * src/w32.c (globals_of_w32): Move re-initialization of Vlibrary_cache from here... * src/emacs.c (main): ...to here, as it must be after load_pdump. (Bug#71916)
* Restore functionality on Windows 98Po Lu2024-06-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (W32_LIBS): Don't link with -lusp10 on non-Cygwin systems. * src/emacs.c (main): Call globals_of_w32 before the startup directory is initialized. * src/w32.c (maybe_load_unicows_dll): Call load_unicows_dll_for_w32fns. * src/w32.h: Update prototypes. * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Do not register the Uniscribe font driver when unavailable. (pfnSHFileOperationW): New function pointer. (Fsystem_move_file_to_trash): Load UNICOWS.DLL if not yet loaded. Call SHFileOperationW through said function pointer. (pfnShellExecuteExW): New function pointer. (Fw32_shell_execute) [!CYGWIN]: Load UNICOWS.DLL if not yet loaded. Call ShellExecuteExW through said function pointer. (pfnShell_NotifyIconW): New function pointer. (add_tray_notification, delete_tray_notification): Call Shell_NotifyIconW through said function pointer. (Fw32_notification_notify): Load UNICOWS.DLL. (Fw32_notification_close): Return if Shell_NotifyIconW is unavailable, as when UNICOWS.DLL has yet to be loaded. (load_unicows_dll_for_w32fns): New function. * src/w32notify.c (pfnReadDirectoryChangesW): New function pointer. (watch_completion, remove_watch, Fw32notify_add_watch) (Fw32notify_rm_watch, Fw32notify_valid_p): Call ReadDirectoryChangesW through said function pointer, and assert its presence. (globals_of_w32notify): Load ReadDirectoryChangesW from KERNEL32.DLL. * src/w32uniscribe.c (pfnScriptItemize, pfnScriptShape) (pfnScriptPlace, pfnScriptGetGlyphABCWidth, pfnScriptFreeCache) (pfnScriptGetCMap): New function pointers. (uniscribe_close, uniscribe_shape, uniscribe_encode_char) (uniscribe_check_otf_1): Call Uniscribe functions through the same. (syms_of_w32uniscribe_for_pdumper): Load Uniscribe library and required functions from the same, and if unavailable, return while leaving uniscribe_available intact. On Cygwin, simply assign USP10.DLL functions to the said new function pointers.
* Restore file's original name after a failed rename_replace on Windows 9XPo Lu2024-06-141-10/+29
| | | | | | * src/w32.c (sys_rename_replace): If the rename operation fails and an intermediate name was generated and applied to the input file, restore the original.
* ; * src/w32.c (sys_open): Set errno to EISDIR if opening a directory.Eli Zaretskii2024-05-291-0/+16
|
* Merge from origin/emacs-29Eli Zaretskii2024-05-251-1/+1
|\ | | | | | | | | | | | | | | | | | | 4f0121f8dbe Avoid assertion violations in displaying under 'outline-m... 1bf65836622 Improve documentation of 'no-special-glyphs' frame parameter 3647645e948 Fix Python font lock of chained assignment statement 3291dea441f Fix example in Calc manual 350ae75f5c1 Avoid crashes on MS-Windows due to invalid UNC file names ccf8dba44a3 ; * lisp/face-remap.el (text-scale-adjust): Doc fix. 5ab144c77cd ; Improve documentation of backing up files
| * Avoid crashes on MS-Windows due to invalid UNC file namesEli Zaretskii2024-05-221-1/+1
| | | | | | | | | | | | | | * src/w32.c (parse_root): Avoid crashes due to invalid (too short) UNC names, such as "\\". (Bug#70914) * test/src/fileio-tests.el (fileio-tests-invalid-UNC): New test.
* | Fix resetting keyboard hook state on MS-WindowsRaffael Stocker2024-03-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Register session notifications so Emacs is notified when the computer is being locked, as required to reset the low level keyboard hook state. (Bug#69083). * src/w32term.h: * src/w32fns.c (setup_w32_kbdhook, remove_w32_kbdhook) (w32_wnd_proc, globals_of_w32fns, maybe_pass_notification): Register and manage session notifications in GUI Emacs. * src/w32console.c (initialize_w32_display, find_ime_window): * src/w32xfns.c (drain_message_queue): Register notifications and reset keyboard hook state in console Emacs. * src/w32.c (term_ntproc): Un-register session notifications when terminating.
* | Use `min`/`max` macros in a few more placesStefan Kangas2024-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/bidi.c (bidi_set_sos_type): * src/coding.c (consume_chars): * src/dosfns.c (dos_memory_info): * src/emacs.c (sort_args): * src/insdel.c (count_combining_before) (count_combining_after, replace_range, del_range_2): * src/sort.c (tim_sort): * src/w32.c (sys_write): * src/xfaces.c (face_at_buffer_position) (face_for_overlay_string): Prefer using 'min' and 'max' macros.
* | Merge from savannah/emacs-29Po Lu2024-01-021-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
| * ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
| |
* | Merge from origin/emacs-29Eli Zaretskii2023-10-281-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | aa253c533d2 ; Fix broken links to gmane.org cc3e436c822 Change news.gmane.org to news.gmane.io 297fe945c57 Fix minor defcustom issues in Gnus (Bug#66715) 3beb5f5e240 ; * doc/misc/gnus.texi: Fix unmatched quote in gnus doc. ... 85d08d5788e Minor connection-local variables fixes 79d8328ca4a Make Dired honor `insert-directory-program“ with globs 43127294e13 Fix typo in url-privacy-level :type 380f8574ef5 * lisp/vc/log-view.el (log-view-mode-menu): Quote derived...
| * ; Fix broken links to gmane.orgStefan Kangas2023-10-241-1/+1
| |
* | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-04-161-1/+8
|\ \ | |/
| * Fix compilation of w32.c with old MinGW system headersEli Zaretskii2023-04-131-1/+8
| | | | | | | | | | | | * src/w32.c (CONSOLE_FONT_INFO): Make sure the definition is not visible for MinGW versions whose w32api's version is before 5.2.0. (Bug#52792)
* | Update Android portPo Lu2023-03-071-1/+2
|/ | | | | | | | | | | * src/lread.c (lread_fd, file_tell, infile, skip_dyn_bytes) (skip_dyn_eof, readbyte_from_stdio, safe_to_load_version) (close_infile_unwind, close_file_unwind_android_fd): New function. (Fload, Flocate_file_internal, openp): New argument PLATFORM. All callers changed. (skip_lazy_string): Add optimized versions of various functions for accessing Android assets.
* ; Fix last change (bug#60556).Eli Zaretskii2023-01-221-12/+13
|
* Avoid crashes in batch Emacs sub-processes on MS-WindowsEli Zaretskii2023-01-221-13/+31
| | | | | | | | * src/w32.c (shutdown_handler): When run in a separate thread, don't call functions that only the main (a.k.a. "Lisp") thread can call; instead, arrange for maybe_quit to kill Emacs. * src/w32fns.c (emacs_abort): Don't show GUI Abort dialogs in non-interactive sessions. (Bug#60556)
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Don't follow symlinks in w32notify file watchesEli Zaretskii2022-09-071-0/+11
| | | | | | | * src/w32notify.c (add_watch): On filesystems that support symlinks, don't follow symlinks. (Bug#57536) * src/w32.c (symlinks_supported): New function. * src/w32.h (symlinks_supported): Add prototype.
* Allow symlink creation on MS-Windows without Administrator privilegesKien Nguyen2022-08-251-2/+12
| | | | | | * src/w32.c (symlink): Use the SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag when available. (Bug#57386)
* Fix leaking of file descriptors due to pipe processes on MS-WindowsEli Zaretskii2022-07-171-5/+18
| | | | | | | | | * src/w32proc.c (reader_thread): Wait for 'sys_close' to finish processing the pipe read descriptor, before trying to close it. * src/w32.c (sys_close): Attempt to detect when the reader thread already exited, so that it would be possible to close descriptors open by pipe processes for reading from the pipe. (Bug#56606)
* Fix some missed Fplist_put adjustments in src/w32.cLars Ingebrigtsen2022-06-271-6/+6
| | | | * src/w32.c (serial_configure): Adjust some missed Fplist_put renames.
* Allow plist-get/plist-put/plist-member to take a comparison functionLars Ingebrigtsen2022-06-271-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/lists.texi (Plist Access): Document it. * lisp/filesets.el (filesets-reset-fileset) (filesets-ingroup-cache-get): (filesets-ingroup-cache-put): (filesets-build-menu-now): Don't use lax-plist functions. * lisp/simple.el (lax-plist-put, lax-plist-get): Moved here from fns.c and make obsolete. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Don't mark plist functions as side-effect-free or pure. * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Adjust type. * lisp/emacs-lisp/shortdoc.el (list): Don't document deprecated functions. * src/xdisp.c (build_desired_tool_bar_string): (display_mode_element): (store_mode_line_string): (display_string): (produce_stretch_glyph): (note_mode_line_or_margin_highlight): (note_mouse_highlight): * src/w32.c (serial_configure): * src/sysdep.c (serial_configure): * src/sound.c (parse_sound): * src/process.c (Fset_process_buffer): (Fset_process_sentinel): (Fprocess_contact): (Fmake_process): (Fmake_pipe_process): (Fset_network_process_option): (Fserial_process_configure): (Fmake_serial_process): (set_network_socket_coding_system): (finish_after_tls_connection): (connect_network_socket): (Fmake_network_process): (server_accept_connection): * src/lread.c (ADDPARAM): (hash_table_from_plist): * src/keyboard.c (make_lispy_position): * src/indent.c (check_display_width): * src/image.c (postprocess_image): * src/gnutls.c (gnutls_verify_boot): (Fgnutls_boot): (gnutls_symmetric): (Fgnutls_hash_mac): (Fgnutls_hash_digest): * src/dired.c (filter): * src/data.c (add_to_function_history): * src/coding.c (Fcoding_system_put): Adjust callers from Fplist_put (etc) to plist_put. * src/fns.c (plist_get): (plist_put): (plist_member): New functions (without optional third parameter) to be used in C code. * src/fns.c (Fplist_get, Fplist_put, Fplist_member): Take an optional predicate parameter (bug#47425). * src/lisp.h: Declare new plist_put, plist_get and plist_member functions. * test/lisp/json-tests.el (test-json-add-to-plist): Use plist-get. * test/src/fns-tests.el (test-cycle-lax-plist-get): (test-cycle-lax-plist-put): (lax-plist-get/odd-number-of-elements): (test-plist): Remove lax-plist tests, since semantics have changed (they no longer error out on cycles).
* Adjust more prin1-to-string callersLars Ingebrigtsen2022-05-151-1/+2
| | | | | | | | | | * src/w32.c (check_windows_init_file): * src/comp.c (Lisp_Object): (emit_lisp_obj_reloc_lval): (emit_lisp_obj_rval): (emit_mvar_rval): (emit_limple_insn): (emit_static_object): Adjust prin1-to-string callers.
* Emulate 'clock' for MS-WindowsEli Zaretskii2022-04-271-0/+29
| | | | | * src/w32.c (sys_clock): New function. (Bug#44674) * nt/inc/ms-w32.h (clock): Redirect to sys_clock.
* Unbreak build with MinGW64.Eli Zaretskii2022-04-211-0/+4
| | | | | | * src/w32.c (CONSOLE_FONT_INFO): Define only when _WIN32_WINNT is less than _WIN32_WINNT_WINXP, i.e. for building with mingw.org's MinGW.
* Fix dimensions of console window of restarted Emacs on MS-WindowsEli Zaretskii2022-04-191-4/+68
| | | | | | | * src/w32.c (get_console_font_size): New function. (w32_reexec_emacs): Call 'get_console_font_size' to set up the dimensions of the restarted Emacs's console window to the same values as that of the original Emacs.