emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Emacs 21"


From: Stuart D. Herring
Subject: Re: "Emacs 21"
Date: Wed, 8 Nov 2006 13:24:48 -0800 (PST)
User-agent: SquirrelMail/1.4.6-7.el3.7lanl

> address@hidden wrote this one line:]
>    These changes look good to me.  Shouldn't they be installed _now_ ?

> address@hidden wrote, later in the message:]
> Please make suggestions based on what has been done since October 31.
> The differences between then and any earlier version are very large, much,
> much larger than any posted -- too large to post.

Due to those massive revisions made (in one commit) to the Lisp
Introduction, my changes became the world's worst edit/merge conflict. 
Many of them (or changes equivalent to them) have been made, but I'll
provide "finishing off" commentary to help merge other parts of my patch:

> [rest of singly-quoted text is from address@hidden; doubly-quoted is
>  from my ChangeLog]
>    >  * emacs-lisp-intro.texi (Top): remove menu entry for "Complete
zap-to-char".
>
> updated

My patch kills that node because it merges it with the "zap-to-char" node
because it nearly blanks that node.  It blanks it because the version
update verbiage was deemed irrelevant and the discussion of `kill-region'
was duplicated at its proper discussion later.

>    >  (Making Errors, Void Function, Void Variable)
>    >  (Wrong Type of Argument, debug, debug-on-entry): remove discussion
of Emacs 20 error reporting.
>
> updated to 22

Updated, but not all of the Emacs 20 discussion was not removed as RMS
directed (me to do).  Note how many nodes this ChangeLog entry of mine
described: for example, lines 18468-70 of version 1.55 should be just
removed (as I did) or perhaps pared down to a mere cross-reference to
manually starting the debugger.

>    >  (else): make impossible outcome obvious.
>
> Don't know about this; I think the discussion of else is obvious but
maybe it is not.

The Lisp reads

(if (> 4 5)
    (message "5 is greater than 4!")
  (message "4 is not greater than 5!"))

surely the else-branch shall always be taken, but if the then branch is
taken it makes no sense to print a message counter to it.  My patch
recommends "4 is greater than 5?!", with the ? to indicate its
unexpectedness.

>    >  (Review): use `emacs-major-version' instead of `emacs-version'.
>
> emacs-major-version did not work as of a few days ago, but
> emacs-version did, so kept emacs-version

Sorry, but (number-to-string 22) is nonsense, and using `substring' on
`emacs-version' is backward and fragile.  Why didn't `emacs-major-version'
work for you?  It claims to have existed since 19.23.  It's a variable,
not a function, if that helps.

>    >  (Finding More): remove discussion of old `describe-function'
behavior.
>
> As far as I remember, done

Done differently from what I did, but looks fine.

>    >  (Finding More, fwd-para summary, lengths-list-file)
>    >  (lengths-list-many-files, Files List): use 22.1 instead of
21.0.100 as a dummy version number.
>
> I used 22.0.100 as the dummy version number.  That fits my experience
better than anything.  Maybe it should be 22.1.100.

Otherwise discussed in thread.

>    >  paragraphs describing `push-mark' call to include 21 information.
>
> done, i.e., rewritten, I am pretty sure.  (I have forgot all that I
did.)

Your changes there were actually minor; I combined the discussion of the
new arguments into the principal discussion of the line and suppressed the
mention of earlier versions.  I'd recommend using my text there.

>    >  (zap-to-char): remove discussion of version 19 function, and the
description of error-handling in `kill-region'.  Include function
source in node.  Remove "Complete zap-to-char" menu item.
>
> done, i.e., rewritten, I am pretty sure.

This has been changed somewhat, but still mentions version 19, and
`kill-region' out of place (see my first change).

>    >  (zap-to-char interactive): simplify discussion of "*" in the
interactive spec, omitting version 19 bug.
> done

Actually, you just wrote to the new interactive spec; fine.

>    >  (search-forward): simplify discussion of character/string
>
> rewrote for 22

You haven't modified what I modified (which was unrelated to versions);
that hunk of mine should apply without problem.

>    >  (kill-region): merge version 21 information.
>
> rewrote for 22

You changed "21" to "22", but I actually merged two paragraphs to get rid
of the version reference altogether, since other references were being
removed.

>    >  (Recursive Definition Parts): use `when' in recursive template.
>
> Not done, but probably a good idea; `when' is discussed elsewhere, maybe
even earlier in the text, so the addition of yet another idea is not too
bad, especially since we do not want to encourage recursion with Emacs
Lisp!

`when' is discussed earlier in the `kill-region' section.  I switched to
`when' to simplify all the one-branch `if'-`progn's in the example code.

>    >  (Recursion with list): remove Emacs 20 instructions.
>
> I am pretty sure this was done

It wasn't.

>    >  (Recursion with list, Every, recursive-graph-body-print): use
`when' instead of `if'+`progn'.
>
> Same comment as above regarding `when'

(This was my point in introducing it, as I said.)

>    >  (lengths-list-file): remove Emacs 19 commentary, old path Texinfo
comment.
>
> I rewrote this for 22; I am not sure about the old comment; I presume it
is gone

The 19 commentary is still there.  The Texinfo comment is gone.

>    >  (Files List): use @dots instead of ".." directory in example list.
>
> I remember looking at this and either put in the multiple dots or
discovered that going up a directory was right.  I cannot remember which

They have single dots now, although I don't know why.  I thought they were
supposed to be generic filename-endings.

>    >  (Simple Extension): clean up testing of Emacs version and minor
mode calls, and rewrite motivation for version-specific
>    >  customization
> Cannot remember what I did.

You made some minor adjustments, including using version 22 in the example
conditionals and changing a comment's stated value of the default value of
`tooltip-delay'.  I did more, though: I changed the tests to be ">=21" vs.
"<21" (since that's the distinction relevant to the code), fixed the
conventions for arguments to minor-mode functions, and rewrote the
introduction to the .emacs to describe turning features off and on.

>    >  (debug-on-entry): rewrite motivation for deliberate debugging.
>
> I don't remember seeing a need for this.

The discussion was based on different versions of Emacs and when the
debugger was automatically entered; I changed it simply to discuss how to
do it manually, since that was the focus of that section.

> Please read the text and see what can be improved.  I am having a hard
> time being enough of a novice.  I do not want to present too many
> complications but fear I have added them.  The experience is a bit
> surprising, since I don't think of myself as knowing much.  Maybe I am
> getting old.  Perhaps you who know much more or who are better than I
> or younger will find it easier to figure out what to say to those who
> know nothing as yet; that is my hope!  Thanks!

I may do that too in a separate message.

Please apply my remaining changes unless there's something wrong with
them; the conflicts I'll let others pick between, but I've noted where I
thought my work was particularly worthwhile.  For convenience, the
original message/patch is at
http://lists.gnu.org/archive/html/emacs-devel/2006-10/msg00906.html.

Thanks,
Davis

-- 
This product is sold by volume, not by mass.  If it appears too dense or
too sparse, it is because mass-energy conversion has occurred during
shipping.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]