all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Witten <mfwitten@gmail.com>
To: Drew Adams <drew.adams@oracle.com>
Cc: 11862@debbugs.gnu.org, Richard Stallman <rms@gnu.org>
Subject: bug#11862: [PATCH 8/9 v3] doc/lispref/intro.texi: More precise language for what a variable is
Date: Fri, 06 Jul 2012 08:07:31 -0000	[thread overview]
Message-ID: <0c2cb6909a904ffeb3010bf4ca2e40b2-mfwitten@gmail.com> (raw)
In-Reply-To: <C3251B35824241F99C1D1BA97B594E78@us.oracle.com>

On Thu, 5 Jul 2012 18:58:12 -0700, Drew Adams wrote:

>> -  A @dfn{variable} is a name that can hold a value.  Although nearly
>> -all variables can be set by the user, certain variables exist
>> -specifically so that users can change them; these are called 
>> @dfn{user
>> -options}.  Ordinary variables and user options are described using a
>> -format like that for functions except that there are no arguments.
>> +  A @dfn{variable} is a name that can be bound to an object; binding
>> +is frequently referred to as @dfn{setting}, and the object to which
>> +a variable is set is often called a @dfn{value} that the variable
>> +@dfn{holds}.  Although nearly all variables can be set by the user,
>> +certain variables exist specifically so that users can change them;
>> +these are called @dfn{user options}.  Ordinary variables and user
>> +options are described using a format like that for functions, except
>> +that there are no arguments.
>
> FWIW, to me, a Lisp variable is not just a "name" that can be bound
> or set... It is a Lisp symbol that is bound or set...

The following is an updated patch; save this email and apply it with:

  git am -c "$path_to_saved_email"

--8<-----------8<-----------8<-----------8<-----------8<-----------8<---------

The terms `set' and `bind', `object' and `value', and `hold' are used
somewhat freely; this commit introduces these terms with language that
is more pedantic, and it reorganizes the text, so that they are
introduced in [more] proper places, thereby reducing redundancy.

In particular:

  * The term `value' is introduced in node `Some Terms'; that term
    is used pervasively, so it should be brought to the reader's
    attention early on.

  * Node `A sample Variable Description' is reduced and reorganized.

      - The description of `variable' is removed entirely; such a
        descriptin is better placed in the node `Variables'. Moreover,
        this change is consistent with the text of the sibling node,
        `A Sample Function Description', which does not give such a
        description for a function, instead leaving that complex
        topic to more appropriate nodes, such as `Functions'.

      - The term `user options' is moved to the bottom of this node.

  * The node `Variables' is updated with more pedantic language.

      - The new introductory text makes a bolder association between
        variables and symbols (making the statement that a variable
        *is* a symbol, rather than the weaker statement that a variable
        is merely represented by a symbol); this may be worth more
        consideration.  
        
      - The term `@dfn{bound}' is introduced. There is another
        `@dfn{bound}' in `doc/lispref/functions.texi', though it
        may be simply viewed as a different, but related concept.

      - The terms `@dfn{setting}' and `@dfn{holds}' are introduced
        for the sake of pointing them out as common (if not official)
        lingo.
---
 doc/lispref/intro.texi     | 26 ++++++++++++--------------
 doc/lispref/variables.texi | 19 ++++++++++---------
 2 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi
index 5ca4d37..b62bceb 100644
--- a/doc/lispref/intro.texi
+++ b/doc/lispref/intro.texi
@@ -147,10 +147,11 @@ manual.  You may want to skip this section and refer back to it later.
   Throughout this manual, the phrases ``the Lisp reader'' and ``the Lisp
 printer'' refer to those routines in Lisp that convert textual
 representations of Lisp objects into actual Lisp objects, and vice
-versa.  @xref{Printed Representation}, for more details.  You, the
-person reading this manual, are thought of as ``the programmer'' and are
-addressed as ``you''.  ``The user'' is the person who uses Lisp
-programs, including those you write.
+versa.  @xref{Printed Representation}, for more details.  A Lisp object
+is commonly referred to as a @dfn{value}.  You, the person reading this
+manual, are thought of as ``the programmer'' and are addressed as ``you''.
+``The user'' is the person who uses Lisp programs, including those you
+write.
 
 @cindex typographic conventions
   Examples of Lisp code are formatted like this: @code{(list 1 2 3)}.
@@ -446,14 +447,9 @@ from @var{body}, which includes all remaining elements of the form.
 @cindex variable descriptions
 @cindex option descriptions
 
-  A @dfn{variable} is a name that can hold a value.  Although nearly
-all variables can be set by the user, certain variables exist
-specifically so that users can change them; these are called @dfn{user
-options}.  Ordinary variables and user options are described using a
-format like that for functions except that there are no arguments.
-
-  Here is a description of the imaginary @code{electric-future-map}
-variable.@refill
+Variables are described using a format like that for functions, except
+that there are no arguments.  Here is a description of the imaginary
+@code{electric-future-map} variable.@refill
 
 @defvar electric-future-map
 The value of this variable is a full keymap used by Electric Command
@@ -461,8 +457,10 @@ Future mode.  The functions in this map allow you to edit commands you
 have not yet thought about executing.
 @end defvar
 
-  User option descriptions have the same format, but `Variable' is
-replaced by `User Option'.
+Although nearly all variables can be set by the user, certain variables
+exist specifically so that users can change them; these are called
+@dfn{user options}.  User option descriptions have the same format,
+but `Variable' is replaced by `User Option'.
 
 @node Version Info
 @section Version Information
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index affaff4..863fd07 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -6,15 +6,16 @@
 @chapter Variables
 @cindex variable
 
-  A @dfn{variable} is a name used in a program to stand for a value.
-In Lisp, each variable is represented by a Lisp symbol
-(@pxref{Symbols}).  The variable name is simply the symbol's name, and
-the variable's value is stored in the symbol's value cell@footnote{To
-be precise, under the default @dfn{dynamic binding} rules the value
-cell always holds the variable's current value, but this is not the
-case under @dfn{lexical binding} rules.  @xref{Variable Scoping}, for
-details.}.  @xref{Symbol Components}.  In Emacs Lisp, the use of a
-symbol as a variable is independent of its use as a function name.
+  A @dfn{variable} is a symbol that is @dfn{bound} to an object
+(@pxref{Symbols}); binding is frequently referred to as @dfn{setting},
+and the object to which a variable is set is often called a value
+that the variable @dfn{holds}, in that the value is stored in the
+symbol's value cell@footnote{To be precise, under the default
+@dfn{dynamic binding} rules the value cell always holds the variable's
+current value, but this is not the case under @dfn{lexical binding}
+rules.  @xref{Variable Scoping}, for details.}.  @xref{Symbol Components}.
+In Emacs Lisp, the use of a symbol as a variable is independent of its
+use as a function name (@pxref{Function Names}).
 
   As previously noted in this manual, a Lisp program is represented
 primarily by Lisp objects, and only secondarily as text.  The textual
-- 
1.7.11.1.29.gf71be5c






  reply	other threads:[~2012-07-06  8:07 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-04 20:15 bug#11862: [PATCH 0/9] doc/lispref/intro.texi: Copyediting Michael Witten
2012-07-04 20:15 ` bug#11862: [PATCH 1/9] doc/lispref/intro.texi: Offset modifier with a comma Michael Witten
2012-07-05 10:13   ` Richard Stallman
2012-07-05 16:52     ` bug#11862: [PATCH 1/9] doc/lispref/intro.texi: Offset modifier Michael Witten
2012-07-04 20:15 ` bug#11862: [PATCH 2/9] doc/lispref/intro.texi: `can' -> `may' Michael Witten
2012-07-05 10:13   ` Richard Stallman
2012-07-04 20:15 ` bug#11862: [PATCH 3/9] doc/lispref/intro.texi: Eradicate that pesky future tense Michael Witten
2012-07-05 10:13   ` Richard Stallman
2012-07-04 20:15 ` bug#11862: [PATCH 4/9] doc/lispref/intro.texi: More precise language Michael Witten
2012-07-05 10:13   ` Richard Stallman
2012-07-04 20:15 ` bug#11862: [PATCH 5/9] doc/lispref/intro.texi: Use singular form in a sentence Michael Witten
2012-07-04 20:15 ` bug#11862: [PATCH 6/9] doc/lispref/intro.texi: Re-fill a paragraph Michael Witten
2012-07-04 20:15 ` bug#11862: [PATCH 7/9] doc/lispref/intro.texi: `optional' -> `&optional'; Michael Witten
2012-07-05  3:03   ` Glenn Morris
2012-07-04 20:15 ` bug#11862: [PATCH 8/9] doc/lispref/intro.texi: More precise language for Michael Witten
2012-07-05 21:50   ` Richard Stallman
2012-07-05 22:55     ` bug#11862: [PATCH 8/9 v2] doc/lispref/intro.texi: More precise language for what a variable is Michael Witten
2012-07-06  1:58       ` bug#11862: [PATCH 8/9 v2] doc/lispref/intro.texi: More preciselanguage " Drew Adams
2012-07-06  8:07         ` Michael Witten [this message]
2012-07-06 15:55           ` bug#11862: [PATCH 8/9 v3] doc/lispref/intro.texi: More precise language " Wolfgang Jenkner
2012-07-06 16:45             ` Drew Adams
2012-07-06 20:06               ` bug#11862: Splitting and simplifying [PATCH 8/9] Michael Witten
2012-07-06 20:17                 ` bug#11862: [PATCH 8a/9] doc/lispref/intro.texi: Introduce the term `value' early on Michael Witten
2012-07-06 20:18                 ` bug#11862: [PATCH 8b/2] doc/lispref/intro.texi: Reduce and reorganize node `A sample Variable Description' Michael Witten
2012-07-07  9:18             ` bug#11862: [PATCH 8/9 v3] doc/lispref/intro.texi: More precise language for what a variable is Richard Stallman
2012-07-08  4:41           ` bug#11862: [Copyright assignment] Chong Yidong
2012-07-06  6:40       ` bug#11862: [PATCH 8/9 v2] doc/lispref/intro.texi: More precise language for what a variable is Eli Zaretskii
2012-07-04 20:16 ` bug#11862: [PATCH 9/9] doc/lispref/intro.texi: Use passive voice Michael Witten
2012-07-05 10:14   ` Richard Stallman
2012-07-05 14:04     ` Stephen Berman
2012-07-05 16:37       ` Eli Zaretskii
2012-07-05 16:59         ` Glenn Morris
2012-07-05 17:14         ` Michael Witten
2012-07-05 19:09           ` Stephen Berman
2012-07-05  2:52 ` bug#11862: [PATCH 0/9] doc/lispref/intro.texi: Copyediting Stefan Monnier
     [not found]   ` <CAMOZ1BsRkioUhGGOuFrmbkMRnJiQ6h=tviNODS11BjG3_jYVbA@mail.gmail.com>
2012-07-05  7:09     ` Glenn Morris

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0c2cb6909a904ffeb3010bf4ca2e40b2-mfwitten@gmail.com \
    --to=mfwitten@gmail.com \
    --cc=11862@debbugs.gnu.org \
    --cc=drew.adams@oracle.com \
    --cc=rms@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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.