Merge from origin/emacs-30

cc5b1a01a2 ; * doc/misc/efaq-w32.texi (Location of init file): Fix a...
6c2aaedfce Fix compilation errors in emacsclient.c with MinGW GCC 15
d56e5ba97e ; * etc/DEBUG: Add link to GCC bug #78685.
80cbd1e31c ; Fix key notation in Introduction to Emacs Lisp
1224e5fd96 ; * lisp/files.el (revert-buffer-restore-functions): Doc ...
79e7eeb329 ; Improve documentation of 'format-time-string'
2838b64fc8 ; * lisp/textmodes/text-mode.el (text-mode-variant): Fix ...
9adb05422e ; Improve obsolescence of 'text-mode-variant'
4858d81848 ; * lisp/files.el (revert-buffer-restore-functions): Doc ...
2a8e223b8d ; Mention early-init file in Emacs FAQ for Windows
14c707b42d ; Isearch: Fix key bindings in docstrings
This commit is contained in:
Eli Zaretskii 2025-04-30 07:14:23 -04:00
commit 6bb3c6f9e1
9 changed files with 68 additions and 40 deletions

View file

@ -1715,8 +1715,13 @@ set_socket (bool no_exit_if_error)
}
#ifdef HAVE_NTGUI
FARPROC set_fg; /* Pointer to AllowSetForegroundWindow. */
FARPROC get_wc; /* Pointer to RealGetWindowClassA. */
typedef void (* VOIDFNPTR) (void);
typedef BOOL (WINAPI *AllowSetForegroundWindow_proc) (DWORD);
/* Pointer to AllowSetForegroundWindow. */
static AllowSetForegroundWindow_proc set_fg;
typedef UINT (WINAPI *RealGetWindowClassA_proc) (HWND, LPSTR, UINT);
/* Pointer to RealGetWindowClassA. */
static RealGetWindowClassA_proc get_wc;
void w32_set_user_model_id (void);
@ -1794,8 +1799,8 @@ w32_give_focus (void)
emacsclient can allow Emacs to grab the focus by calling the function
AllowSetForegroundWindow. Unfortunately, older Windows (W95, W98 and
NT) lack this function, so we have to check its availability. */
if ((set_fg = GetProcAddress (user32, "AllowSetForegroundWindow"))
&& (get_wc = GetProcAddress (user32, "RealGetWindowClassA")))
if ((set_fg = (AllowSetForegroundWindow_proc) (VOIDFNPTR) GetProcAddress (user32, "AllowSetForegroundWindow"))
&& (get_wc = (RealGetWindowClassA_proc) (VOIDFNPTR) GetProcAddress (user32, "RealGetWindowClassA")))
EnumWindows (w32_find_emacs_process, (LPARAM) 0);
}
#endif /* HAVE_NTGUI */