bug#81332: info/dir and INFO_NONMISC are not gated by DOCLANGS
Boris <[email protected]> Wed, 05 Aug 2026 07:00:11 +0000
| Newsgroups | gmane.emacs.bugs |
|---|---|
| Message-ID | <DJnXAgzvTE8FxN4oHtvv6etDIz00XTAvpEnJzQNlBkBFRH5iJbmOtw_oeV5EZdG6_o6ci32AewVJ5xQ0Az5pi1dl7S1ETjDIo8QXH6CTx78=@d12frosted.io> |
--b1=_tIxmDcPwwKsnfgbVQGEFN3orHNo7rZEDIsLIQnauZQ Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Patch attached. It adds MANDATORY_DOC_DIRS (emacs, lispintro, lispref) and makes FILTER_DOC= LANGS always return the default language for those directories, so they are= built whatever DOCLANGS says. info/dir and INFO_NONMISC stay as they are, = since listing those three manuals unconditionally is now correct, and build= -aux is untouched. That is one variable and one $(if), so I hope it stays c= heap to maintain. Vincent, on your questions: - translations of those three manuals, if we ever get them, are not mandato= ry: they are selected by DOCLANGS like every other translation, and add to = the default language rather than replace it - so I do not think we need a "mandatory" pseudo language. What is mandator= y here is a manual, not a language, and the forcing sits in the per-directo= ry language list. If doc/translations/fr/emacs shows up one day, doc/emacs = simply builds default plus fr - doc strings pointing at a manual in the user preferred language is a sepa= rate topic, I did not touch anything there - your doc/emacs/foo.texi case: the forcing above does not depend on TRANSL= ATED_DIRS, so the build side is fine. What would need work is the default l= anguage part of srcdir_doc_info_dir_inputs, which still names the three man= uals explicitly and knows nothing about a second manual in those directorie= s. Nothing to do until such a manual exists, and it is independent of this = patch doc/misc keeps honoring DOCLANGS, as before. Tested on top of d044ca25d03: - DOCLANGS=3D'default': no change at all, info/dir is byte for byte the sam= e as without the patch (65 manuals) - DOCLANGS=3D'default fr': unchanged too, 66 manuals including SES-fr, and = "make -j8 emacs-info lispintro-info lispref-info" copies each file exactly = once, no "File exists" - DOCLANGS=3D'fr': without the patch emacs-info, lispintro-info and lispref= -info have no prerequisites at all, so nothing is built. With the patch eac= h of them builds the default language, emacs.info, eintr.info and elisp.inf= o are produced, and info/dir lists Emacs, Emacs Lisp Intro, Elisp and SES-f= r - DOCLANGS=3D'' (and blanks only): same three manuals are built, info/dir lists just them, so make-info-dir still gets enough arguments Let me know if something is amiss. Cheers, [email protected] On Tuesday, 4 August 2026 at 15:56, Eli Zaretskii <[email protected]> wrote: > > From: Vincent Bela=C3=AFche <[email protected]> > > CC: "[email protected]" <[email protected]> > > Date: Tue, 4 Aug 2026 12:14:49 +0000 > > > > IMHO it is not such a good idea to have specific handling for some manu= als. This makes makefiles more > > complex and hard to maintain. >=20 > I respectfully disagree. >=20 > > Concerning Eli's point: > > > > > THose 3 manuals must always be built and always be installed, > > > regardless of DOCLANGS. > > > > I acknowledge that some manuals are really needed to be installed in a = normal build. However, on the other > > hand, it should be possible for the aware user to configure the build w= ithout those manuals. I mean that it > > should be possible to build the Emacs executable on a machine on which = the makeinfo tools are not available. > > The Emacs executable should be able to be installed, start and run w/o = crashing even though the mandatory > > manuals are not installed. The user should get some error message, just= like when some application's DLL is > > not there and you cannot load it, one gets an error message telling whi= ch DLL is missing. >=20 > When makeinfo is not available, it's a separate issue. We already > provide the Info manuals as part of the release tarballs, so users who > build their own Emacs from a release tarball have no problem with > that. For building from Git, makeinfo is a prerequisite. >=20 > > I understand that this is not the case, and currently makeinfo is a bui= ld prerequisite. Please don't take me > > wrong: I am not saying that the user should be anyhow encouraged not to= compile & install the manuals. My > > point is that having some manual build mandated prevents code factoriza= tion in the makefiles, and that also > > prevents aware users to disable the manual building (at their own risks= of not getting appropriate documentation > > when using Emacs) to get some minimalistic build. My recommendation is = that makeinfo should just be highly > > recommended, but just like the TeX texinfo compiler, should not be abso= lutely mandated (meaning that it is ok if > > there is some trick like setting DOCLANGS to ' ' to disable manual comp= ilation altogether). >=20 > I realize that this makes the build more complex, but having these 3 > manuals is from my POV a requirement. Emacs can run without them, and > will not crash, but we don't want such situation to happen just > because DOCLANGS was set to some value. > --b1=_tIxmDcPwwKsnfgbVQGEFN3orHNo7rZEDIsLIQnauZQ Content-Type: application/octet-stream; name=0001-Always-build-the-Emacs-Elisp-and-Intro-manuals-bug-8.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Always-build-the-Emacs-Elisp-and-Intro-manuals-bug-8.patch RnJvbSAxZWNhZmJiYTQ0ZWJhOGIwYmZkZTgyMWY2MmFlZTNlNDlmNzg0NzExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCb3JpcyBCdWxpZ2EgPGJvcmlzQGQxMmZyb3N0ZWQuaW8+CkRh dGU6IFdlZCwgNSBBdWcgMjAyNiAwOTo1MDozNyArMDMwMApTdWJqZWN0OiBbUEFUQ0hdIEFsd2F5 cyBidWlsZCB0aGUgRW1hY3MsIEVsaXNwIGFuZCBJbnRybyBtYW51YWxzIChidWcjODEzMzIpCgpU aGUgbWFudWFscyBpbiBkb2MvZW1hY3MsIGRvYy9saXNwaW50cm8gYW5kIGRvYy9saXNwcmVmIGhh dmUgbm8KdHJhbnNsYXRpb25zLCBzbyBmaWx0ZXJpbmcgdGhlIHBlci1kaXJlY3RvcnkgbGFuZ3Vh Z2UgbGlzdCBieSBET0NMQU5HUwpsZWZ0IHRob3NlIGRpcmVjdG9yaWVzIHdpdGggbm90aGluZyB0 byBidWlsZCB3aGVuIERPQ0xBTkdTIGRvZXMgbm90CmluY2x1ZGUgJ2RlZmF1bHQnLiAgVGhlc2Ug dGhyZWUgbWFudWFscyBtdXN0IGJlIGJ1aWx0IGFuZCBpbnN0YWxsZWQKcmVnYXJkbGVzcyBvZiBE T0NMQU5HUzogdGhlIEVtYWNzIGFuZCBFbWFjcyBMaXNwIG1hbnVhbHMgYXJlCnJlZmVyZW5jZWQg ZnJvbSBkb2Mgc3RyaW5ncywgYW5kIHRoZSBJbnRyb2R1Y3Rpb24gdG8gRW1hY3MgTGlzcApQcm9n cmFtbWluZyBpcyBhbiBpbXBvcnRhbnQgZW5vdWdoIHBhcnQgb2YgRW1hY3MgdG8gYmUgYXZhaWxh YmxlCndoYXRldmVyIHRoZSBsYW5ndWFnZSBwcmVmZXJlbmNlcyBvZiB0aGUgdXNlciB3aG8gYnVp bGRzIHRoZSBtYW51YWxzLgoKKiBNYWtlZmlsZS5pbiAoTUFOREFUT1JZX0RPQ19ESVJTKTogTmV3 IHZhcmlhYmxlLgooRklMVEVSX0RPQ0xBTkdTKTogVXNlIGl0IHRvIGFsd2F5cyBidWlsZCB0aGUg ZGVmYXVsdCBsYW5ndWFnZSBmb3IKdGhvc2UgZGlyZWN0b3JpZXMuCihJTkZPX05PTk1JU0MsIHNy Y2Rpcl9kb2NfaW5mb19kaXJfaW5wdXRzKTogU2F5IHdoeSB0aGVzZSBhcmUgbm90CmdhdGVkIGJ5 IERPQ0xBTkdTLgoqIGRvYy90cmFuc2xhdGlvbnMvUkVBRE1FOiBEb2N1bWVudCB0aGF0IHRob3Nl IHRocmVlIG1hbnVhbHMgYXJlCmFsd2F5cyBidWlsdCBpbiB0aGUgZGVmYXVsdCBsYW5ndWFnZS4K LS0tCiBNYWtlZmlsZS5pbiAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0KIGRvYy90cmFuc2xhdGlvbnMvUkVBRE1FIHwgIDYgKysrKysrCiAyIGZpbGVzIGNoYW5n ZWQsIDI0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL01ha2Vm aWxlLmluIGIvTWFrZWZpbGUuaW4KaW5kZXggNTM0ZDhkY2EzOGYuLmU1OGQyYWEzNjY3IDEwMDY0 NAotLS0gYS9NYWtlZmlsZS5pbgorKysgYi9NYWtlZmlsZS5pbgpAQCAtMTc2LDYgKzE3Niw3IEBA IG1hbjFkaXI9CiAjIFdoZXJlIHRvIGluc3RhbGwgYW5kIGV4cGVjdCB0aGUgaW5mbyBmaWxlcyBk ZXNjcmliaW5nIEVtYWNzLgogaW5mb2Rpcj1AaW5mb2RpckAKICMgSW5mbyBmaWxlcyBub3QgaW4g dGhlIGRvYy9taXNjIGRpcmVjdG9yeSAod2UgZ2V0IHRob3NlIHZpYSBtYWtlIGVjaG8taW5mbyku CisjIFRoZXNlIGFyZSBub3QgZ2F0ZWQgYnkgRE9DTEFOR1M6IHNlZSBNQU5EQVRPUllfRE9DX0RJ UlMgYmVsb3cuCiBJTkZPX05PTk1JU0M9ZW1hY3MuaW5mbyBlaW50ci5pbmZvIGVsaXNwLmluZm8K IAogIyBEaXJlY3RvcnkgZm9yIGxvY2FsIHN0YXRlIGZpbGVzIGZvciBhbGwgcHJvZ3JhbXMuCkBA IC0xMTUxLDE2ICsxMTUyLDIyIEBAICQoMSktRE9DTEFORy0kKDIpOgogCSQkKE1BS0UpIC1DIGRv Yy8kJChzdWJzdCAtLCBET0NMQU5HPSQoMikgLCQoMSkpCiAKIGVuZGVmCisjIyBEaXJlY3Rvcmll cyB3aG9zZSBtYW51YWxzIGFyZSBhbHdheXMgYnVpbHQgaW4gdGhlIGRlZmF1bHQgbGFuZ3VhZ2Us CisjIyB3aGF0ZXZlciBET0NMQU5HUyBzYXlzOiB0aGUgRW1hY3MgYW5kIEVtYWNzIExpc3AgbWFu dWFscyBhcmUKKyMjIHJlZmVyZW5jZWQgZnJvbSBkb2Mgc3RyaW5ncywgYW5kIHRoZSBFbWFjcyBM aXNwIEludHJvIGlzIGFuCisjIyBpbXBvcnRhbnQgZW5vdWdoIHBhcnQgb2YgRW1hY3MgdG8gYmUg YXZhaWxhYmxlIHJlZ2FyZGxlc3Mgb2YgdGhlCisjIyBsYW5ndWFnZSBwcmVmZXJlbmNlcyBvZiB0 aGUgdXNlciB3aG8gYnVpbGRzIHRoZSBtYW51YWxzLgorTUFOREFUT1JZX0RPQ19ESVJTID0gZW1h Y3MgbGlzcGludHJvIGxpc3ByZWYKICMjIExhbmd1YWdlcyBmcm9tIERPQ0xBTkdTIHRvIGJ1aWxk IHRoZSBtYW51YWxzIGluIGRvYy8kKDEpIGZvcjogdGhlCi0jIyBkZWZhdWx0IGxhbmd1YWdlICh3 aGVuIGluIERPQ0xBTkdTKSwgcGx1cyBldmVyeSBvdGhlciBsYW5ndWFnZSBpbgotIyMgRE9DTEFO R1MgdGhhdCBoYXMgdHJhbnNsYXRpb25zIGZvciB0aGlzIGRpcmVjdG9yeQotIyMgKGRvYy90cmFu c2xhdGlvbnMvPGxhbmc+LyQoMSkpLiAgRGlyZWN0b3JpZXMgd2l0aG91dCB0cmFuc2xhdGlvbnMK LSMjIGZvciBhIGxhbmd1YWdlIG11c3Qgbm90IHJ1biBhIHN1Yi1tYWtlIGZvciBpdDogdGhlIGRv YyBNYWtlZmlsZXMgb2YKLSMjIHVudHJhbnNsYXRlZCBkaXJlY3RvcmllcyBpZ25vcmUgRE9DTEFO Rywgc28gc3VjaCBhIHN1Yi1tYWtlIHdvdWxkCi0jIyBqdXN0IHJlcGVhdCB0aGUgZGVmYXVsdC1s YW5ndWFnZSBidWlsZCwgYW5kIHR3byBzdWItbWFrZXMgcHJvZHVjaW5nCi0jIyB0aGUgc2FtZSBv dXRwdXRzIHJhY2UgdW5kZXIgIm1ha2UgLWoiIChlLmcuICJjcDogY2Fubm90IGNyZWF0ZQotIyMg cmVndWxhciBmaWxlIC4uLjogRmlsZSBleGlzdHMiKS4KLUZJTFRFUl9ET0NMQU5HUyA9ICQoZmls dGVyICQoRE9DTEFOR1MpLGRlZmF1bHQpICQoZm9yZWFjaCBsYW5nLCQoZmlsdGVyLW91dCBkZWZh dWx0LCQoRE9DTEFOR1MpKSwkKGlmICQod2lsZGNhcmQgJHtzcmNkaXJ9L2RvYy90cmFuc2xhdGlv bnMvJChsYW5nKS8kKDEpKSwkKGxhbmcpKSkKKyMjIGRlZmF1bHQgbGFuZ3VhZ2UgKHdoZW4gaW4g RE9DTEFOR1MsIG9yIGFsd2F5cyBmb3IgdGhlIGRpcmVjdG9yaWVzCisjIyBhYm92ZSksIHBsdXMg ZXZlcnkgb3RoZXIgbGFuZ3VhZ2UgaW4gRE9DTEFOR1MgdGhhdCBoYXMgdHJhbnNsYXRpb25zCisj IyBmb3IgdGhpcyBkaXJlY3RvcnkgKGRvYy90cmFuc2xhdGlvbnMvPGxhbmc+LyQoMSkpLiAgRGly ZWN0b3JpZXMKKyMjIHdpdGhvdXQgdHJhbnNsYXRpb25zIGZvciBhIGxhbmd1YWdlIG11c3Qgbm90 IHJ1biBhIHN1Yi1tYWtlIGZvciBpdDoKKyMjIHRoZSBkb2MgTWFrZWZpbGVzIG9mIHVudHJhbnNs YXRlZCBkaXJlY3RvcmllcyBpZ25vcmUgRE9DTEFORywgc28KKyMjIHN1Y2ggYSBzdWItbWFrZSB3 b3VsZCBqdXN0IHJlcGVhdCB0aGUgZGVmYXVsdC1sYW5ndWFnZSBidWlsZCwgYW5kCisjIyB0d28g c3ViLW1ha2VzIHByb2R1Y2luZyB0aGUgc2FtZSBvdXRwdXRzIHJhY2UgdW5kZXIgIm1ha2UgLWoi IChlLmcuCisjIyAiY3A6IGNhbm5vdCBjcmVhdGUgcmVndWxhciBmaWxlIC4uLjogRmlsZSBleGlz dHMiKS4KK0ZJTFRFUl9ET0NMQU5HUyA9ICQoaWYgJChmaWx0ZXIgJCgxKSwkKE1BTkRBVE9SWV9E T0NfRElSUykpLGRlZmF1bHQsJChmaWx0ZXIgJChET0NMQU5HUyksZGVmYXVsdCkpICQoZm9yZWFj aCBsYW5nLCQoZmlsdGVyLW91dCBkZWZhdWx0LCQoRE9DTEFOR1MpKSwkKGlmICQod2lsZGNhcmQg JHtzcmNkaXJ9L2RvYy90cmFuc2xhdGlvbnMvJChsYW5nKS8kKDEpKSwkKGxhbmcpKSkKICMgJCgx KSA9IGRvYyB0YXJnZXQgKGUuZy4gbGlzcGludHJvLWluZm8pLCAkKDIpID0gbGFuZ3VhZ2VzIHRv IGJ1aWxkCiBkZWZpbmUgTUFLRV9ET0MKICMgRGVmaW5lIGEgdGFyZ2V0IHRvIHdoaWNoIGRlcGVu ZGVuY2llcyBjb21tb24gdG8gYWxsIG9mIHRoZSBkb2MgZmlsZXMKQEAgLTEyMDcsNyArMTIxNCw4 IEBAIGRlZmluZSBzZXRfdGV4aV9taXNjCiAjIyB3b3VsZCBicmVhayBpbiBhIGZyZXNoIGNoZWNr b3V0LCBiZWNhdXNlIHRoZSAudGV4aSBmaWxlcyBvZiB0aGUKICMjIG9yZy1iYXNlZCBtYW51YWxz IChlLmcuIG1vZHVzLXRoZW1lcy50ZXhpKSBhcmUgZ2VuZXJhdGVkIGFuZCB0aGVyZQogIyMgaXMg bm8gcnVsZSB0byBidWlsZCB0aGVtIGF0IHRoaXMgbGV2ZWwuICBtYWtlLWluZm8tZGlyIGV4dHJh Y3RzIGRpcgotIyMgZW50cmllcyBmcm9tIGJvdGggZm9ybWF0cy4KKyMjIGVudHJpZXMgZnJvbSBi b3RoIGZvcm1hdHMuICBUaGUgZmlyc3QgdGhyZWUgYXJlIG5vdCBnYXRlZCBieQorIyMgRE9DTEFO R1MsIGJlY2F1c2UgTUFOREFUT1JZX0RPQ19ESVJTIGFsd2F5cyBidWlsZHMgdGhlbS4KIHNyY2Rp cl9kb2NfaW5mb19kaXJfaW5wdXRzIDo9IFwKICAgJHtzcmNkaXJ9L2RvYy9lbWFjcy9lbWFjcy50 ZXhpIFwKICAgJHtzcmNkaXJ9L2RvYy9saXNwaW50cm8vZW1hY3MtbGlzcC1pbnRyby50ZXhpIFwK ZGlmZiAtLWdpdCBhL2RvYy90cmFuc2xhdGlvbnMvUkVBRE1FIGIvZG9jL3RyYW5zbGF0aW9ucy9S RUFETUUKaW5kZXggNDljNjNlZjYyYWQuLmY2OWQ4MjAyMTViIDEwMDY0NAotLS0gYS9kb2MvdHJh bnNsYXRpb25zL1JFQURNRQorKysgYi9kb2MvdHJhbnNsYXRpb25zL1JFQURNRQpAQCAtMzgsNiAr MzgsMTIgQEAgb2YgbGFuZ3VhZ2VzLiAgLi9jb25maWd1cmUgLS1oZWxwIGZvciB2YWx1ZXMgc3Vw cG9ydGVkLiAgRm9yIGluc3RhbmNlOgogdG8gbWFrZSBhbGwgbWFudWFscyBmcm9tIHRoZSBtaXNj IHN1YmRpcmVjdG9yeSBpbnRvIHRoZSBpbmZvIGZvcm1hdCBhbmQKIGZvciBsYW5ndWFnZSBGcmVu Y2ggb25seS4KIAorTm90ZSB0aGF0IHRoZSBFbWFjcyBtYW51YWwsIHRoZSBFbWFjcyBMaXNwIFJl ZmVyZW5jZSBtYW51YWwgYW5kIHRoZQorSW50cm9kdWN0aW9uIHRvIEVtYWNzIExpc3AgUHJvZ3Jh bW1pbmcgYXJlIGFsd2F5cyBidWlsdCBpbiB0aGUgZGVmYXVsdAorbGFuZ3VhZ2UsIHdoYXRldmVy IERPQ0xBTkdTIHNheXM6IHRoZSBmaXJzdCB0d28gYXJlIHJlZmVyZW5jZWQgZnJvbSBkb2MKK3N0 cmluZ3MsIGFuZCBhbGwgdGhyZWUgYXJlIGV4cGVjdGVkIHRvIGJlIHBhcnQgb2YgYW55IEVtYWNz IGJ1aWxkLgorVGhlaXIgdHJhbnNsYXRpb25zLCBpZiBhbnksIGFyZSBzZWxlY3RlZCBieSBET0NM QU5HUyBhcyB1c3VhbC4KKwogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2U6CiAKICAgIG1ha2Ug LUMgZG9jL0RJUiBGT1JNQVQKLS0gCjIuNTIuMAoK --b1=_tIxmDcPwwKsnfgbVQGEFN3orHNo7rZEDIsLIQnauZQ--