unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Tom Lord <lord@emf.net>
Cc: emacs-devel@gnu.org, miles@gnu.org
Subject: Re: arch taglines for emacs
Date: Sat, 23 Aug 2003 07:02:31 -0700 (PDT)	[thread overview]
Message-ID: <200308231402.HAA00501@morrowfield.regexps.com> (raw)
In-Reply-To: <E19qPZH-0001cA-UR@fencepost.gnu.org> (message from Richard Stallman on Fri, 22 Aug 2003 23:59:59 -0400)




    > From: Richard Stallman <rms@gnu.org>

    >     I agree that it's ugly; arch currently treats everything on the line
    >     following `arch-tag:' as part of the tag-- and that includes whitespace.

    > Yes, I gathered that.  What I'm suggesting is that this should be changed.

    > I suggest defining a tag-end sequence for arch.  Suppose it is !!.
    > Then the line could look like

    >     /* arch-tag: 53bb84c6-dee0-46c6-a275-2db144993d89!! */

    > This way, arch does not need to know about the specific comment syntax
    > rules of various languages.

    > Tom, what do you think?

That is a specific variation on the general idea we've been kicking
around for what to do.   It's likely we'll do something like that.
The specific proposal doesn't answer the question of changes to spaces
_within_ the tag:

  /* arch-tag: tagged on 2003-01-01-12:12:12 by miles bader <miles@gnu.org>!! */

vs.

  /* arch-tag: tagged on 2003-01-01-12:12:12 by miles bader<miles@gnu.org>!! */


It would probably also be a good idea to use string-delimiters and
string-quoting for the tag contents so that it can safely contain 
character sequences (e.g. "*/") that might otherwise confuse language 
modes or compilers.

I realize that, from most perspectives, a change of this sort seems
trivial.   In terms of code changes it is trivial.   Two factors make
me want to take my time before making the change:

1) A reasonable number of users already have arch archives in place.
   Those archives contain changesets.  Those changesets contain
   inventory tags.  If the computation that derives the actual tag
   from the comment changes in such a way that it produces a different
   result, then those older changesets will become broken.

   It would be best, I think, to make the change as a strictly
   compatible extension.  For example, tags using `arch-tag' comments
   will continue to work as is, and tags using `arch-id' comments (or
   some new string) will work in a new way that is delimited and not
   so sensative to whitespace.

   (Miles' first idea was to make a change that would be
   probabilistically upward compatible but I think we've agreed
   now it's worth the extra effort to be strictly upward compatible.)


2) There are some other, more complicated features that have been oft
   requested and which I plan to implement.   These features require,
   in part, changes to the same code.   I'd strongly prefer to do
   these all at once.

   Part of the reason to combine these efforts is because the part of
   the code concerned with computing file inventories is among the 
   most critical in arch:

	a) errors in this code can corrupt archives  -- any
           change to this code, even a seemingly trivial change,
           deserves a lot of testing and review before its release.

        b) misfeatures (as you can see) create a
           backwards-compatability constraint.   It's therefore
           best to think through the kinds of changes we
           can think of to make to the tag comments rather than
           just make each change as the idea occurs.

Finally, again, the particular problem that Miles asked to be solved 
has never been reported s a problem in practice.   It came up as an
issue for Emacs because of a desire to keep the tag comments to a 
single line, e.g.:

	/* arch-tag: 53bb84c6-dee0-46c6-a275-2db144993d89 */

but that would produce the inventory tag:

	i_53bb84c6-dee0-46c6-a275-2db144993d89_*/

which "seems wrong".   (It would work fine -- it just looks odd.) 
If the comment changed to:

	/*arch-tag: 53bb84c6-dee0-46c6-a275-2db144993d89*/

that would (undesirably) change the inventory tag:

	i_53bb84c6-dee0-46c6-a275-2db144993d89*/

I doubt that any of this will represent a real problem in practice.
I would tag the Emacs source with any of:


	/* arch-tag: 53bb84c6-dee0-46c6-a275-2db144993d89 */

	/*arch-tag: 53bb84c6-dee0-46c6-a275-2db144993d89*/

	/* arch-tag: 53bb84c6-dee0-46c6-a275-2db144993d89 
        */

	/* arch-tag: 53bb84c6-dee0-46c6-a275-2db144993d89
           (do not change this comment)
        */

and, when a new syntax comes along, switch to something like whichever
of these is appropriate:

	/* arch-id: "53bb84c6-dee0-46c6-a275-2db144993d89" */

	/* arch-id: "53bb84c6-dee0-46c6-a275-2db144993d89_*/" */

	/* arch-id: "53bb84c6-dee0-46c6-a275-2db144993d89*/" */

-t

  reply	other threads:[~2003-08-23 14:02 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-19  3:55 arch taglines for emacs Miles Bader
2003-08-20  2:42 ` Richard Stallman
2003-08-20  2:54   ` Miles Bader
2003-08-20  3:03     ` Tom Lord
2003-08-21 14:11       ` Richard Stallman
2003-08-21 14:56         ` Tom Lord
2003-08-23  3:59     ` Richard Stallman
2003-08-23 14:02       ` Tom Lord [this message]
2003-08-24 18:00         ` Richard Stallman
2003-08-24 18:00         ` Richard Stallman
2003-08-24 18:59           ` Tom Lord
2003-08-24 19:38             ` Jonathan Walther
2003-08-24 19:44               ` [Gnu-arch-users] " Tom Lord
2003-08-25  1:59             ` Miles Bader
2003-08-25  2:08               ` Tom Lord
2003-08-26  1:38               ` Richard Stallman
     [not found] ` <87he4cfkhf.fsf@mail.jurta.org>
2003-08-21  4:36   ` Miles Bader
2003-08-22 20:54     ` Juri Linkov
2003-08-21 11:29 ` Florian Weimer
2003-08-22  1:47   ` Miles Bader
2003-08-22 12:07     ` Andreas Schwab
2003-08-22 20:55       ` Miles Bader
  -- strict thread matches above, loose matches on Subject: below --
2003-09-01 16:03 Miles Bader

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=200308231402.HAA00501@morrowfield.regexps.com \
    --to=lord@emf.net \
    --cc=emacs-devel@gnu.org \
    --cc=miles@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).