emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Re: 2a529ee57 org-element: Autoload org-element-use-cache
@ 2022-12-13  8:54 Ihor Radchenko
  2022-12-14  3:23 ` Kyle Meyer
  0 siblings, 1 reply; 3+ messages in thread
From: Ihor Radchenko @ 2022-12-13  8:54 UTC (permalink / raw)
  To: Kyle Meyer, emacs-orgmode

Hi,

You wrote in the commit message that autoload.el is deprecated in Emacs
29. Do we need to do anything about it in Org make system?

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 2a529ee57 org-element: Autoload org-element-use-cache
  2022-12-13  8:54 2a529ee57 org-element: Autoload org-element-use-cache Ihor Radchenko
@ 2022-12-14  3:23 ` Kyle Meyer
  2022-12-14 10:04   ` Ihor Radchenko
  0 siblings, 1 reply; 3+ messages in thread
From: Kyle Meyer @ 2022-12-14  3:23 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

Ihor Radchenko writes:

> You wrote in the commit message that autoload.el is deprecated in Emacs
> 29. Do we need to do anything about it in Org make system?

Yes, though I don't consider it urgent given the deprecation hasn't even
made it into a release.  I was planning on doing something like below
(only lightly tested at this point).  And then way down the road we can
drop the compatibility kludge.


diff --git a/mk/org-fixup.el b/mk/org-fixup.el
index 5989875a8..60c39c684 100644
--- a/mk/org-fixup.el
+++ b/mk/org-fixup.el
@@ -24,7 +24,6 @@
 ;;
 ;;; Commentary:
 
-(require 'autoload)
 (require 'org-compat "org-compat.el")
 
 (defun org-make-manual ()
@@ -86,18 +85,22 @@ (defun org-make-org-loaddefs ()
 be used by foreign build systems or installers to produce this
 file in the installation directory of Org mode.  Org will not
 work correctly if this file is not up-to-date."
-  (with-temp-buffer
-    (set-visited-file-name "org-loaddefs.el")
-    (insert ";;; org-loaddefs.el --- autogenerated file, do not edit\n;;\n;;; Code:\n")
-    (let ((files (directory-files default-directory
-				  nil "^\\(org\\|ob\\|ox\\|ol\\|oc\\)\\(-.*\\)?\\.el$")))
-      (mapc (lambda (f) (generate-file-autoloads f)) files))
-    (insert "\f\n(provide 'org-loaddefs)\n")
-    (insert "\f\n;; Local Variables:\n;; version-control: never\n")
-    (insert ";; no-byte-compile: t\n;; no-update-autoloads: t\n")
-    (insert ";; coding: utf-8\n;; End:\n;;; org-loaddefs.el ends here\n")
-    (let ((inhibit-read-only t))
-      (save-buffer))))
+  (let ((outfile "org-loaddefs.el"))
+    (if (fboundp 'loaddefs-generate)    ; Emacs >= 29
+        (loaddefs-generate default-directory (expand-file-name outfile))
+      (require 'autoload)
+      (with-temp-buffer
+        (set-visited-file-name outfile)
+        (insert ";;; org-loaddefs.el --- autogenerated file, do not edit\n;;\n;;; Code:\n")
+        (let ((files (directory-files default-directory
+                                      nil "^\\(org\\|ob\\|ox\\|ol\\|oc\\)\\(-.*\\)?\\.el$")))
+          (mapc (lambda (f) (generate-file-autoloads f)) files))
+        (insert "\f\n(provide 'org-loaddefs)\n")
+        (insert "\f\n;; Local Variables:\n;; version-control: never\n")
+        (insert ";; no-byte-compile: t\n;; no-update-autoloads: t\n")
+        (insert ";; coding: utf-8\n;; End:\n;;; org-loaddefs.el ends here\n")
+        (let ((inhibit-read-only t))
+          (save-buffer))))))
 
 (defun org-make-autoloads (&optional compile force)
   "Make the files org-loaddefs.el and org-version.el in the install directory.


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: 2a529ee57 org-element: Autoload org-element-use-cache
  2022-12-14  3:23 ` Kyle Meyer
@ 2022-12-14 10:04   ` Ihor Radchenko
  0 siblings, 0 replies; 3+ messages in thread
From: Ihor Radchenko @ 2022-12-14 10:04 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: emacs-orgmode

Kyle Meyer <kyle@kyleam.com> writes:

> Ihor Radchenko writes:
>
>> You wrote in the commit message that autoload.el is deprecated in Emacs
>> 29. Do we need to do anything about it in Org make system?
>
> Yes, though I don't consider it urgent given the deprecation hasn't even
> made it into a release.  I was planning on doing something like below
> (only lightly tested at this point).  And then way down the road we can
> drop the compatibility kludge.

Thanks! Looks reasonable and straightforward.

That comment could better be a FIXME though.
For easier future reference
(I recently added a reminder to review FIXME comments before releases https://orgmode.org/worg/org-maintenance.html#minor-major-releases).

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-12-14 10:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-13  8:54 2a529ee57 org-element: Autoload org-element-use-cache Ihor Radchenko
2022-12-14  3:23 ` Kyle Meyer
2022-12-14 10:04   ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).