emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r111070: Merge from emacs-24; up to r


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111070: Merge from emacs-24; up to r110984
Date: Sun, 02 Dec 2012 17:08:31 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111070 [merge]
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Sun 2012-12-02 17:08:31 -0800
message:
  Merge from emacs-24; up to r110984
modified:
  doc/emacs/ChangeLog
  doc/emacs/custom.texi
  doc/lispref/ChangeLog
  doc/lispref/commands.texi
  doc/lispref/customize.texi
  doc/lispref/display.texi
  doc/lispref/elisp.texi
  doc/lispref/keymaps.texi
  doc/lispref/lists.texi
  doc/lispref/sequences.texi
  doc/lispref/symbols.texi
  doc/lispref/variables.texi
  doc/misc/ChangeLog
  doc/misc/rcirc.texi
  doc/misc/tramp.texi
  etc/NEWS
  lisp/ChangeLog
  lisp/buff-menu.el
  lisp/calendar/diary-lib.el
  lisp/files.el
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-sum.el
  lisp/gnus/gnus-sync.el
  lisp/jka-cmpr-hook.el
  lisp/net/tramp-sh.el
  lisp/simple.el
  msdos/ChangeLog
  msdos/sed1v2.inp
  src/ChangeLog
  src/data.c
  src/fileio.c
  src/w32.c
  src/w32common.h
  src/w32fns.c
=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2012-12-02 01:47:56 +0000
+++ b/doc/emacs/ChangeLog       2012-12-03 01:08:31 +0000
@@ -1,3 +1,7 @@
+2012-12-03  Chong Yidong  <address@hidden>
+
+       * custom.texi (Init Rebinding): kbd is now a function (Bug#13052).
+
 2012-12-02  Kevin Ryde  <address@hidden>
 
        * maintaining.texi (Tag Syntax): Mention (defvar foo) handling.

=== modified file 'doc/emacs/custom.texi'
--- a/doc/emacs/custom.texi     2012-10-23 15:06:07 +0000
+++ b/doc/emacs/custom.texi     2012-12-02 07:13:44 +0000
@@ -1648,7 +1648,7 @@
 
 @findex kbd
   There are several ways to write a key binding using Lisp.  The
-simplest is to use the @code{kbd} macro, which converts a textual
+simplest is to use the @code{kbd} function, which converts a textual
 representation of a key sequence---similar to how we have written key
 sequences in this manual---into a form that can be passed as an
 argument to @code{global-set-key}.  For example, here's how to bind
@@ -1676,11 +1676,11 @@
 (global-set-key (kbd "<mouse-2>") 'mouse-save-then-kill)
 @end example
 
-  Instead of using the @code{kbd} macro, you can use a Lisp string or
-vector to specify the key sequence.  Using a string is simpler, but
-only works for @acronym{ASCII} characters and Meta-modified
address@hidden characters.  For example, here's how to bind @kbd{C-x
-M-l} to @code{make-symbolic-link} (@pxref{Misc File Ops}):
+  Instead of using @code{kbd}, you can use a Lisp string or vector to
+specify the key sequence.  Using a string is simpler, but only works
+for @acronym{ASCII} characters and Meta-modified @acronym{ASCII}
+characters.  For example, here's how to bind @kbd{C-x M-l} to
address@hidden (@pxref{Misc File Ops}):
 
 @example
 (global-set-key "\C-x\M-l" 'make-symbolic-link)

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2012-11-24 21:37:18 +0000
+++ b/doc/lispref/ChangeLog     2012-12-03 01:08:31 +0000
@@ -1,3 +1,20 @@
+2012-12-03  Chong Yidong  <address@hidden>
+
+       * symbols.texi (Symbol Properties): New node.
+       (Symbol Plists): Make it a subsection under Symbol Properties.
+       (Standard Properties): New node.
+
+       * lists.texi (Property Lists): Move here from symbols.texi.
+       (Plist Access): Rename from Other Plists.
+
+       * customize.texi (Variable Definitions):
+       * display.texi (Defining Faces):
+       * sequences.texi (Char-Tables): Fix xref.
+
+       * keymaps.texi (Key Sequences): kbd is now a function.
+
+       * commands.texi (Using Interactive): Fix index entry.
+
 2012-11-24  Paul Eggert  <address@hidden>
 
        * doclicense.texi: Update to latest version from FSF.

=== modified file 'doc/lispref/commands.texi'
--- a/doc/lispref/commands.texi 2012-10-27 05:03:52 +0000
+++ b/doc/lispref/commands.texi 2012-12-02 09:14:16 +0000
@@ -141,10 +141,10 @@
 then the caller supplies the arguments and @var{arg-descriptor} has no
 effect.
 
address@hidden @code{interactive-form}, function property
address@hidden @code{interactive-form}, symbol property
 The @code{interactive} form must be located at top-level in the
 function body, or in the function symbol's @code{interactive-form}
-property (@pxref{Symbol Plists}).  It has its effect because the
+property (@pxref{Symbol Properties}).  It has its effect because the
 command loop looks for it before calling the function
 (@pxref{Interactive Call}).  Once the function is called, all its body
 forms are executed; at this time, if the @code{interactive} form

=== modified file 'doc/lispref/customize.texi'
--- a/doc/lispref/customize.texi        2012-09-18 05:14:42 +0000
+++ b/doc/lispref/customize.texi        2012-12-02 09:14:16 +0000
@@ -472,8 +472,8 @@
 @code{saved-value} to record the value saved by the user with the
 customization buffer, and @code{customized-value} to record the value
 set by the user with the customization buffer, but not saved.
address@hidden Lists}.  These properties are lists, the car of which
-is an expression that evaluates to the value.
address@hidden Properties}.  These properties are lists, the car of
+which is an expression that evaluates to the value.
 
 @defun custom-reevaluate-setting symbol
 This function re-evaluates the standard value of @var{symbol}, which

=== modified file 'doc/lispref/display.texi'
--- a/doc/lispref/display.texi  2012-11-21 08:39:08 +0000
+++ b/doc/lispref/display.texi  2012-12-03 01:08:31 +0000
@@ -2287,7 +2287,7 @@
 @end example
 
   Internally, Emacs stores the face's default specification in its
address@hidden symbol property (@pxref{Property Lists}).
address@hidden symbol property (@pxref{Symbol Properties}).
 The @code{saved-face} property stores the face specification saved by
 the user, using the customization buffer; the @code{customized-face}
 property stores the face specification customized for the current

=== modified file 'doc/lispref/elisp.texi'
--- a/doc/lispref/elisp.texi    2012-11-24 21:37:18 +0000
+++ b/doc/lispref/elisp.texi    2012-12-03 01:08:31 +0000
@@ -378,6 +378,7 @@
 * Modifying Lists::         Storing new pieces into an existing list.
 * Sets And Lists::          A list can represent a finite mathematical set.
 * Association Lists::       A list can represent a finite relation or mapping.
+* Property Lists::          A list of paired elements.
 
 Modifying Existing List Structure
 
@@ -386,6 +387,12 @@
                               This can be used to remove or add elements.
 * Rearrangement::           Reordering the elements in a list; combining lists.
 
+Property Lists
+
+* Plists and Alists::       Comparison of the advantages of property
+                              lists and association lists.
+* Plist Access::            Accessing property lists stored elsewhere.
+
 Sequences, Arrays, and Vectors
 
 * Sequence Functions::      Functions that accept any kind of sequence.
@@ -410,15 +417,13 @@
                               and property lists.
 * Definitions::             A definition says how a symbol will be used.
 * Creating Symbols::        How symbols are kept unique.
-* Property Lists::          Each symbol has a property list
+* Symbol Properties::       Each symbol has a property list
                               for recording miscellaneous information.
 
-Property Lists
+Symbol Properties
 
-* Plists and Alists::       Comparison of the advantages of property
-                              lists and association lists.
-* Symbol Plists::           Functions to access symbols' property lists.
-* Other Plists::            Accessing property lists stored elsewhere.
+* Symbol Plists::           Accessing symbol properties.
+* Standard Properties::     Standard meanings of symbol properties.
 
 Evaluation
 

=== modified file 'doc/lispref/keymaps.texi'
--- a/doc/lispref/keymaps.texi  2012-11-16 17:20:23 +0000
+++ b/doc/lispref/keymaps.texi  2012-12-03 01:08:31 +0000
@@ -75,8 +75,8 @@
   For examples of key sequences written in string and vector
 representations, @ref{Init Rebinding,,, emacs, The GNU Emacs Manual}.
 
address@hidden kbd keyseq-text
-This macro converts the text @var{keyseq-text} (a string constant)
address@hidden kbd keyseq-text
+This function converts the text @var{keyseq-text} (a string constant)
 into a key sequence (a string or vector constant).  The contents of
 @var{keyseq-text} should use the same syntax as in the buffer invoked
 by the @kbd{C-x C-k @key{RET}} (@code{kmacro-edit-macro}) command; in
@@ -97,7 +97,7 @@
 
 This macro is not meant for use with arguments that vary---only
 with string constants.
address@hidden defmac
address@hidden defun
 
 @node Keymap Basics
 @section Keymap Basics
@@ -1294,8 +1294,8 @@
   The functions below signal an error if @var{keymap} is not a keymap,
 or if @var{key} is not a string or vector representing a key sequence.
 You can use event types (symbols) as shorthand for events that are
-lists.  The @code{kbd} macro (@pxref{Key Sequences}) is a convenient
-way to specify the key sequence.
+lists.  The @code{kbd} function (@pxref{Key Sequences}) is a
+convenient way to specify the key sequence.
 
 @defun define-key keymap key binding
 This function sets the binding for @var{key} in @var{keymap}.  (If

=== modified file 'doc/lispref/lists.texi'
--- a/doc/lispref/lists.texi    2012-11-07 05:22:10 +0000
+++ b/doc/lispref/lists.texi    2012-12-02 09:14:16 +0000
@@ -22,6 +22,7 @@
 * Modifying Lists::     Storing new pieces into an existing list.
 * Sets And Lists::      A list can represent a finite mathematical set.
 * Association Lists::   A list can represent a finite relation or mapping.
+* Property Lists::      A list of paired elements.
 @end menu
 
 @node Cons Cells
@@ -1821,3 +1822,142 @@
 compares the @sc{cdr} of each @var{alist} association instead of the
 @sc{car}.
 @end defun
+
address@hidden Property Lists
address@hidden Property Lists
address@hidden property list
address@hidden plist
+
+  A @dfn{property list} (@dfn{plist} for short) is a list of paired
+elements.  Each of the pairs associates a property name (usually a
+symbol) with a property or value.  Here is an example of a property
+list:
+
address@hidden
+(pine cones numbers (1 2 3) color "blue")
address@hidden example
+
address@hidden
+This property list associates @code{pine} with @code{cones},
address@hidden with @code{(1 2 3)}, and @code{color} with
address@hidden"blue"}.  The property names and values can be any Lisp objects,
+but the names are usually symbols (as they are in this example).
+
+  Property lists are used in several contexts.  For instance, the
+function @code{put-text-property} takes an argument which is a
+property list, specifying text properties and associated values which
+are to be applied to text in a string or buffer.  @xref{Text
+Properties}.
+
+  Another prominent use of property lists is for storing symbol
+properties.  Every symbol possesses a list of properties, used to
+record miscellaneous information about the symbol; these properties
+are stored in the form of a property list.  @xref{Symbol Properties}.
+
address@hidden
+* Plists and Alists::           Comparison of the advantages of property
+                                  lists and association lists.
+* Plist Access::                Accessing property lists stored elsewhere.
address@hidden menu
+
address@hidden Plists and Alists
address@hidden Property Lists and Association Lists
address@hidden plist vs. alist
address@hidden alist vs. plist
+
address@hidden property lists vs association lists
+  Association lists (@pxref{Association Lists}) are very similar to
+property lists.  In contrast to association lists, the order of the
+pairs in the property list is not significant, since the property
+names must be distinct.
+
+  Property lists are better than association lists for attaching
+information to various Lisp function names or variables.  If your
+program keeps all such information in one association list, it will
+typically need to search that entire list each time it checks for an
+association for a particular Lisp function name or variable, which
+could be slow.  By contrast, if you keep the same information in the
+property lists of the function names or variables themselves, each
+search will scan only the length of one property list, which is
+usually short.  This is why the documentation for a variable is
+recorded in a property named @code{variable-documentation}.  The byte
+compiler likewise uses properties to record those functions needing
+special treatment.
+
+  However, association lists have their own advantages.  Depending on
+your application, it may be faster to add an association to the front of
+an association list than to update a property.  All properties for a
+symbol are stored in the same property list, so there is a possibility
+of a conflict between different uses of a property name.  (For this
+reason, it is a good idea to choose property names that are probably
+unique, such as by beginning the property name with the program's usual
+name-prefix for variables and functions.)  An association list may be
+used like a stack where associations are pushed on the front of the list
+and later discarded; this is not possible with a property list.
+
address@hidden Plist Access
address@hidden Property Lists Outside Symbols
+
+  The following functions can be used to manipulate property lists.
+They all compare property names using @code{eq}.
+
address@hidden plist-get plist property
+This returns the value of the @var{property} property stored in the
+property list @var{plist}.  It accepts a malformed @var{plist}
+argument.  If @var{property} is not found in the @var{plist}, it
+returns @code{nil}.  For example,
+
address@hidden
+(plist-get '(foo 4) 'foo)
+     @result{} 4
+(plist-get '(foo 4 bad) 'foo)
+     @result{} 4
+(plist-get '(foo 4 bad) 'bad)
+     @result{} nil
+(plist-get '(foo 4 bad) 'bar)
+     @result{} nil
address@hidden example
address@hidden defun
+
address@hidden plist-put plist property value
+This stores @var{value} as the value of the @var{property} property in
+the property list @var{plist}.  It may modify @var{plist} destructively,
+or it may construct a new list structure without altering the old.  The
+function returns the modified property list, so you can store that back
+in the place where you got @var{plist}.  For example,
+
address@hidden
+(setq my-plist '(bar t foo 4))
+     @result{} (bar t foo 4)
+(setq my-plist (plist-put my-plist 'foo 69))
+     @result{} (bar t foo 69)
+(setq my-plist (plist-put my-plist 'quux '(a)))
+     @result{} (bar t foo 69 quux (a))
address@hidden example
address@hidden defun
+
+  You could define @code{put} in terms of @code{plist-put} as follows:
+
address@hidden
+(defun put (symbol prop value)
+  (setplist symbol
+            (plist-put (symbol-plist symbol) prop value)))
address@hidden example
+
address@hidden lax-plist-get plist property
+Like @code{plist-get} except that it compares properties
+using @code{equal} instead of @code{eq}.
address@hidden defun
+
address@hidden lax-plist-put plist property value
+Like @code{plist-put} except that it compares properties
+using @code{equal} instead of @code{eq}.
address@hidden defun
+
address@hidden plist-member plist property
+This returns address@hidden if @var{plist} contains the given
address@hidden  Unlike @code{plist-get}, this allows you to distinguish
+between a missing property and a property with the value @code{nil}.
+The value is actually the tail of @var{plist} whose @code{car} is
address@hidden
address@hidden defun

=== modified file 'doc/lispref/sequences.texi'
--- a/doc/lispref/sequences.texi        2012-05-27 01:34:14 +0000
+++ b/doc/lispref/sequences.texi        2012-12-02 09:14:16 +0000
@@ -542,10 +542,10 @@
 @item
 The subtype controls the number of @dfn{extra slots} in the
 char-table.  This number is specified by the subtype's
address@hidden symbol property, which should be an
-integer between 0 and 10.  If the subtype has no such symbol property,
-the char-table has no extra slots.  @xref{Property Lists}, for
-information about symbol properties.
address@hidden symbol property (@pxref{Symbol
+Properties}), whose value should be an integer between 0 and 10.  If
+the subtype has no such symbol property, the char-table has no extra
+slots.
 @end itemize
 
 @cindex parent of char-table

=== modified file 'doc/lispref/symbols.texi'
--- a/doc/lispref/symbols.texi  2012-10-30 00:29:37 +0000
+++ b/doc/lispref/symbols.texi  2012-12-02 09:14:16 +0000
@@ -13,8 +13,8 @@
 @ref{Functions}.  For the precise read syntax for symbols, see
 @ref{Symbol Type}.
 
-  You can test whether an arbitrary Lisp object is a symbol
-with @code{symbolp}:
+  You can test whether an arbitrary Lisp object is a symbol with
address@hidden:
 
 @defun symbolp object
 This function returns @code{t} if @var{object} is a symbol, @code{nil}
@@ -26,7 +26,7 @@
                                and property lists.
 * Definitions::              A definition says how a symbol will be used.
 * Creating Symbols::         How symbols are kept unique.
-* Property Lists::           Each symbol has a property list
+* Symbol Properties::        Each symbol has a property list
                                for recording miscellaneous information.
 @end menu
 
@@ -91,7 +91,7 @@
 
   The property list cell normally should hold a correctly formatted
 property list.  To get a symbol's property list, use the function
address@hidden  @xref{Property Lists}.
address@hidden  @xref{Symbol Properties}.
 
   The function cell or the value cell may be @dfn{void}, which means
 that the cell does not reference any object.  (This is not the same
@@ -376,109 +376,34 @@
 it returns @code{nil}.
 @end defun
 
address@hidden Property Lists
address@hidden Property Lists
address@hidden property list
address@hidden plist
-
-  A @dfn{property list} (@dfn{plist} for short) is a list of paired
-elements.  Each of the pairs associates a property name (usually a
-symbol) with a property or value.
-
-  Every symbol has a cell that stores a property list (@pxref{Symbol
-Components}).  This property list is used to record information about
-the symbol, such as its variable documentation and the name of the
-file where it was defined.
-
-  Property lists can also be used in other contexts.  For instance,
-you can assign property lists to character positions in a string or
-buffer.  @xref{Text Properties}.
-
-  The property names and values in a property list can be any Lisp
-objects, but the names are usually symbols.  Property list functions
-compare the property names using @code{eq}.  Here is an example of a
-property list, found on the symbol @code{progn} when the compiler is
-loaded:
-
address@hidden
-(lisp-indent-function 0 byte-compile byte-compile-progn)
address@hidden example
-
address@hidden
-Here @code{lisp-indent-function} and @code{byte-compile} are property
-names, and the other two elements are the corresponding values.
address@hidden Symbol Properties
address@hidden Symbol Properties
address@hidden symbol property
+
+  A symbol may possess any number of @dfn{symbol properties}, which
+can be used to record miscellaneous information about the symbol.  For
+example, when a symbol has a @code{risky-local-variable} property with
+a address@hidden value, that means the variable which the symbol names
+is a risky file-local variable (@pxref{File Local Variables}).
+
+  Each symbol's properties and property values are stored in the
+symbol's property list cell (@pxref{Symbol Components}), in the form
+of a property list (@pxref{Property Lists}).
 
 @menu
-* Plists and Alists::           Comparison of the advantages of property
-                                  lists and association lists.
-* Symbol Plists::               Functions to access symbols' property lists.
-* Other Plists::                Accessing property lists stored elsewhere.
+* Symbol Plists::        Accessing symbol properties.
+* Standard Properties::  Standard meanings of symbol properties.
 @end menu
 
address@hidden Plists and Alists
address@hidden Property Lists and Association Lists
address@hidden plist vs. alist
address@hidden alist vs. plist
-
address@hidden property lists vs association lists
-  Association lists (@pxref{Association Lists}) are very similar to
-property lists.  In contrast to association lists, the order of the
-pairs in the property list is not significant since the property names
-must be distinct.
-
-  Property lists are better than association lists for attaching
-information to various Lisp function names or variables.  If your
-program keeps all such information in one association list, it will
-typically need to search that entire list each time it checks for an
-association for a particular Lisp function name or variable, which
-could be slow.  By contrast, if you keep the same information in the
-property lists of the function names or variables themselves, each
-search will scan only the length of one property list, which is
-usually short.  This is why the documentation for a variable is
-recorded in a property named @code{variable-documentation}.  The byte
-compiler likewise uses properties to record those functions needing
-special treatment.
-
-  However, association lists have their own advantages.  Depending on
-your application, it may be faster to add an association to the front of
-an association list than to update a property.  All properties for a
-symbol are stored in the same property list, so there is a possibility
-of a conflict between different uses of a property name.  (For this
-reason, it is a good idea to choose property names that are probably
-unique, such as by beginning the property name with the program's usual
-name-prefix for variables and functions.)  An association list may be
-used like a stack where associations are pushed on the front of the list
-and later discarded; this is not possible with a property list.
-
 @node Symbol Plists
address@hidden Property List Functions for Symbols
-
address@hidden symbol-plist symbol
-This function returns the property list of @var{symbol}.
address@hidden defun
-
address@hidden setplist symbol plist
-This function sets @var{symbol}'s property list to @var{plist}.
-Normally, @var{plist} should be a well-formed property list, but this is
-not enforced.  The return value is @var{plist}.
-
address@hidden
-(setplist 'foo '(a 1 b (2 3) c nil))
-     @result{} (a 1 b (2 3) c nil)
-(symbol-plist 'foo)
-     @result{} (a 1 b (2 3) c nil)
address@hidden example
-
-For symbols in special obarrays, which are not used for ordinary
-purposes, it may make sense to use the property list cell in a
-nonstandard fashion; in fact, the abbrev mechanism does so
-(@pxref{Abbrevs}).
address@hidden defun
address@hidden Accessing Symbol Properties
+
+  The following functions can be used to access symbol properties.
 
 @defun get symbol property
-This function finds the value of the property named @var{property} in
address@hidden's property list.  If there is no such property, @code{nil}
-is returned.  Thus, there is no distinction between a value of
+This function returns the value of the property named @var{property}
+in @var{symbol}'s property list.  If there is no such property, it
+returns @code{nil}.  Thus, there is no distinction between a value of
 @code{nil} and the absence of the property.
 
 The name @var{property} is compared with the existing property names
@@ -487,12 +412,6 @@
 See @code{put} for an example.
 @end defun
 
address@hidden function-get symbol property
-This function is identical to @code{get}, except that if @var{symbol}
-is the name of a function alias, it looks in the property list of the
-symbol naming the actual function.  @xref{Defining Functions}.
address@hidden defun
-
 @defun put symbol property value
 This function puts @var{value} onto @var{symbol}'s property list under
 the property name @var{property}, replacing any previous property value.
@@ -510,69 +429,132 @@
 @end example
 @end defun
 
address@hidden Other Plists
address@hidden Property Lists Outside Symbols
-
-  These functions are useful for manipulating property lists
-not stored in symbols:
-
address@hidden plist-get plist property
-This returns the value of the @var{property} property stored in the
-property list @var{plist}.  It accepts a malformed @var{plist}
-argument.  If @var{property} is not found in the @var{plist}, it
-returns @code{nil}.  For example,
-
address@hidden
-(plist-get '(foo 4) 'foo)
-     @result{} 4
-(plist-get '(foo 4 bad) 'foo)
-     @result{} 4
-(plist-get '(foo 4 bad) 'bad)
-     @result{} nil
-(plist-get '(foo 4 bad) 'bar)
-     @result{} nil
address@hidden example
address@hidden defun
-
address@hidden plist-put plist property value
-This stores @var{value} as the value of the @var{property} property in
-the property list @var{plist}.  It may modify @var{plist} destructively,
-or it may construct a new list structure without altering the old.  The
-function returns the modified property list, so you can store that back
-in the place where you got @var{plist}.  For example,
-
address@hidden
-(setq my-plist '(bar t foo 4))
-     @result{} (bar t foo 4)
-(setq my-plist (plist-put my-plist 'foo 69))
-     @result{} (bar t foo 69)
-(setq my-plist (plist-put my-plist 'quux '(a)))
-     @result{} (bar t foo 69 quux (a))
address@hidden example
address@hidden defun
-
-  You could define @code{put} in terms of @code{plist-put} as follows:
-
address@hidden
-(defun put (symbol prop value)
-  (setplist symbol
-            (plist-put (symbol-plist symbol) prop value)))
address@hidden example
-
address@hidden lax-plist-get plist property
-Like @code{plist-get} except that it compares properties
-using @code{equal} instead of @code{eq}.
address@hidden defun
-
address@hidden lax-plist-put plist property value
-Like @code{plist-put} except that it compares properties
-using @code{equal} instead of @code{eq}.
address@hidden defun
-
address@hidden plist-member plist property
-This returns address@hidden if @var{plist} contains the given
address@hidden  Unlike @code{plist-get}, this allows you to distinguish
-between a missing property and a property with the value @code{nil}.
-The value is actually the tail of @var{plist} whose @code{car} is
address@hidden
address@hidden defun
address@hidden symbol-plist symbol
+This function returns the property list of @var{symbol}.
address@hidden defun
+
address@hidden setplist symbol plist
+This function sets @var{symbol}'s property list to @var{plist}.
+Normally, @var{plist} should be a well-formed property list, but this is
+not enforced.  The return value is @var{plist}.
+
address@hidden
+(setplist 'foo '(a 1 b (2 3) c nil))
+     @result{} (a 1 b (2 3) c nil)
+(symbol-plist 'foo)
+     @result{} (a 1 b (2 3) c nil)
address@hidden example
+
+For symbols in special obarrays, which are not used for ordinary
+purposes, it may make sense to use the property list cell in a
+nonstandard fashion; in fact, the abbrev mechanism does so
+(@pxref{Abbrevs}).
address@hidden defun
+
address@hidden function-get symbol property
+This function is identical to @code{get}, except that if @var{symbol}
+is the name of a function alias, it looks in the property list of the
+symbol naming the actual function.  @xref{Defining Functions}.
address@hidden defun
+
address@hidden Standard Properties
address@hidden Standard Symbol Properties
+
+  Here, we list the symbol properties which are used for special
+purposes in Emacs.  In the following table, whenever we say ``the
+named function'', that means the function whose name is the relevant
+symbol; similarly for ``the named variable'' etc.
+
address@hidden @code
address@hidden :advertised-binding
+This property value specifies the preferred key binding, when showing
+documentation, for the named function.  @xref{Keys in Documentation}.
+
address@hidden char-table-extra-slots
+The value, if address@hidden, specifies the number of extra slots in
+the named char-table type.  @xref{Char-Tables}.
+
address@hidden customized-face
address@hidden face-defface-spec
address@hidden saved-face
address@hidden theme-face
+These properties are used to record a face's standard, saved,
+customized, and themed face specs.  Do not set them directly; they are
+managed by @code{defface} and related functions.  @xref{Defining
+Faces}.
+
address@hidden customized-value
address@hidden saved-value
address@hidden standard-value
address@hidden theme-value
+These properties are used to record a customizable variable's standard
+value, saved value, customized-but-unsaved value, and themed values.
+Do not set them directly; they are managed by @code{defcustom} and
+related functions.  @xref{Variable Definitions}.
+
address@hidden disabled
+If the value is address@hidden, the named function is disabled as a
+command.  @xref{Disabling Commands}.
+
address@hidden face-documentation
+The value stores the documentation string of the named face.  This is
+normally set automatically by @code{defface}.  @xref{Defining Faces}.
+
address@hidden history-length
+The value, if address@hidden, specifies the maximum minibuffer history
+length for the named history list variable.  @xref{Minibuffer
+History}.
+
address@hidden interactive-form
+The value is an interactive form for the named function.  Normally,
+you should not set this directly; use the @code{interactive} special
+form instead.  @xref{Interactive Call}.
+
address@hidden menu-enable
+The value is an expression for determining whether the named menu item
+should be enabled in menus.  @xref{Simple Menu Items}.
+
address@hidden mode-class
+If the value is @code{special}, the named major mode is ``special''.
address@hidden Mode Conventions}.
+
address@hidden permanent-local
+If the value is address@hidden, the named variable is a buffer-local
+variable whose value should not be reset when changing major modes.
address@hidden Buffer-Local}.
+
address@hidden permanent-local-hook
+If the value is address@hidden, the named function should not be
+deleted from the local value of a hook variable when changing major
+modes.  @xref{Setting Hooks}.
+
address@hidden pure
+This property is used internally to mark certain named functions for
+byte compiler optimization.  Do not set it.
+
address@hidden risky-local-variable
+If the value is address@hidden, the named variable is considered risky
+as a file-local variable.  @xref{File Local Variables}.
+
address@hidden safe-function
+If the value is address@hidden, the named function is considered
+generally safe for evaluation.  @xref{Function Safety}.
+
address@hidden safe-local-eval-function
+If the value is address@hidden, the named function is safe to call in
+file-local evaluation forms.  @xref{File Local Variables}.
+
address@hidden safe-local-variable
+The value specifies a function for determining safe file-local values
+for the named variable.  @xref{File Local Variables}.
+
address@hidden side-effect-free
+A address@hidden value indicates that the named function is free of
+side-effects, for determining function safety (@pxref{Function
+Safety}) as well as for byte compiler optimizations.  Do not set it.
+
address@hidden variable-documentation
+If address@hidden, this specifies the named vaariable's documentation
+string.  This is normally set automatically by @code{defvar} and
+related functions.  @xref{Defining Faces}.
address@hidden table

=== modified file 'doc/lispref/variables.texi'
--- a/doc/lispref/variables.texi        2012-11-12 08:23:23 +0000
+++ b/doc/lispref/variables.texi        2012-12-02 09:14:16 +0000
@@ -1423,7 +1423,6 @@
 subsequent major mode.  @xref{Hooks}.
 @end defvar
 
address@hidden Emacs 19 feature
 @cindex permanent local variable
 A buffer-local variable is @dfn{permanent} if the variable name (a
 symbol) has a @code{permanent-local} property that is address@hidden

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-11-25 20:14:53 +0000
+++ b/doc/misc/ChangeLog        2012-12-03 01:08:31 +0000
@@ -1,3 +1,12 @@
+2012-12-03  Michael Albinus  <address@hidden>
+
+       * tramp.texi (Top, Obtaining Tramp): Replace CVS by Git.
+       (External methods): Fix typo.
+
+2012-12-03  Glenn Morris  <address@hidden>
+
+       * rcirc.texi (Notices): Fix typo.
+
 2012-11-25  Bill Wohler  <address@hidden>
 
        Release MH-E manual version 8.4.

=== modified file 'doc/misc/rcirc.texi'
--- a/doc/misc/rcirc.texi       2012-01-19 07:21:25 +0000
+++ b/doc/misc/rcirc.texi       2012-11-30 23:50:49 +0000
@@ -764,7 +764,7 @@
 omit away messages:
 
 @example
-(setq rcirc-omit-responses '("JOIN" "PART" "QUIT" "NICK" "AWAY))
+(setq rcirc-omit-responses '("JOIN" "PART" "QUIT" "NICK" "AWAY"))
 @end example
 
 @vindex rcirc-omit-threshold

=== modified file 'doc/misc/tramp.texi'
--- a/doc/misc/tramp.texi       2012-10-25 12:08:44 +0000
+++ b/doc/misc/tramp.texi       2012-12-02 15:33:17 +0000
@@ -7,7 +7,7 @@
 @c This is *so* much nicer :)
 @footnotestyle end
 
address@hidden In the Tramp CVS, the version number is auto-frobbed from
address@hidden In the Tramp repository, the version number is auto-frobbed from
 @c configure.ac, so you should edit that file and run
 @c "autoconf && ./configure" to change the version number.
 
@@ -106,7 +106,7 @@
 @ifhtml
 The latest release of @value{tramp} is available for
 @uref{ftp://ftp.gnu.org/gnu/tramp/, download}, or you may see
address@hidden Tramp} for more details, including the CVS server
address@hidden Tramp} for more details, including the Git server
 details.
 
 @value{tramp} also has a @uref{http://savannah.gnu.org/projects/tramp/,
@@ -377,13 +377,13 @@
 for XEmacs, as well.  So maybe it is easier to just use those.  But if
 you want the bleeding edge, read address@hidden
 
-For the especially brave, @value{tramp} is available from CVS.  The CVS
+For the especially brave, @value{tramp} is available from Git.  The Git
 version is the latest version of the code and may contain incomplete
 features or new issues.  Use these versions at your own risk.
 
 Instructions for obtaining the latest development version of @value{tramp}
-from CVS can be found by going to the Savannah project page at the
-following URL and then clicking on the CVS link in the navigation bar
+from Git can be found by going to the Savannah project page at the
+following URL and then clicking on the Git link in the navigation bar
 at the top.
 
 @noindent
@@ -394,8 +394,14 @@
 
 @example
 ] @strong{cd ~/@value{emacsdir}}
-] @strong{export CVS_RSH="ssh"}
-] @strong{cvs -z3 -d:pserver:anonymous@@cvs.savannah.gnu.org:/sources/tramp co 
tramp}
+] @strong{git clone git://git.savannah.gnu.org/tramp.git}
address@hidden example
+
address@hidden
+Tramp developers use instead
+
address@hidden
+] @strong{git clone login@@git.sv.gnu.org:/srv/git/tramp.git}
 @end example
 
 @noindent
@@ -405,12 +411,11 @@
 
 @example
 ] @strong{cd ~/@value{emacsdir}/tramp}
-] @strong{export CVS_RSH="ssh"}
-] @strong{cvs update -d}
+] @strong{git pull}
 @end example
 
 @noindent
-Once you've got updated files from the CVS repository, you need to run
+Once you've got updated files from the Git repository, you need to run
 @command{autoconf} in order to get an up-to-date @file{configure}
 script:
 
@@ -980,7 +985,7 @@
 @cindex method smb
 @cindex smb method
 
-This is another not natural @value{tramp} method.  It uses the
+This is another not native @value{tramp} method.  It uses the
 @command{smbclient} command on different Unices in order to connect to
 an SMB server.  An SMB server might be a Samba (or CIFS) server on
 another UNIX host or, more interesting, a host running MS Windows.  So

=== modified file 'etc/NEWS'
--- a/etc/NEWS  2012-11-30 04:18:22 +0000
+++ b/etc/NEWS  2012-12-03 01:08:31 +0000
@@ -812,9 +812,9 @@
 
 +++
 ** The return values of `defalias', `defun' and `defmacro' have changed,
-and are now undefined.  For backwards compatibility, defun and
-defmacro currently return the name of the newly defined function/macro
-but this should not be relied upon.
+and are now undefined.  For backwards compatibility, `defun' and
+`defmacro' currently return the name of the newly defined
+function/macro, but this should not be relied upon.
 
 ---
 ** `face-spec-set' no longer sets frame-specific attributes when the
@@ -1061,6 +1061,12 @@
 +++
 ** New macros `setq-local' and `defvar-local'.
 
+** Changes to special forms and macros
++++
+*** `defun' and `defmacro' are now macros rather than special forms
++++
+*** `kbd' is now a function rather than a macro.
+
 +++
 ** New fringe bitmap `exclamation-mark'.
 

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-12-03 00:54:11 +0000
+++ b/lisp/ChangeLog    2012-12-03 01:08:31 +0000
@@ -1,3 +1,31 @@
+2012-12-03  Leo Liu  <address@hidden>
+
+       * files.el (dir-locals-read-from-file): Check file non-empty
+       before reading.  (Bug#13038)
+
+2012-12-03  Glenn Morris  <address@hidden>
+
+       * jka-cmpr-hook.el (jka-compr-get-compression-info):
+       Remove any version extension before checking filename.  (Bug#13006)
+       (jka-compr-compression-info-list): Belated :version bump.
+
+2012-12-03  Chong Yidong  <address@hidden>
+
+       * simple.el (transient-mark-mode): Doc fix (Bug#11523).
+
+       * buff-menu.el (Buffer-menu-delete-backwards, Buffer-menu-mode)
+       (buffer-menu): Doc fix (Bug#12294).
+
+2012-12-03  Roland Winkler  <address@hidden>
+
+       * calendar/diary-lib.el (diary-header-line-format): Use keybinding
+       of diary-show-all-entries in the diary buffer (Bug#12994).
+
+2012-12-03  Michael Albinus  <address@hidden>
+
+       * net/tramp-sh.el (tramp-perl-encode): Use "read STDIN" instead of
+       "<STDIN>".  This is binary safe.
+
 2012-12-03  Jay Belanger  <address@hidden>
 
        * calc/calc-forms.el (math-absolute-from-iso-dt)

=== modified file 'lisp/buff-menu.el'
--- a/lisp/buff-menu.el 2012-11-24 23:07:13 +0000
+++ b/lisp/buff-menu.el 2012-11-28 07:12:56 +0000
@@ -204,31 +204,11 @@
 
 (define-derived-mode Buffer-menu-mode tabulated-list-mode "Buffer Menu"
   "Major mode for Buffer Menu buffers.
-The Buffer Menu is invoked by the commands \\[list-buffers], \\[buffer-menu], 
and
-\\[buffer-menu-other-window].  See `buffer-menu' for details."
-  (set (make-local-variable 'buffer-stale-function)
-       (lambda (&optional _noconfirm) 'fast))
-  (add-hook 'tabulated-list-revert-hook 'list-buffers--refresh nil t))
-
-(defun buffer-menu (&optional arg)
-  "Switch to the Buffer Menu.
-By default, all buffers are listed except those whose names start
-with a space (which are for internal use).  With prefix argument
-ARG, show only buffers that are visiting files.
-
-The first column (denoted \"C\") shows \".\" for the buffer from
-which you came.  It shows \">\" for buffers you mark to be
-displayed, and \"D\" for those you mark for deletion.
-
-The \"R\" column has a \"%\" if the buffer is read-only.
-The \"M\" column has a \"*\" if it is modified, or \"S\" if you
-have marked it for saving.
-
-After this come the buffer name, its size in characters, its
-major mode, and the visited file name (if any).
-
-
-In the Buffer Menu, the following commands are defined:
+The Buffer Menu is invoked by the commands \\[list-buffers],
+\\[buffer-menu], and \\[buffer-menu-other-window].
+See `buffer-menu' for a description of its contents.
+
+In Buffer Menu mode, the following commands are defined:
 \\<Buffer-menu-mode-map>
 \\[quit-window]    Remove the Buffer Menu from the display.
 \\[Buffer-menu-this-window]  Select current line's buffer in place of the 
buffer menu.
@@ -244,7 +224,7 @@
 \\[Buffer-menu-1-window]    Select that buffer in full-frame window.
 \\[Buffer-menu-2-window]    Select that buffer in one window, together with the
      buffer selected before this one in another window.
-\\[Buffer-menu-isearch-buffers]  Incremental search in the marked buffers.
+\\[Buffer-menu-isearch-buffers]    Incremental search in the marked buffers.
 \\[Buffer-menu-isearch-buffers-regexp]  Isearch for regexp in the marked 
buffers.
 \\[Buffer-menu-visit-tags-table]    visit-tags-table this buffer.
 \\[Buffer-menu-not-modified]    Clear modified-flag on that buffer.
@@ -259,6 +239,29 @@
 \\[revert-buffer]    Update the list of buffers.
 \\[Buffer-menu-toggle-files-only]    Toggle whether the menu displays only 
file buffers.
 \\[Buffer-menu-bury]    Bury the buffer listed on this line."
+  (set (make-local-variable 'buffer-stale-function)
+       (lambda (&optional _noconfirm) 'fast))
+  (add-hook 'tabulated-list-revert-hook 'list-buffers--refresh nil t))
+
+(defun buffer-menu (&optional arg)
+  "Switch to the Buffer Menu.
+By default, the Buffer Menu lists all buffers except those whose
+names start with a space (which are for internal use).  With
+prefix argument ARG, show only buffers that are visiting files.
+
+In the Buffer Menu, the first column (denoted \"C\") shows \".\"
+for the buffer from which you came, \">\" for buffers you mark to
+be displayed, and \"D\" for those you mark for deletion.
+
+The \"R\" column has a \"%\" if the buffer is read-only.
+The \"M\" column has a \"*\" if it is modified, or \"S\" if you
+have marked it for saving.
+
+The remaining columns show the buffer name, the buffer size in
+characters, its major mode, and the visited file name (if any).
+
+See `Buffer-menu-mode' for the keybindings available the Buffer
+Menu."
   (interactive "P")
   (switch-to-buffer (list-buffers-noselect arg))
   (message
@@ -280,7 +283,7 @@
 (defun list-buffers (&optional arg)
   "Display a list of existing buffers.
 The list is displayed in a buffer named \"*Buffer List*\".
-See `buffer-menu' for details about the Buffer Menu buffer.
+See `buffer-menu' for a description of the Buffer Menu.
 
 By default, all buffers are listed except those whose names start
 with a space (which are for internal use).  With prefix argument
@@ -377,7 +380,9 @@
 
 (defun Buffer-menu-delete-backwards (&optional arg)
   "Mark the buffer on this Buffer Menu line for deletion, and move up.
-Prefix ARG means move that many lines."
+A subsequent \\<Buffer-menu-mode-map>`\\[Buffer-menu-execute]'
+command will delete the marked buffer.  Prefix ARG means move
+that many lines."
   (interactive "p")
   (Buffer-menu-delete (- (or arg 1))))
 

=== modified file 'lisp/calendar/diary-lib.el'
--- a/lisp/calendar/diary-lib.el        2012-09-24 11:39:33 +0000
+++ b/lisp/calendar/diary-lib.el        2012-11-27 15:40:49 +0000
@@ -444,8 +444,7 @@
 (defcustom diary-header-line-format
   '(:eval (calendar-string-spread
            (list (if diary-selective-display
-                     "Some text is hidden - press \"s\" in calendar \
-before edit/copy"
+                     "Some text is hidden - press \"C-c C-s\" before edit/copy"
                    "Diary"))
            ?\s (window-width)))
   "Format of the header line displayed by `diary-simple-display'.

=== modified file 'lisp/files.el'
--- a/lisp/files.el     2012-12-01 02:09:45 +0000
+++ b/lisp/files.el     2012-12-03 01:08:31 +0000
@@ -3640,14 +3640,15 @@
       (condition-case err
          (progn
            (insert-file-contents file)
-           (let* ((dir-name (file-name-directory file))
-                  (class-name (intern dir-name))
-                  (variables (let ((read-circle nil))
-                               (read (current-buffer)))))
-             (dir-locals-set-class-variables class-name variables)
-             (dir-locals-set-directory-class dir-name class-name
-                                             (nth 5 (file-attributes file)))
-             class-name))
+           (unless (zerop (buffer-size))
+             (let* ((dir-name (file-name-directory file))
+                    (class-name (intern dir-name))
+                    (variables (let ((read-circle nil))
+                                 (read (current-buffer)))))
+               (dir-locals-set-class-variables class-name variables)
+               (dir-locals-set-directory-class dir-name class-name
+                                               (nth 5 (file-attributes file)))
+               class-name)))
        (error (message "Error reading dir-locals: %S" err) nil)))))
 
 (defcustom enable-remote-dir-locals nil

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2012-11-19 06:24:14 +0000
+++ b/lisp/gnus/ChangeLog       2012-12-03 01:08:31 +0000
@@ -1,3 +1,12 @@
+2012-12-03  Andreas Schwab  <address@hidden>
+
+       * gnus-sum.el (gnus-summary-mode-map): Bind gnus-summary-widget-forward
+       to TAB, not [tab].
+       (gnus-summary-article-map): Likewise.
+
+       * gnus-sync.el (gnus-sync-newsrc-offsets): Restore definition.
+       (gnus-sync-save): Use correct format for gnus-sync-newsrc-loader.
+
 2012-11-19  Katsumi Yamaoka  <address@hidden>
 
        * message.el (message-get-reply-headers):

=== modified file 'lisp/gnus/gnus-sum.el'
--- a/lisp/gnus/gnus-sum.el     2012-09-07 04:07:00 +0000
+++ b/lisp/gnus/gnus-sum.el     2012-12-02 11:45:36 +0000
@@ -1911,7 +1911,7 @@
   "a" gnus-summary-post-news
   "x" gnus-summary-limit-to-unread
   "s" gnus-summary-isearch-article
-  [tab] gnus-summary-widget-forward
+  "\t" gnus-summary-widget-forward
   [backtab] gnus-summary-widget-backward
   "t" gnus-summary-toggle-header
   "g" gnus-summary-show-article
@@ -2076,7 +2076,7 @@
   "W" gnus-warp-to-article
   "g" gnus-summary-show-article
   "s" gnus-summary-isearch-article
-  [tab] gnus-summary-widget-forward
+  "\t" gnus-summary-widget-forward
   [backtab] gnus-summary-widget-backward
   "P" gnus-summary-print-article
   "S" gnus-sticky-article

=== modified file 'lisp/gnus/gnus-sync.el'
--- a/lisp/gnus/gnus-sync.el    2012-10-06 20:30:26 +0000
+++ b/lisp/gnus/gnus-sync.el    2012-12-02 10:55:08 +0000
@@ -109,6 +109,12 @@
   :group 'gnus-sync
   :type '(repeat regexp))
 
+(defcustom gnus-sync-newsrc-offsets '(2 3)
+  "List of per-group data to be synchronized."
+  :group 'gnus-sync
+  :type '(set (const :tag "Read ranges" 2)
+              (const :tag "Marks" 3)))
+
 (defcustom gnus-sync-global-vars nil
   "List of global variables to be synchronized.
 You may want to sync `gnus-newsrc-last-checked-date' but pretty
@@ -743,7 +749,15 @@
     ;; entry in gnus-newsrc-alist whose group matches any of the
     ;; gnus-sync-newsrc-groups
     ;; TODO: keep the old contents for groups we don't have!
-    (let ((gnus-sync-newsrc-loader (gnus-sync-newsrc-loader-builder)))
+    (let ((gnus-sync-newsrc-loader
+          (loop for entry in (cdr gnus-newsrc-alist)
+                when (gnus-grep-in-list
+                      (car entry)     ;the group name
+                      gnus-sync-newsrc-groups)
+                collect (cons (car entry)
+                              (mapcar (lambda (offset)
+                                        (cons offset (nth offset entry)))
+                                      gnus-sync-newsrc-offsets)))))
       (with-temp-file gnus-sync-backend
         (progn
           (let ((coding-system-for-write gnus-ding-file-coding-system)

=== modified file 'lisp/jka-cmpr-hook.el'
--- a/lisp/jka-cmpr-hook.el     2012-01-29 17:41:43 +0000
+++ b/lisp/jka-cmpr-hook.el     2012-11-28 08:37:38 +0000
@@ -109,6 +109,7 @@
   "Return information about the compression scheme of FILENAME.
 The determination as to which compression scheme, if any, to use is
 based on the filename itself and `jka-compr-compression-info-list'."
+  (setq filename (file-name-sans-versions filename))
   (catch 'compression-info
     (let ((case-fold-search nil))
       (dolist (x jka-compr-compression-info-list)
@@ -191,19 +192,6 @@
 
 ;; I have this defined so that .Z files are assumed to be in unix
 ;; compress format; and .gz files, in gzip format, and .bz2 files in bzip fmt.
-
-;; FIXME? It seems ugly that one has to add "\\(~\\|\\.~[0-9]+~\\)?" to
-;; all the regexps here, in order to match backup files etc.
-;; It's trivial to modify jka-compr-get-compression-info to match
-;; regexps against file-name-sans-versions, but this regexp is also
-;; used to build a file-name-handler-alist entry.
-;; find-file-name-handler does not use file-name-sans-versions.
-;; Perhaps it should,
-;; http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg00812.html,
-;; but it's used all over the place and there are probably other ramifications.
-;; One could modify jka-compr-build-file-regexp to add the backup regexp,
-;; but jka-compr-compression-info-list is a defcustom to which
-;; anything could be added, so it's easiest to leave things as they are.
 (defcustom jka-compr-compression-info-list
   ;;[regexp
   ;; compr-message  compr-prog  compr-args
@@ -310,6 +298,7 @@
                         (boolean :tag "Strip Extension")
                         (string :tag "Magic Bytes")))
   :set 'jka-compr-set
+  :version "24.1"                      ; removed version extension piece
   :group 'jka-compr)
 
 (defcustom jka-compr-mode-alist-additions

=== modified file 'lisp/net/tramp-sh.el'
--- a/lisp/net/tramp-sh.el      2012-11-19 15:25:10 +0000
+++ b/lisp/net/tramp-sh.el      2012-11-27 14:55:25 +0000
@@ -813,14 +813,11 @@
     map {(substr(unpack(q(B8), chr $i++), 2, 6), $_)}
       split //, 
q(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/);
 };
-
-binmode(\\*STDIN);
+my $data;
 
 # We read in chunks of 54 bytes, to generate output lines
 # of 72 chars (plus end of line)
-$/ = \\54;
-
-while (my $data = <STDIN>) {
+while (read STDIN, $data, 54) {
     my $pad = q();
 
     # Only for the last chunk, and only if did not fill the last three-byte 
packet

=== modified file 'lisp/simple.el'
--- a/lisp/simple.el    2012-11-29 20:09:37 +0000
+++ b/lisp/simple.el    2012-12-03 01:08:31 +0000
@@ -4333,14 +4333,14 @@
 You can also deactivate the mark by typing \\[keyboard-quit] or
 \\[keyboard-escape-quit].
 
-Many commands change their behavior when Transient Mark mode is in effect
-and the mark is active, by acting on the region instead of their usual
-default part of the buffer's text.  Examples of such commands include
-\\[comment-dwim], \\[flush-lines], \\[keep-lines], \
+Many commands change their behavior when Transient Mark mode is
+in effect and the mark is active, by acting on the region instead
+of their usual default part of the buffer's text.  Examples of
+such commands include \\[comment-dwim], \\[flush-lines], \\[keep-lines],
 \\[query-replace], \\[query-replace-regexp], \\[ispell], and \\[undo].
-Invoke \\[apropos-documentation] and type \"transient\" or
-\"mark.*active\" at the prompt, to see the documentation of
-commands which are sensitive to the Transient Mark mode."
+To see the documentation of commands which are sensitive to the
+Transient Mark mode, invoke \\[apropos-documentation] and type \"transient\"
+or \"mark.*active\" at the prompt."
   :global t
   ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again.
   :variable transient-mark-mode)

=== modified file 'msdos/ChangeLog'
--- a/msdos/ChangeLog   2012-11-24 17:20:49 +0000
+++ b/msdos/ChangeLog   2012-12-03 01:08:31 +0000
@@ -1,3 +1,8 @@
+2012-12-03  Eli Zaretskii  <address@hidden>
+
+       * sed1v2.inp: Dump emacs.exe and copy to b-emacs.exe before
+       generating leim-list.el.
+
 2012-11-24  Ken Brown  <address@hidden>
 
        * sed2v2.inp (HAVE_MOUSE): Remove.

=== modified file 'msdos/sed1v2.inp'
--- a/msdos/sed1v2.inp  2012-11-03 13:48:33 +0000
+++ b/msdos/sed1v2.inp  2012-12-01 11:50:05 +0000
@@ -157,6 +157,12 @@
 /^     echo[   ][      ]*timestamp/s/echo /djecho /
 /^     .*djecho timestamp/a\
        @rm -f gl-tmp
+/^     cd \$(leimdir) && \$(MAKE)/i\
+       $(RUN_TEMACS) -batch -l loadup dump\
+       stubify emacs\
+       stubedit emacs.exe minstack=2048k\
+       rm -f b-emacs$(EXEEXT)\
+       cp emacs$(EXEEXT) b-emacs$(EXEEXT)
 /^     cd \$(leimdir) && \$(MAKE)/c\
        $(MAKE) $(MFLAGS) -C $(leimdir) leim-list.el EMACS=$(bootstrap_exe)
 /^     cd \$(lib) && \$(MAKE)/c\

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-12-02 23:11:42 +0000
+++ b/src/ChangeLog     2012-12-03 01:08:31 +0000
@@ -1,3 +1,25 @@
+2012-12-03  Chong Yidong  <address@hidden>
+
+       * fileio.c (Vauto_save_list_file_name): Doc fix.
+
+2012-12-03  Fabrice Popineau  <address@hidden>
+
+       * w32fns.c: Remove prototype of atof.
+       (syspage_mask): Declared DWORD_PTR, for compatibility with 64-bit
+       builds.
+       (file_dialog_callback): Declared UINT_PTR.
+
+       * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility
+       with 64-bit builds.
+
+       * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED)
+       (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already
+       defined.
+
+2012-12-03  Glenn Morris  <address@hidden>
+
+       * data.c (Fboundp, Fsymbol_value): Doc fix re lexical-binding.
+
 2012-12-02  Paul Eggert  <address@hidden>
 
        Fix xpalloc confusion after memory is exhausted.

=== modified file 'src/data.c'
--- a/src/data.c        2012-11-20 20:06:17 +0000
+++ b/src/data.c        2012-12-03 01:08:31 +0000
@@ -506,7 +506,9 @@
 /* Extract and set components of symbols.  */
 
 DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0,
-       doc: /* Return t if SYMBOL's value is not void.  */)
+       doc: /* Return t if SYMBOL's value is not void.
+Note that if `lexical-binding' is in effect, this refers to the
+global value outside of any lexical scope.  */)
   (register Lisp_Object symbol)
 {
   Lisp_Object valcontents;
@@ -1047,7 +1049,9 @@
 }
 
 DEFUN ("symbol-value", Fsymbol_value, Ssymbol_value, 1, 1, 0,
-       doc: /* Return SYMBOL's value.  Error if that is void.  */)
+       doc: /* Return SYMBOL's value.  Error if that is void.
+Note that if `lexical-binding' is in effect, this returns the
+global value outside of any lexical scope.  */)
   (Lisp_Object symbol)
 {
   Lisp_Object val;

=== modified file 'src/fileio.c'
--- a/src/fileio.c      2012-11-27 05:38:42 +0000
+++ b/src/fileio.c      2012-12-03 01:08:31 +0000
@@ -5771,7 +5771,7 @@
   DEFVAR_LISP ("auto-save-list-file-name", Vauto_save_list_file_name,
               doc: /* File name in which we write a list of all auto save file 
names.
 This variable is initialized automatically from `auto-save-list-file-prefix'
-shortly after Emacs reads your `.emacs' file, if you have not yet given it
+shortly after Emacs reads your init file, if you have not yet given it
 a non-nil value.  */);
   Vauto_save_list_file_name = Qnil;
 

=== modified file 'src/w32.c'
--- a/src/w32.c 2012-11-23 07:48:43 +0000
+++ b/src/w32.c 2012-12-03 01:08:31 +0000
@@ -150,10 +150,18 @@
     } DUMMYUNIONNAME;
 } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
 
+#ifndef FILE_DEVICE_FILE_SYSTEM
 #define FILE_DEVICE_FILE_SYSTEM        9
+#endif
+#ifndef METHOD_BUFFERED
 #define METHOD_BUFFERED                0
+#endif
+#ifndef FILE_ANY_ACCESS
 #define FILE_ANY_ACCESS                0x00000000
+#endif
+#ifndef CTL_CODE
 #define CTL_CODE(t,f,m,a)       (((t)<<16)|((a)<<14)|((f)<<2)|(m))
+#endif
 #define FSCTL_GET_REPARSE_POINT \
   CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
 #endif

=== modified file 'src/w32common.h'
--- a/src/w32common.h   2012-10-08 12:53:18 +0000
+++ b/src/w32common.h   2012-11-30 15:14:22 +0000
@@ -34,7 +34,7 @@
 
 extern SYSTEM_INFO    sysinfo_cache;
 extern OSVERSIONINFO  osinfo_cache;
-extern unsigned long  syspage_mask;
+extern DWORD_PTR      syspage_mask;
 
 extern int           w32_major_version;
 extern int           w32_minor_version;

=== modified file 'src/w32fns.c'
--- a/src/w32fns.c      2012-11-21 04:47:55 +0000
+++ b/src/w32fns.c      2012-12-03 01:08:31 +0000
@@ -82,7 +82,6 @@
 void globals_of_w32fns (void);
 
 extern void free_frame_menubar (struct frame *);
-extern double atof (const char *);
 extern int w32_console_toggle_lock_key (int, Lisp_Object);
 extern void w32_menu_display_help (HWND, HMENU, UINT, UINT);
 extern void w32_free_menu_strings (HWND);
@@ -223,7 +222,7 @@
 /* This gives us version, build, and platform identification.  */
 OSVERSIONINFO osinfo_cache;
 
-unsigned long syspage_mask = 0;
+DWORD_PTR syspage_mask = 0;
 
 /* The major and minor versions of NT.  */
 int w32_major_version;
@@ -6035,7 +6034,7 @@
    read-only when "Directories" is selected in the filter.  This
    allows us to work around the fact that the standard Open File
    dialog does not support directories.  */
-static UINT CALLBACK
+static UINT_PTR CALLBACK
 file_dialog_callback (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 {
   if (msg == WM_NOTIFY)


reply via email to

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