From: phillip.lord@russet.org.uk (Phillip Lord)
To: Glenn Morris <rgm@gnu.org>
Cc: npostavs@users.sourceforge.net, 25360@debbugs.gnu.org
Subject: bug#25360: File mode specification errors during building
Date: Tue, 14 Feb 2017 13:46:50 +0000 [thread overview]
Message-ID: <878tp8sx4l.fsf@russet.org.uk> (raw)
In-Reply-To: <ahmvdq7s5s.fsf@fencepost.gnu.org> (Glenn Morris's message of "Sun, 12 Feb 2017 21:15:11 -0500")
Glenn Morris <rgm@gnu.org> writes:
> Glenn Morris wrote:
>
>> BTW, I think this loaddefs stuff is now giving a bootstrap failure
>> related to the "used to be in ldefs-boot" string-to-list.
>>
>> http://hydra.nixos.org/build/48432485
>
> Since it's impossible to predict which autoloaded functions are going to
> be needed in future bootstraps, no longer having a comprehensive
> ldefs-boot seems to mean more cryptic failures of this sort are inevitable.
> (Previously, this kind of thing could only happen if a new autoload
> was added that was needed for bootstrap, which was rare and hopefully
> obvious.)
Yes, you are correct; how often this would happen was the unknown
question.
I have checked this bug. I got it to reproduce after I realised that
you'd fixed it on master.
First, "make generate-ldefs-boot" does work correctly update
ldefs-boot-auto.el, actually by including "with-coding-priority". This
isn't as clean as I would hope because make generate-ldefs-boot won't
run from a clean checkout in these circumstances.
Second, I tracked down the cause of the problem -- in this case, it's
d8cca4d8c56a90ec9215d7bfb0b0edfa3a36ad4f
Specifically, it's here:
-(defcustom query-replace-from-to-separator
- (propertize (if (char-displayable-p ?→) " → " " -> ")
- 'face 'minibuffer-prompt)
- "String that separates FROM and TO in the history of replacement pairs."
- ;; Avoids error when attempt to autoload char-displayable-p fails
- ;; while preparing to dump, also stops customize-rogue listing this.
- :initialize 'custom-initialize-delay
+(defcustom query-replace-from-to-separator " → "
+ "String that separates FROM and TO in the history of replacement pairs.
+When nil, the pair will not be added to the history (same behavior
+as in emacs 24.5)."
:group 'matching
- :type '(choice string (sexp :tag "Display specification"))
+ :type '(choice
+ (const :tag "Disabled" nil)
+ string)
Before this, the call to char-displayable-p would have forced loading of
mule-utils.el.
Unfortunately, as you say this is not predictable from the commit. You
have to know that char-displayable-p is autoloaded *and* that it is this
call to it which is forcing load of mule-utils (and also the associated
functions). It's also not possible to detect without a bootstrap build:
hydra gives this feedback pretty quickly, but obviously having trunk
broken for any time is not ideal.
Solutions:
1) Wait -- it's possible that this will be a rare occurence, and it
leaves us with a better understanding of how bootstrap works. My code is
mostly working as intended.
2) Revert and replace with a non-emacs mechanism for generated
ldefs-boot.el, which is likely to be awk. This would solve this issue
(as well as the "new autoload for bootstrap" problem). It might
introduce a problem because we'd have two different mechanisms for
making autoload files.
3) Revert and decide this is more effort than it's worth
4) Add "make ldefs-generate-boot" to the git commit hook.
I'm wavering between 1 and 2; for the latter I'll have to learn
awk. Number 4 wasn't a serious suggestion.
Phil
next prev parent reply other threads:[~2017-02-14 13:46 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-04 20:28 bug#25360: File mode specification errors during building Glenn Morris
2017-01-07 8:03 ` Eli Zaretskii
2017-01-09 13:06 ` Phillip Lord
2017-01-10 10:21 ` Phillip Lord
2017-01-10 15:13 ` Eli Zaretskii
2017-01-10 18:40 ` Phillip Lord
2017-01-10 18:48 ` Eli Zaretskii
2017-01-13 14:08 ` Phillip Lord
2017-01-13 14:19 ` Eli Zaretskii
2017-01-13 21:31 ` Phillip Lord
2017-01-14 19:09 ` Glenn Morris
2017-01-15 22:05 ` Phillip Lord
2017-01-15 23:53 ` npostavs
2017-01-16 0:07 ` Phillip Lord
2017-01-16 0:27 ` npostavs
2017-01-17 17:38 ` Glenn Morris
2017-01-17 21:49 ` Phillip Lord
2017-01-17 17:42 ` Glenn Morris
2017-01-17 22:04 ` Phillip Lord
2017-01-18 1:11 ` npostavs
2017-01-19 10:45 ` Phillip Lord
2017-01-19 16:05 ` Eli Zaretskii
2017-01-19 17:06 ` Noam Postavsky
2017-01-20 13:43 ` Phillip Lord
2017-01-21 21:11 ` Phillip Lord
2017-01-23 12:44 ` Phillip Lord
2017-01-23 14:16 ` npostavs
2017-01-24 12:42 ` Phillip Lord
2017-01-24 13:12 ` npostavs
2017-01-23 15:38 ` Eli Zaretskii
2017-01-24 12:51 ` Phillip Lord
2017-01-24 15:52 ` Eli Zaretskii
2017-02-06 10:31 ` Phillip Lord
2017-02-06 15:41 ` Eli Zaretskii
2017-02-13 2:06 ` Glenn Morris
2017-02-13 2:15 ` Glenn Morris
2017-02-13 2:22 ` Glenn Morris
2017-02-14 13:46 ` Phillip Lord [this message]
2017-02-19 0:36 ` Glenn Morris
2017-02-19 21:40 ` Phillip Lord
2017-02-22 19:08 ` Glenn Morris
2017-03-01 16:55 ` Phillip Lord
2017-03-02 15:20 ` Eli Zaretskii
2017-03-02 17:57 ` martin rudalics
2017-03-02 20:12 ` Eli Zaretskii
2017-03-04 10:02 ` Eli Zaretskii
2017-03-04 10:32 ` Phillip Lord
2017-03-04 11:11 ` Eli Zaretskii
2017-03-04 11:28 ` Eli Zaretskii
2017-03-06 15:33 ` Phillip Lord
2017-03-06 19:56 ` Noam Postavsky
2017-03-06 20:53 ` Eli Zaretskii
2017-03-06 21:10 ` Noam Postavsky
2017-03-06 21:25 ` Phillip Lord
2017-03-07 3:31 ` Eli Zaretskii
2017-03-07 12:26 ` Phillip Lord
2017-03-07 15:28 ` Phillip Lord
2017-03-07 16:01 ` Eli Zaretskii
2017-03-07 18:25 ` Noam Postavsky
2017-03-07 19:35 ` Phillip Lord
2017-03-08 12:31 ` Phillip Lord
2017-03-07 15:51 ` Eli Zaretskii
2017-03-05 18:26 ` Andy Moreton
2017-03-05 18:58 ` Phillip Lord
2017-03-05 20:08 ` Eli Zaretskii
2017-03-06 12:07 ` Andy Moreton
2017-03-06 16:31 ` Phillip Lord
2017-03-06 23:26 ` Andy Moreton
2017-03-06 16:30 ` Phillip Lord
2017-03-06 18:38 ` Eli Zaretskii
2017-01-25 22:46 ` Glenn Morris
2017-01-27 16:25 ` Phillip Lord
2017-02-13 2:07 ` Glenn Morris
2017-01-13 14:22 ` Eli Zaretskii
2017-01-13 16:47 ` Phillip Lord
2017-01-10 17:47 ` Glenn Morris
2017-01-10 18:50 ` Phillip Lord
2017-01-11 16:36 ` Richard Stallman
2017-01-13 14:05 ` Phillip Lord
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878tp8sx4l.fsf@russet.org.uk \
--to=phillip.lord@russet.org.uk \
--cc=25360@debbugs.gnu.org \
--cc=npostavs@users.sourceforge.net \
--cc=rgm@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.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).