<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs, branch scratch/native-comp-eln-caches</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>* test/src/comp-tests.el (comp-tests-bootstrap): Fix test for new eln setup.</title>
<updated>2020-08-16T18:44:56+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-16T18:44:56+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=df1c314365612878d6cd7f08c8916970cfa6db98'/>
<id>df1c314365612878d6cd7f08c8916970cfa6db98</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>* Introduce `load-no-native'</title>
<updated>2020-08-16T18:40:44+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-16T18:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=aa644a7e9e085ad9838fcdfc01950fdb55a952e7'/>
<id>aa644a7e9e085ad9838fcdfc01950fdb55a952e7</id>
<content type='text'>
Given load loads automatically a .eln in place of a .elc we need a way
to force the .elc load in the case we really want it.

	* src/lread.c (syms_of_lread): Define `load-no-native'.
	(maybe_swap_for_eln): Make use of.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given load loads automatically a .eln in place of a .elc we need a way
to force the .elc load in the case we really want it.

	* src/lread.c (syms_of_lread): Define `load-no-native'.
	(maybe_swap_for_eln): Make use of.
</pre>
</div>
</content>
</entry>
<entry>
<title>* Remove a false permission related error while native compiling</title>
<updated>2020-08-16T15:04:59+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-16T14:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7dd45e5b87da42fa9b868822979904fc214fad50'/>
<id>7dd45e5b87da42fa9b868822979904fc214fad50</id>
<content type='text'>
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not crash if
	native compiling we have no permission to create the .elc
	file.  We are not creating it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not crash if
	native compiling we have no permission to create the .elc
	file.  We are not creating it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow for native compiling .el.gz files</title>
<updated>2020-08-16T15:04:52+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-16T12:33:25+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d6d575831ef5ee45b0625a60ea1469de36f9a7fa'/>
<id>d6d575831ef5ee45b0625a60ea1469de36f9a7fa</id>
<content type='text'>
This is needed for installed instances compiled with NATIVE_FAST_BOOT

	* src/comp.c (maybe_defer_native_compilation): Search for .el.gz
	too as a source if the .el is not found.
	(Fcomp_el_to_eln_filename): Remove the .gz in case to
	generate the hash.

	* lisp/emacs-lisp/comp.el (comp-valid-source-re): New defconst.
	(comp-run-async-workers, native-compile-async): Make use of
	`comp-valid-source-re'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is needed for installed instances compiled with NATIVE_FAST_BOOT

	* src/comp.c (maybe_defer_native_compilation): Search for .el.gz
	too as a source if the .el is not found.
	(Fcomp_el_to_eln_filename): Remove the .gz in case to
	generate the hash.

	* lisp/emacs-lisp/comp.el (comp-valid-source-re): New defconst.
	(comp-run-async-workers, native-compile-async): Make use of
	`comp-valid-source-re'.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make install target functional for new eln-cache directory arrangement</title>
<updated>2020-08-16T13:21:16+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-16T09:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b296fb025c36af2ca13b04252fafb63faedcd9d1'/>
<id>b296fb025c36af2ca13b04252fafb63faedcd9d1</id>
<content type='text'>
	* src/comp.h (fixup_eln_load_path): New extern.

	* src/comp.c (fixup_eln_load_path): New function.

	* src/pdumper.c (dump_do_dump_relocation): Update to make use of
	'fixup_eln_load_path'.

	* lisp/loadup.el: Update to store in the compilation unit the
	correct eln-cache installed path. Rename --lisp-dest -&gt; --eln-dest
	and.

	* Makefile.in: Pass the eln destination directory to
	src/Makefile. Rename LISP_DESTDIR -&gt; ELN_DESTDIR.
	(ELN_DESTDIR): Define.
	(install-eln): New target.
	(install): Add install-eln as prerequisite.

	* src/Makefile.in: Rename --lisp-dest -&gt; --eln-dest and
	LISP_DESTDIR -&gt; ELN_DESTDIR.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* src/comp.h (fixup_eln_load_path): New extern.

	* src/comp.c (fixup_eln_load_path): New function.

	* src/pdumper.c (dump_do_dump_relocation): Update to make use of
	'fixup_eln_load_path'.

	* lisp/loadup.el: Update to store in the compilation unit the
	correct eln-cache installed path. Rename --lisp-dest -&gt; --eln-dest
	and.

	* Makefile.in: Pass the eln destination directory to
	src/Makefile. Rename LISP_DESTDIR -&gt; ELN_DESTDIR.
	(ELN_DESTDIR): Define.
	(install-eln): New target.
	(install): Add install-eln as prerequisite.

	* src/Makefile.in: Rename --lisp-dest -&gt; --eln-dest and
	LISP_DESTDIR -&gt; ELN_DESTDIR.
</pre>
</div>
</content>
</entry>
<entry>
<title>* Deferred compilation must always compile despite source file timestamp</title>
<updated>2020-08-15T18:54:44+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-15T18:12:46+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=19a9ecf90b810bb62555bfec4a8287125a5a6e31'/>
<id>19a9ecf90b810bb62555bfec4a8287125a5a6e31</id>
<content type='text'>
	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile
	if load is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* lisp/emacs-lisp/comp.el (comp-run-async-workers): Always compile
	if load is set.
</pre>
</div>
</content>
</entry>
<entry>
<title>* Do not fail if more then one level of directories has to be created</title>
<updated>2020-08-15T18:54:44+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-15T09:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=ade825bafc904afc5231c0b5a9e4fecfb881ddc7'/>
<id>ade825bafc904afc5231c0b5a9e4fecfb881ddc7</id>
<content type='text'>
	* lisp/emacs-lisp/comp.el (native-compile-async): Call
	make-directory if necessary.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* lisp/emacs-lisp/comp.el (native-compile-async): Call
	make-directory if necessary.
</pre>
</div>
</content>
</entry>
<entry>
<title>* Prevent recursive load</title>
<updated>2020-08-15T18:54:44+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-15T08:54:22+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=f319c09ba9800345f44866200334608ea71dba78'/>
<id>f319c09ba9800345f44866200334608ea71dba78</id>
<content type='text'>
Prevent autoload to kicks in while running `native-compile-async'.
Autoload cannot be used safely by functions serving deferred
compilation as a circular load can be triggered if the dependency is
not native compiled already.

	* lisp/emacs-lisp/comp.el (warnings): Add require.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevent autoload to kicks in while running `native-compile-async'.
Autoload cannot be used safely by functions serving deferred
compilation as a circular load can be triggered if the dependency is
not native compiled already.

	* lisp/emacs-lisp/comp.el (warnings): Add require.
</pre>
</div>
</content>
</entry>
<entry>
<title>Some Makefile updates and clean-up</title>
<updated>2020-08-15T18:54:34+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-14T07:05:31+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d0f67ece8902248f820b04e9cb674dd0d7579d53'/>
<id>d0f67ece8902248f820b04e9cb674dd0d7579d53</id>
<content type='text'>
	* Makefile.in (clean): Remove 'eln-cache' folder.

	* lisp/Makefile.in (.SUFFIXES): Remove .eln.
	(native-compile-clean): Target remove.
	(compile-always, bootstrap-clean): Remove 'native-compile-clean'
	prerequisite.

	* src/Makefile.in (%.eln): Remove rule.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* Makefile.in (clean): Remove 'eln-cache' folder.

	* lisp/Makefile.in (.SUFFIXES): Remove .eln.
	(native-compile-clean): Target remove.
	(compile-always, bootstrap-clean): Remove 'native-compile-clean'
	prerequisite.

	* src/Makefile.in (%.eln): Remove rule.
</pre>
</div>
</content>
</entry>
<entry>
<title>Make comp-deferred-compilation a simple global and set it on by default</title>
<updated>2020-08-15T18:40:47+00:00</updated>
<author>
<name>Andrea Corallo</name>
</author>
<published>2020-08-13T21:47:54+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=0266246bb5f37b95fe578f500b920be3dced2680'/>
<id>0266246bb5f37b95fe578f500b920be3dced2680</id>
<content type='text'>
	* src/comp.c (comp_deferred_compilation): Doc update and set it to
	true by default.

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation): Remove
	customize.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* src/comp.c (comp_deferred_compilation): Doc update and set it to
	true by default.

	* lisp/emacs-lisp/comp.el (comp-deferred-compilation): Remove
	customize.
</pre>
</div>
</content>
</entry>
</feed>
