From 6c11214dc1124bcb459088e89334e16e46127e16 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sat, 3 Sep 2022 14:23:26 +0200 Subject: Inhibit nativecomp of loaddefs files * lisp/emacs-lisp/generate-lisp-file.el (generate-lisp-file-trailer): Allow inhibiting nativecomp. * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--rubric): Inhibit native-comp, because it's not very useful for loaddefs files. --- lisp/emacs-lisp/loaddefs-gen.el | 1 + 1 file changed, 1 insertion(+) (limited to 'lisp/emacs-lisp/loaddefs-gen.el') diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el index e13b92bab8c..005a46c2d75 100644 --- a/lisp/emacs-lisp/loaddefs-gen.el +++ b/lisp/emacs-lisp/loaddefs-gen.el @@ -504,6 +504,7 @@ If COMPILE, don't include a \"don't compile\" cookie." (generate-lisp-file-trailer file :provide (and (stringp feature) feature) :compile compile + :inhibit-native-compile t :inhibit-provide (not feature)) (buffer-string)))) -- cgit v1.2.3 From 5fe9a1a85ae6d54196031157a735352f6ab655ff Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 15 Sep 2022 09:12:13 +0300 Subject: ; Fix doc string of 'loaddefs-generate' * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Doc fix. (Bug#57815) --- lisp/emacs-lisp/loaddefs-gen.el | 4 ++-- src/w32fns.c | 45 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 2 deletions(-) (limited to 'lisp/emacs-lisp/loaddefs-gen.el') diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el index 005a46c2d75..5819a26eb54 100644 --- a/lisp/emacs-lisp/loaddefs-gen.el +++ b/lisp/emacs-lisp/loaddefs-gen.el @@ -512,7 +512,7 @@ If COMPILE, don't include a \"don't compile\" cookie." (defun loaddefs-generate (dir output-file &optional excluded-files extra-data include-package-version generate-full) - "Generate loaddefs files for Lisp files in the directories DIRS. + "Generate loaddefs files for Lisp files in one or more directories given by DIR. DIR can be either a single directory or a list of directories. The autoloads will be written to OUTPUT-FILE. If any Lisp file @@ -520,7 +520,7 @@ binds `generated-autoload-file' as a file-local variable, write its autoloads into the specified file instead. The function does NOT recursively descend into subdirectories of the -directory or directories specified by DIRS. +directories specified by DIR. Optional argument EXCLUDED-FILES, if non-nil, should be a list of files, such as preloaded files, whose autoloads should not be written diff --git a/src/w32fns.c b/src/w32fns.c index 745458d0a03..57296bd4e07 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -10447,6 +10447,51 @@ w32_get_resource (const char *key, const char *name, LPDWORD lpdwtype) return (NULL); } +#ifdef WINDOWSNT + +/*********************************************************************** + Wallpaper + ***********************************************************************/ + +#if 0 + +typedef BOOL (WINAPI * SystemParametersInfoW_Proc) (UINT,UINT,PVOID,UINT); +static SystemParametersInfoW_Proc system_parameters_info_w_fn; + +DEFUN ("w32-set-wallpaper", Fw32_set_wallpaper, Sw32_set_wallpaper, 1, 1, 0, + doc: /* Set the desktop wallpaper image to IMAGE-FILE. */) + (Lisp_Object image_file) +{ + Lisp_Object encoded = ENCODE_FILE (Fexpand_file_name (image_file, Qnil)); + char *fname = SSDATA (encoded); + + if (w32_unicode_filenames) + { + } + else + { + char fname_a[MAX_PATH]; + + if (filename_to_ansi (fname, fname_a) != 0) + error ("Wallpaper file %s does not exist or cannot be accessed", fname); + + BOOL result = SystemParametersInfoA (SPI_SETDESKWALLPAPER, 0, fname_a, + SPIF_SENDCHANGE); + if (!result) + { + DWORD err = GetLastError (); + if (err) + error ("Could not set wallpaper: %s", w32_strerror (err)); + else + error ("Could not set wallpaper"); + } + } + return Qnil; +} +#endif + +#endif + /*********************************************************************** Initialization ***********************************************************************/ -- cgit v1.2.3 From 52a3ba102c0bcfda1b69e33be2a93a245a4c3a84 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 15 Sep 2022 09:14:59 +0300 Subject: Revert "; Fix doc string of 'loaddefs-generate'" This reverts commit 5fe9a1a85ae6d54196031157a735352f6ab655ff. It included unrelated changes. --- lisp/emacs-lisp/loaddefs-gen.el | 4 ++-- src/w32fns.c | 45 ----------------------------------------- 2 files changed, 2 insertions(+), 47 deletions(-) (limited to 'lisp/emacs-lisp/loaddefs-gen.el') diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el index 5819a26eb54..005a46c2d75 100644 --- a/lisp/emacs-lisp/loaddefs-gen.el +++ b/lisp/emacs-lisp/loaddefs-gen.el @@ -512,7 +512,7 @@ If COMPILE, don't include a \"don't compile\" cookie." (defun loaddefs-generate (dir output-file &optional excluded-files extra-data include-package-version generate-full) - "Generate loaddefs files for Lisp files in one or more directories given by DIR. + "Generate loaddefs files for Lisp files in the directories DIRS. DIR can be either a single directory or a list of directories. The autoloads will be written to OUTPUT-FILE. If any Lisp file @@ -520,7 +520,7 @@ binds `generated-autoload-file' as a file-local variable, write its autoloads into the specified file instead. The function does NOT recursively descend into subdirectories of the -directories specified by DIR. +directory or directories specified by DIRS. Optional argument EXCLUDED-FILES, if non-nil, should be a list of files, such as preloaded files, whose autoloads should not be written diff --git a/src/w32fns.c b/src/w32fns.c index 57296bd4e07..745458d0a03 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -10447,51 +10447,6 @@ w32_get_resource (const char *key, const char *name, LPDWORD lpdwtype) return (NULL); } -#ifdef WINDOWSNT - -/*********************************************************************** - Wallpaper - ***********************************************************************/ - -#if 0 - -typedef BOOL (WINAPI * SystemParametersInfoW_Proc) (UINT,UINT,PVOID,UINT); -static SystemParametersInfoW_Proc system_parameters_info_w_fn; - -DEFUN ("w32-set-wallpaper", Fw32_set_wallpaper, Sw32_set_wallpaper, 1, 1, 0, - doc: /* Set the desktop wallpaper image to IMAGE-FILE. */) - (Lisp_Object image_file) -{ - Lisp_Object encoded = ENCODE_FILE (Fexpand_file_name (image_file, Qnil)); - char *fname = SSDATA (encoded); - - if (w32_unicode_filenames) - { - } - else - { - char fname_a[MAX_PATH]; - - if (filename_to_ansi (fname, fname_a) != 0) - error ("Wallpaper file %s does not exist or cannot be accessed", fname); - - BOOL result = SystemParametersInfoA (SPI_SETDESKWALLPAPER, 0, fname_a, - SPIF_SENDCHANGE); - if (!result) - { - DWORD err = GetLastError (); - if (err) - error ("Could not set wallpaper: %s", w32_strerror (err)); - else - error ("Could not set wallpaper"); - } - } - return Qnil; -} -#endif - -#endif - /*********************************************************************** Initialization ***********************************************************************/ -- cgit v1.2.3 From 48d8543ff134e08332bf35d96409cb8e3c2cbfb9 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 15 Sep 2022 09:16:41 +0300 Subject: ; Fix doc string of 'loaddefs-generate' * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Doc fix. (Bug#57815) --- lisp/emacs-lisp/loaddefs-gen.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lisp/emacs-lisp/loaddefs-gen.el') diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el index 005a46c2d75..5819a26eb54 100644 --- a/lisp/emacs-lisp/loaddefs-gen.el +++ b/lisp/emacs-lisp/loaddefs-gen.el @@ -512,7 +512,7 @@ If COMPILE, don't include a \"don't compile\" cookie." (defun loaddefs-generate (dir output-file &optional excluded-files extra-data include-package-version generate-full) - "Generate loaddefs files for Lisp files in the directories DIRS. + "Generate loaddefs files for Lisp files in one or more directories given by DIR. DIR can be either a single directory or a list of directories. The autoloads will be written to OUTPUT-FILE. If any Lisp file @@ -520,7 +520,7 @@ binds `generated-autoload-file' as a file-local variable, write its autoloads into the specified file instead. The function does NOT recursively descend into subdirectories of the -directory or directories specified by DIRS. +directories specified by DIR. Optional argument EXCLUDED-FILES, if non-nil, should be a list of files, such as preloaded files, whose autoloads should not be written -- cgit v1.2.3 From 212e94c3f445ebe1388f6fab134133ebad9316d0 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Fri, 23 Sep 2022 17:58:41 +0200 Subject: Make loaddefs-gen register parent :groups from defcustom * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload): Also register parent :groups from `defgroup' entries (bug#58015). --- lisp/emacs-lisp/loaddefs-gen.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lisp/emacs-lisp/loaddefs-gen.el') diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el index 5819a26eb54..095d6b14e63 100644 --- a/lisp/emacs-lisp/loaddefs-gen.el +++ b/lisp/emacs-lisp/loaddefs-gen.el @@ -287,10 +287,14 @@ expression, in which case we want to handle forms differently." ;; In Emacs this is normally handled separately by cus-dep.el, but for ;; third party packages, it can be convenient to explicitly autoload ;; a group. - (let ((groupname (nth 1 form))) + (let ((groupname (nth 1 form)) + (parent (eval (plist-get form :group) t))) `(let ((loads (get ',groupname 'custom-loads))) (if (member ',file loads) nil - (put ',groupname 'custom-loads (cons ',file loads)))))) + (put ',groupname 'custom-loads (cons ',file loads)) + ,@(when parent + `((put ',parent 'custom-loads + (cons ',groupname (get ',parent 'custom-loads))))))))) ;; When processing a macro expansion, any expression ;; before a :autoload-end should be included. These are typically (put -- cgit v1.2.3 From 9fb0aaa1ce4ed0050d2e13552f078a563c8a20ed Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Tue, 4 Oct 2022 13:04:16 +0200 Subject: Make loaddefs-generate more resilient * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Don't bug out when there's an existing loaddefs file that's not formatted properly (bug#58280). --- lisp/emacs-lisp/loaddefs-gen.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lisp/emacs-lisp/loaddefs-gen.el') diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el index 095d6b14e63..964d23c770e 100644 --- a/lisp/emacs-lisp/loaddefs-gen.el +++ b/lisp/emacs-lisp/loaddefs-gen.el @@ -632,7 +632,7 @@ instead of just updating them with the new/changed autoloads." ;; It's a new file; put the data at the end. (progn (goto-char (point-max)) - (search-backward "\f\n")) + (search-backward "\f\n" nil t)) ;; Delete the old version of the section. (delete-region (match-beginning 0) (and (search-forward "\n\f\n;;;") -- cgit v1.2.3