From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Uwe Brauer Newsgroups: gmane.emacs.devel Subject: Re: 29.2: (void-function batch-update-autoloads) Date: Mon, 26 Aug 2024 14:35:54 +0200 Message-ID: <87ed6bpil1.fsf@mat.ucm.es> References: <87ikvpt264.fsf@mat.ucm.es> <86jzg4lu0p.fsf@gnu.org> <871q2csh9l.fsf@mat.ucm.es> <861q2clauk.fsf@gnu.org> Reply-To: Uwe Brauer Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=sha256; protocol="application/pkcs7-signature" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14128"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Uwe Brauer , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 26 14:37:44 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1siYye-0003WM-0O for ged-emacs-devel@m.gmane-mx.org; Mon, 26 Aug 2024 14:37:44 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1siYxo-0008Am-7l; Mon, 26 Aug 2024 08:36:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1siYxl-00086g-C7 for emacs-devel@gnu.org; Mon, 26 Aug 2024 08:36:50 -0400 Original-Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1siYxO-0005Yk-5i for emacs-devel@gnu.org; Mon, 26 Aug 2024 08:36:49 -0400 Original-Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-a80eab3945eso416121166b.1 for ; Mon, 26 Aug 2024 05:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mat.ucm.es; s=google; t=1724675762; x=1725280562; darn=gnu.org; h=mime-version:user-agent:message-id:date:reply-to:references:subject :cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=vnXljMkt2ium7DixaF4lgrJKNT39KpIMV3Vj5liwsuY=; b=O+5MA0VsME9IPy/LI02hyYTLdr99+8grAQZxfRnvys92mSvmMrZ3er2UgcBuYluac8 btQHPbx1oQeXTeH8p2RdF91ER4Pdbom2PERqrwcel4ZSKlfrNZzVVzsN+XuAO0Xffs55 7BRX190f5qp0LMwHavIp5A77AIM7tTwDI0fE4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724675762; x=1725280562; h=mime-version:user-agent:message-id:date:reply-to:references:subject :cc:to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=vnXljMkt2ium7DixaF4lgrJKNT39KpIMV3Vj5liwsuY=; b=KqF6mz4yqESFbcTeyxmHubfepO3M86IuHjgTOOZMNGZoyCSVLpZzx8BzmOsDpJbAEv O3ZS7ENFnkBKk9h4bxUine7SChGQvNd3u9mjicjuCCQZaBjNQQSJYes/y5did6Cqwfux uCsJZ6LiIwlRsw58jfVGrySFyJFaeYF0fWl5WU2HHT3+N7oydOh6qYlDw8VXDwPR1VQA 3S/4aStFL4pDd6AtU2TyL87RDZ9ShcIsxn3TVaAFhM4xbFpbGC8m1E4o0vosgbsO676g vX76bS4ccboRMpz+sw/6XrwkZQrTlEe4uPXkZ+OCHQ67+IBXpHIoSSTU5CZysHHg1/Hp Si7Q== X-Forwarded-Encrypted: i=1; AJvYcCWvtHaFyYSbfnAWt5VurNT93s8xouVqqnuKsvGS0FB29faADrY92JKVD/p4kHtgrTlWtxn5jz3SSke6Ag==@gnu.org X-Gm-Message-State: AOJu0YxZifL2BtaYQU7T1oiLTO1neCW2vbsppJYc+/UvaEHAHNC6r2HX TN+A+sRVPJO0mzNAC6SS1MQeJzWCgabsdWs+bAi/wnC9lbMHDMA4kCnxrwwdmXathYmPWFHTcBe L X-Google-Smtp-Source: AGHT+IGEKjGfXsO0IA9lOrPAdjKeoy4T5SWfa4qFfezistKlMDr0BoemZj1iHArGZrSBaBCevxAfNQ== X-Received: by 2002:a17:906:f59c:b0:a86:9ba1:63ac with SMTP id a640c23a62f3a-a86a5168f27mr638400766b.14.1724675761333; Mon, 26 Aug 2024 05:36:01 -0700 (PDT) Original-Received: from Utnapischtim (p200300fb0f3e6c6911b9aac5f4196f28.dip0.t-ipconnect.de. [2003:fb:f3e:6c69:11b9:aac5:f419:6f28]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a868f29eaadsm658884266b.67.2024.08.26.05.36.00 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 26 Aug 2024 05:36:00 -0700 (PDT) X-Mailer: emacs 29.2 (via feedmail 11-beta-1 I) Received-SPF: pass client-ip=2a00:1450:4864:20::632; envelope-from=oub@ucm.es; helo=mail-ej1-x632.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, SUBJ_LACKS_WORDS=1.834, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:323128 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >>> "EZ" =3D=3D Eli Zaretskii writes: >> ,---- >> |=20 >> | EMACS=3D/usr/local/bin/emacs >> | EMACSFLAGS=3D-batch --no-site-file --eval '(setq debug-on-error t)' >> |=20 >> | autoloads:=20 >> | $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval >> | '(setq generated-autoload-file "$(abspath $(LOADDEFS))")' -f >> | loaddefs-generate--emacs-batch $(abspath $(LOADDIRS)) >> `---- > I don't know where did you take this from. In Emacs 29.2, > lisp/Makefile says something very different: This is from our Makefile. I am not 100% sure who wrote this. Git (mercurial) seems to indicate that it was Eric Ludlam. > autoloads: $(lisp)/emacs-lisp/loaddefs-gen.elc gen-lisp > $(AM_V_GEN)$(emacs) \ > -l $(lisp)/emacs-lisp/loaddefs-gen.elc \ > -f loaddefs-generate--emacs-batch ${SUBDIRS_ALMOST} >> Using 29.2, but I receive still,=20 >> (void-function loaddefs-generate--emacs-batch) > And what is the textbook solution in Emacs for void-function errors? Asking in the list =F0=9F=98=89? ok seriously now, loading the file that de= fines that function, which the above code seems to do, if I take a closer look. But now I am deeply confused. I thought in a Makefile, that, among other things, byte compile lisp files, one should best set EMACSFLAGS=3D-batch --no-site-file=20 or something similar and the generation of autoloads would use functionalities of emacs core. As you can see in our case the generation of autoloads was done with=20 =2D-8<---------------cut here---------------start------------->8--- autoloads:=20 $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(setq generate= d-autoload-file "$(abspath $(LOADDEFS))")' -f batch-update-autoloads $(absp= ath $(LOADDIRS)) =2D-8<---------------cut here---------------end--------------->8--- While in your example a lisp file is needed to be loaded. Now the problem is that we want to cater for users with different Emacs versions 30,29,28, 27 and maybe even 26. In the case of lisp file, I know how to deal with such a situation, but for a Makefile? Shall we add a .configure file now to find out which emacs version is used and then distinguish in the Makefile whether it is <29 or >=3D29? >> That being said I just wished, that there would be a more centralised >> file or directory, where obsolete functions and variables were listed. > The lisp/obsolete/ directory is home for all such functions and > variables. Ok I should have a close look then. =2D-=20 I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel I strongly condemn Putin's war of aggression against Ukraine. I support to deliver weapons to Ukraine's military.=20 I support the EU and NATO membership of Ukraine.=20 --=-=-= Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s 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 coyM7s7kJ8nAgDeJXZ9t55HhgA6az/WaqbQtKStaLDCVgX1Wfxqqv94CdP93wp1gLln/0xzVrNYd Y3vMnoxN25n09xWMybvSK+IdqiGARS73v1vLbdpzHr2ruos+MeRigaF/Z+3W1CpiaOz2JyDA+GvM vLLXPNdjLQeh4WezhuLY34wFOal/+Lwdk4roHLcxLZSUKyNeEeHNqbBHAgMBAAGjggLIMIICxDAS BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUsdRPxCN5+kQFCcbr Oc/oNbC4IGQwgZgGCCsGAQUFBwEBBIGLMIGIMEkGCCsGAQUFBzABhj1odHRwOi8vb2NzcGZubXRy Y21jYS5jZXJ0LmZubXQuZXMvb2NzcGZubXRyY21jYS9PY3NwUmVzcG9uZGVyMDsGCCsGAQUFBzAC hi9odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9jZXJ0cy9BQ1JBSVpGTk1UUkNNLmNydDAfBgNVHSME GDAWgBT3fcX9xOiaG3dkp/UdoMy/h2CabTCB6wYDVR0gBIHjMIHgMIHdBgRVHSAAMIHUMCkGCCsG AQUFBwIBFh1odHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzCBpgYIKwYBBQUHAgIwgZkMgZZT dWpldG8gYSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGV4cHVlc3RhcyBlbiBsYSBEZWNsYXJhY2nD s24gZGUgUHLDoWN0aWNhcyBkZSBDZXJ0aWZpY2FjacOzbiBkZSBsYSBGTk1ULVJDTSAoIEMvIEpv cmdlIEp1YW4sIDEwNi0yODAwOS1NYWRyaWQtRXNwYcOxYSkwgdQGA1UdHwSBzDCByTCBxqCBw6CB wIaBkGxkYXA6Ly9sZGFwZm5tdC5jZXJ0LmZubXQuZXMvQ049Q1JMLE9VPUFDJTIwUkFJWiUyMEZO TVQtUkNNLE89Rk5NVC1SQ00sQz1FUz9hdXRob3JpdHlSZXZvY2F0aW9uTGlzdDtiaW5hcnk/YmFz ZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIYraHR0cDovL3d3dy5jZXJ0LmZubXQu ZXMvY3Jscy9BUkxGTk1UUkNNLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAjD0otOB+DfNuXNpcdz2A ZB5O6RK4yeay/yuAoHg9hEwsZYsv3PFjK+fdUkHbr/wXC4yahPIJ1F1Wop75gmbAhV6cXuqD53xG jn5f5mPtq2LvRk4nYZWBvU0CPak0D5n55mtWlQOffUv7fOJOEu+kC0S1PHoBMVsmYSCSlHUCdtbO +6zDBQgxQGylHTaeIIjOoIlWba7ZTL2QfD52IElG7BVimkFlq+CfsQI0768p4gApmZ75Yx3RlBOG QNFgjEUXBiFYWhzVMT4t/SdVsRrmP+/qhVxq4/7Z3IuMf+tN1WGHgucj8Mo8Yod25Dype6FvGBsi K7yMFP/Sfd1ZA8UHei736weWVP25JRUau0r4rKOAYsfmh7yLgY5sfsYlS2GRTARjMaKOD9aYq+b6 ODSCeVZPseJTQrh8RaV0gGX2c1qHXbJI9U3rer/yQJdLclHxwzzZl6zMtWe0+zriK1XZYquSs0D4 u27hn9RNjiW4f4hF6+j2t5Prv3QxC9isLCNKy40Ph9cjzr+YYRIa+FvAQKamF7wv+NXS5nTXIjma aCF50Gvlaoq/rgSYhc0VVnbf6aHxEUKCo9mxq1VpWgFCrUV686E8yMS/GIyDM9e97YDeBKaeD9Qo NwobMVvIv695JmF0/zniY+Tcg8QJhkQ2oBhZeMGW2bxQNGZQG3XCmBEwggdeMIIGRqADAgECAhBO 4xiw0S+63mIlHHJCk2peMA0GCSqGSIb3DQEBCwUAMEsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhG Tk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMxGTAXBgNVBAMMEEFDIEZOTVQgVXN1YXJpb3MwHhcNMjIw MzA2MjA0MTIyWhcNMjYwMzA2MjA0MTIyWjCBgTELMAkGA1UEBhMCRVMxGDAWBgNVBAUTD0lEQ0VT LVgyMDY0MTIzQjEZMBcGA1UEKgwQVVdFIFJJQ0hBUkQgT1RUTzEPMA0GA1UEBAwGQlJBVUVSMSww KgYDVQQDDCNCUkFVRVIgVVdFIFJJQ0hBUkQgT1RUTyAtIFgyMDY0MTIzQjCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAKCVRP7G6NZvrispzK4ZQtrsLnCroteQ6n0H/NfOY3PFY4ycrjKF fiRtE3G/R4aVaHS9lglvNxm9jiqtaa/dGQrHAmEdFzjsumXJZzYTGj73/XWa6ILfUke11CNN1CbG loO8SrqQKY/s2gDBRps2Dczx9Yf61lcbytdjaFEZJkhd9bfrHZyV7AonIlC9anZeV9ALS/OVowJ0 dmzJnycNe4z5KvrF0gRi+92NhsKGcqz/IzOWnH48g1ur2HOCGvX9M53zg/crp3iYtFHgwR4CeNqG E/Nwz4Bok6MOrsVDY9LdpSRrBCpwawU2JZA6uPV1DkznHb+Uw1KQ5NQMGnJf+oECAwEAAaOCBAUw ggQBMG8GA1UdEQRoMGaBDk9VQkBNQVQuVUNNLkVTpFQwUjEYMBYGCSsGAQQBrGYBBAwJWDIwNjQx MjNCMRUwEwYJKwYBBAGsZgECDAZCUkFVRVIxHzAdBgkrBgEEAaxmAQEMEFVXRSBSSUNIQVJEIE9U VE8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsG AQUFBwMCMB0GA1UdDgQWBBRlXLbbq3nLWo9hlAdzFlbFJiR5UTAfBgNVHSMEGDAWgBSx1E/EI3n6 RAUJxus5z+g1sLggZDCBggYIKwYBBQUHAQEEdjB0MD0GCCsGAQUFBzABhjFodHRwOi8vb2NzcHVz dS5jZXJ0LmZubXQuZXMvb2NzcHVzdS9PY3NwUmVzcG9uZGVyMDMGCCsGAQUFBzAChidodHRwOi8v d3d3LmNlcnQuZm5tdC5lcy9jZXJ0cy9BQ1VTVS5jcnQwggEVBgNVHSAEggEMMIIBCDCB+gYKKwYB BAGsZgMKATCB6zApBggrBgEFBQcCARYdaHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvZHBjcy8wgb0G CCsGAQUFBwICMIGwDIGtQ2VydGlmaWNhZG8gY3VhbGlmaWNhZG8gZGUgZmlybWEgZWxlY3Ryw7Nu aWNhLiBTdWpldG8gYSBsYXMgY29uZGljaW9uZXMgZGUgdXNvIGV4cHVlc3RhcyBlbiBsYSBEUEMg ZGUgbGEgRk5NVC1SQ00gY29uIE5JRjogUTI4MjYwMDQtSiAoQy9Kb3JnZSBKdWFuIDEwNi0yODAw OS1NYWRyaWQtRXNwYcOxYSkwCQYHBACL7EABADCBugYIKwYBBQUHAQMEga0wgaowCAYGBACORgEB MAsGBgQAjkYBAwIBDzATBgYEAI5GAQYwCQYHBACORgEGATB8BgYEAI5GAQUwcjA3FjFodHRwczov L3d3dy5jZXJ0LmZubXQuZXMvcGRzL1BEU0FDVXN1YXJpb3NfZXMucGRmEwJlczA3FjFodHRwczov L3d3dy5jZXJ0LmZubXQuZXMvcGRzL1BEU0FDVXN1YXJpb3NfZW4ucGRmEwJlbjCBtQYDVR0fBIGt MIGqMIGnoIGkoIGhhoGebGRhcDovL2xkYXB1c3UuY2VydC5mbm10LmVzL2NuPUNSTDU0MTksY249 QUMlMjBGTk1UJTIwVXN1YXJpb3Msb3U9Q0VSRVMsbz1GTk1ULVJDTSxjPUVTP2NlcnRpZmljYXRl UmV2b2NhdGlvbkxpc3Q7YmluYXJ5P2Jhc2U/b2JqZWN0Y2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9p bnQwDQYJKoZIhvcNAQELBQADggEBAEH6ff/NGd7OPmjKzvbBgw5oz6WReT/Z3joOg4lsmpikYU4j cFNR6FVyFxFN5c2+bR5qsG/05mZgiSDWAxn5c3jcUeDiBA26lCq3SyfJ0UNhul/MOy5ryJlBiPlk cYsz2Z0wcYftdmpDu1xIqtiTVuSTlds+Xt4ztAuGPX149BN9DuTdyaQ21nx/CXKU0iXTQHrXzjda Wu2SyjdDQDLiXOTlACs5SbLxOg/C/HkaKDP7p66soCzprt3tH9+xrX+3xNCAyCcIddNbcL7NwKzT JkRYZ+RgQoRevrm16skMma2Ogw1fF/axpJItZ/CSDsaTTnsYGIG5mr9KHpHPty01BwExggItMIIC KQIBATBfMEsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2VyZXMx GTAXBgNVBAMMEEFDIEZOTVQgVXN1YXJpb3MCEE7jGLDRL7reYiUcckKTal4wDQYJYIZIAWUDBAIB BQCggaAwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjQwODI2MTIz NTU0WjAvBgkqhkiG9w0BCQQxIgQgluXeOA2Pw/t66Xn66cIFXwGtqN76quroPRaea3CIlIAwNQYJ KoZIhvcNAQkPMSgwJjALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA0GCSqG SIb3DQEBAQUABIIBAH+6IJmsZaROetdg4C+SWq4a5DdhPhsEXpaGcyfMEie0LMNCPZLELJd2wibQ Wf0AWeP8GqtRMMV9bbpi2dve89S26nt0ADVMo8eayfdPG25hXGkNddhlyQ2qjUdwifp83lBkBxML 0QGhWvCTcmM7bUk/WUsY5PUKqzgIMkrmQ/AZSopcv4qKVYhlQgohzA2a3ID/xd5vK0TJdDG6Dykb uFJBO/PPnV6mr+5MiiN1Ct0pJoxB+sfzFDdgtIE0iEX4qhSnreduHMDPqljmxcdJivcDD2U0Ijiq tHqrXdFaGkIT2adeJ1ELDKBCll4yCclzW3cSnS3fwNHk3XzqtqQOVX4= --=-=-=--