unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: p.stephani2@gmail.com, emacs-devel@gnu.org
Subject: Re: [PATCH PING] Honor 'SOURCE_DATE_EPOCH' when generating autoloads.
Date: Mon, 28 Dec 2015 19:01:37 -0800	[thread overview]
Message-ID: <5681F791.40309@cs.ucla.edu> (raw)
In-Reply-To: <837fjyfn58.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 1826 bytes --]

Eli Zaretskii wrote:
>> >What sort of error?
> "Wrong type argument: char-or-string-p, nil".  See the attached image,

Although you applied the patch to emacs-25, the patch was intended for master. 
emacs-25 and master disagree here because of emacs-25 commit 
2dd3581b78a5fe15e0562b1cc2daa6e3afeeec4a dated December 25 "Restore info about 
the build host in bug reports". This explains why I did not observe the problem 
on master, whereas you observed it on emacs-25.

I just now installed into emacs-25 the attached, which should future-proof the 
Dec. 25 change whenever it happens to be merged into master.

> the reproducible build is not (yet) the standard
> build, it's more like an anomaly at this time, so I thought we should
> have the string explain itself.  And nil cannot explain anything.

That is what documentation is for, no? :-)

Having now had some experience with using the deterministic-build API in code, I 
far prefer using (if FOO ...) to something like (if (string-equal FOO "(elided 
due to deterministic builds)") ...). Not only would the the latter be longer and 
harder to read, it would mean I need to go to the documentation and see how the 
magic-cookie string is spelled and would be likely to make a typo there, which 
means we would need to give the magic cookie a name like 
‘deterministic-build-system-name’ to catch typos so that the code will instead 
be (if (string-equal FOO deterministic-build-system-name) ...), and then we 
would need to give similar names to the magic cookies used for other things like 
emacs-build-time that are elided. This would all be complete overkill. It is 
much simpler to use nil to represent missing information; this is easier to 
remember and read and document and it fits squarely within the Emacs Lisp tradition.

[-- Attachment #2: 0001-Port-report-emacs-bug-to-deterministic-builds.patch --]
[-- Type: text/x-diff, Size: 1198 bytes --]

From 691092c904cc293d84e16f2239f51cbb8ff1cbcd Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 28 Dec 2015 18:43:09 -0800
Subject: [PATCH] Port report-emacs-bug to deterministic builds

* lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
recent "built on" change to deterministic builds where
emacs-build-system will be nil.  See:
http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
---
 lisp/mail/emacsbug.el | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index ae0e711..ef5e86a 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -242,7 +242,11 @@ report-emacs-bug
     (let ((txt (delete-and-extract-region (1+ user-point) (point))))
       (insert (propertize "\n" 'display txt)))
 
-    (insert "\n\nIn " (emacs-version) " built on " emacs-build-system "\n")
+    (insert "\n\nIn " (emacs-version))
+    (if emacs-build-system
+        (insert " built on " emacs-build-system))
+    (insert "\n")
+
     (if (stringp emacs-repository-version)
 	(insert "Repository revision: " emacs-repository-version "\n"))
     (if (fboundp 'x-server-vendor)
-- 
2.5.0


  reply	other threads:[~2015-12-29  3:01 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-16 17:03 [PATCH] Honor 'SOURCE_DATE_EPOCH' when generating autoloads Ludovic Courtès
2015-11-29 10:44 ` [PATCH PING] " Ludovic Courtès
2015-11-29 16:02   ` Eli Zaretskii
2015-11-29 16:57     ` Ludovic Courtès
2015-11-29 18:12       ` Eli Zaretskii
2015-11-29 20:38         ` Ludovic Courtès
2015-11-30 17:00         ` John Wiegley
2015-11-30 19:30           ` Ludovic Courtès
2015-12-07 18:36             ` Philipp Stephani
2015-12-07 18:58               ` Paul Eggert
2015-12-07 19:00                 ` Philipp Stephani
2015-12-07 19:14                   ` Paul Eggert
2015-12-20 12:48                     ` Philipp Stephani
2015-12-20 16:37                       ` Eli Zaretskii
2015-12-20 18:39                         ` Philipp Stephani
2015-12-20 19:03                           ` Eli Zaretskii
2015-12-20 21:27                           ` Paul Eggert
2015-12-23  1:13                             ` John Wiegley
2015-12-23 16:01                               ` Philipp Stephani
2015-12-23 16:39                                 ` Eli Zaretskii
2015-12-23 16:52                                   ` Philipp Stephani
2015-12-23 17:10                                     ` Eli Zaretskii
2015-12-23 17:38                                       ` Philipp Stephani
2015-12-23 21:09                                         ` Paul Eggert
2015-12-24  3:33                                           ` Eli Zaretskii
2015-12-24  6:54                                             ` Paul Eggert
2015-12-24 16:18                                               ` Eli Zaretskii
2015-12-27  9:53                                     ` Philipp Stephani
2015-12-27 16:10                                       ` Eli Zaretskii
2016-02-29 21:52                                         ` Philipp Stephani
2016-03-01 16:36                                           ` Paul Eggert
2016-03-01 21:46                                             ` Philipp Stephani
2016-03-02 18:24                                               ` Paul Eggert
2016-03-02 18:30                                                 ` Philipp Stephani
2016-03-22 13:30                                                   ` Philipp Stephani
2016-03-22 20:37                                                     ` Paul Eggert
2016-03-22 21:46                                                       ` Philipp Stephani
2016-03-22 21:58                                                         ` Paul Eggert
2016-03-23  8:03                                                         ` Andreas Schwab
2016-04-06 21:29                                                           ` Philipp Stephani
2015-12-27 23:26                                       ` Paul Eggert
2015-12-28 16:26                                         ` Eli Zaretskii
2015-12-28 18:00                                           ` Paul Eggert
2015-12-28 18:23                                             ` Eli Zaretskii
2015-12-29  3:01                                               ` Paul Eggert [this message]
2015-12-29 15:38                                                 ` Eli Zaretskii
2015-12-29 16:47                                                   ` Paul Eggert
2015-12-29 17:59                                                     ` Eli Zaretskii
2015-12-29 20:33                                                       ` Paul Eggert
2015-12-07 23:11               ` Ludovic Courtès
2015-11-30  9:22       ` Alex Kost
2015-11-29 20:22   ` Paul Eggert
2015-11-29 20:42     ` Ludovic Courtès

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=5681F791.40309@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=p.stephani2@gmail.com \
    /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).