emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111345: Merge from emacs-24; up to r111080
Date: Thu, 27 Dec 2012 00:21:08 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111345 [merge]
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Thu 2012-12-27 00:21:08 -0800
message:
  Merge from emacs-24; up to r111080
modified:
  ChangeLog
  configure.ac
  doc/emacs/maintaining.texi
  doc/lispref/ChangeLog
  doc/lispref/files.texi
  doc/misc/ChangeLog
  doc/misc/ada-mode.texi
  doc/misc/auth.texi
  doc/misc/autotype.texi
  doc/misc/bovine.texi
  doc/misc/ede.texi
  doc/misc/eieio.texi
  doc/misc/idlwave.texi
  doc/misc/pcl-cvs.texi
  doc/misc/viper.texi
  doc/misc/widget.texi
  doc/misc/wisent.texi
  etc/NEWS
  lisp/ChangeLog
  lisp/gnus/ChangeLog
  lisp/gnus/nnimap.el
  lisp/gnus/plstore.el
  lisp/progmodes/cc-fonts.el
  lisp/progmodes/ruby-mode.el
  src/ChangeLog
  src/cygw32.c
  src/fileio.c
  test/ChangeLog
  test/automated/ruby-mode-tests.el
=== modified file 'ChangeLog'
--- a/ChangeLog 2012-12-26 05:41:42 +0000
+++ b/ChangeLog 2012-12-27 08:21:08 +0000
@@ -1,3 +1,8 @@
+2012-12-27  Andreas Schwab  <address@hidden>
+
+       * configure.ac (SIGNALS_VIA_CHARACTERS): Also define for darwin.
+       (Bug#13222)
+
 2012-12-26  Paul Eggert  <address@hidden>
 
        Revert static checking of stack smashing.

=== modified file 'configure.ac'
--- a/configure.ac      2012-12-26 05:41:42 +0000
+++ b/configure.ac      2012-12-27 08:21:08 +0000
@@ -3673,7 +3673,7 @@
 case $opsys in
   dnl Perry Smith <address@hidden> says this is correct for AIX.
   dnl address@hidden says this is needed for IRIX.
-  aix4-2 | cygwin | gnu | irix6-5 | freebsd | netbsd | openbsd )
+  aix4-2 | cygwin | gnu | irix6-5 | freebsd | netbsd | openbsd | darwin )
     AC_DEFINE(SIGNALS_VIA_CHARACTERS, 1)
     ;;
 

=== modified file 'doc/emacs/maintaining.texi'
--- a/doc/emacs/maintaining.texi        2012-12-06 06:17:10 +0000
+++ b/doc/emacs/maintaining.texi        2012-12-27 08:21:08 +0000
@@ -1065,7 +1065,7 @@
 @cindex CVS directory mode
   In addition to the VC Directory buffer, Emacs has a similar facility
 called PCL-CVS which is specialized for address@hidden  @xref{Top, , About
-PCL-CVS, pcl-cvs, PCL-CVS --- The Emacs Front-End to CVS}.
+PCL-CVS, pcl-cvs, PCL-CVS---The Emacs Front-End to CVS}.
 @end ifnottex
 
 @menu

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2012-12-22 19:09:52 +0000
+++ b/doc/lispref/ChangeLog     2012-12-27 08:21:08 +0000
@@ -1,3 +1,7 @@
+2012-12-27  Glenn Morris  <address@hidden>
+
+       * files.texi (File Names): Mention Cygwin conversion functions.
+
 2012-12-22  Martin Rudalics  <address@hidden>
 
        * windows.texi (Selecting Windows): Reword description of

=== modified file 'doc/lispref/files.texi'
--- a/doc/lispref/files.texi    2012-12-22 14:18:11 +0000
+++ b/doc/lispref/files.texi    2012-12-27 08:21:08 +0000
@@ -1733,12 +1733,20 @@
 can operate on file names that do not refer to an existing file or
 directory.
 
address@hidden cygwin-convert-file-name-from-windows
address@hidden cygwin-convert-file-name-to-windows
address@hidden MS-Windows file-name syntax
address@hidden converting file names from/to MS-Windows syntax
   On MS-DOS and MS-Windows, these functions (like the function that
 actually operate on files) accept MS-DOS or MS-Windows file-name syntax,
 where backslashes separate the components, as well as Unix syntax; but
 they always return Unix syntax.  This enables Lisp programs to specify
 file names in Unix syntax and work properly on all systems without
-change.
address@hidden MS-Windows versions of Emacs compiled for the Cygwin
+environment, you can use the functions
address@hidden and
address@hidden to convert between the
+two file-name syntaxes.}
 
 @menu
 * File Name Components::  The directory part of a file name, and the rest.

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2012-12-25 12:00:26 +0000
+++ b/doc/misc/ChangeLog        2012-12-27 08:21:08 +0000
@@ -1,3 +1,28 @@
+2012-12-27  Glenn Morris  <address@hidden>
+
+       * viper.texi (Rudimentary Changes, Key Bindings, Key Bindings):
+       Avoid some overfull lines.
+
+       * widget.texi (Programming Example): Break some long lines.
+
+       * wisent.texi (Wisent Overview): Fix xref.
+       (Grammar format, Understanding the automaton): Avoid overfill.
+
+       * bovine.texi (Optional Lambda Expression): Allow line break.
+
+       * auth.texi (Help for users): Break long lines.
+
+       * ada-mode.texi (Project file variables):
+       Reword to reduce underfull hbox.
+       (No project files, Use GNAT project file):
+       Use smallexample to make some overfull lines less terrible.
+
+       * autotype.texi, bovine.texi, ede.texi, eieio.texi, pcl-cvs.texi:
+       Fix cross-references to separate manuals.
+
+       * Makefile.in (gfdl): New variable.  Use throughout where
+       appropriate so that targets depend on doclicense.texi.
+
 2012-12-25  Lars Ingebrigtsen  <address@hidden>
 
        * gnus.texi (Customizing the IMAP Connection): Mention the other

=== modified file 'doc/misc/ada-mode.texi'
--- a/doc/misc/ada-mode.texi    2012-12-22 19:49:54 +0000
+++ b/doc/misc/ada-mode.texi    2012-12-27 08:21:08 +0000
@@ -521,8 +521,8 @@
 ada_project_path=$GDS_ROOT/makerules
 ada_project_path=../opentoken
 @end example
-the environment variable @code{ADA_PROJECT_PATH} will be set to
address@hidden"/home/shared/makerules:/home/opentoken/"}.
+then as a result the environment variable @code{ADA_PROJECT_PATH} will
+be set to @code{"/home/shared/makerules:/home/opentoken/"}.
 
 The default value is not the current value of this environment
 variable, because that will typically have been set by another
@@ -730,7 +730,7 @@
 get a @code{*compilation*} buffer containing something like (the
 directory paths will be different):
 
address@hidden
address@hidden
 cd c:/Examples/Example_1/
 gnatmake -u -c -gnatc -g c:/Examples/Example_1/hello.adb -cargs -gnatq -gnatQ
 gcc -c -Ic:/Examples/Example_1/ -gnatc -g -gnatq -gnatQ -I- 
c:/Examples/Example_1/hello.adb
@@ -738,7 +738,7 @@
 hello.adb:4:04: non-visible declaration at a-textio.ads:264
 hello.adb:4:04: non-visible declaration at a-textio.ads:260
 gnatmake: "c:/Examples/Example_1/hello.adb" compilation error
address@hidden example
address@hidden smallexample
 
 If you have enabled font-lock, the lines with actual errors (starting
 with @file{hello.adb}) are highlighted, with the file name in red.
@@ -1045,14 +1045,14 @@
 Build}. You should get a @code{*compilation*} buffer containing
 something like (the directory paths will be different):
 
address@hidden
address@hidden
 cd c:/Examples/Example_4/Gnat_Project/
 gnatmake -o hello_4 hello_4 -Phello_4.gpr -cargs -gnatq -gnatQ -bargs  -largs
 gcc -c -g -gnatyt -gnatq -gnatQ -I- -gnatA 
c:\Examples\Example_4\Gnat_Project\hello_4.adb
 gcc -c -g -gnatyt -gnatq -gnatQ -I- -gnatA c:\Examples\Example_4\hello_pkg.adb
 hello_pkg.adb:2:08: keyword "body" expected here [see file name]
 gnatmake: "c:\examples\example_4\hello_pkg.adb" compilation error
address@hidden example
address@hidden smallexample
 
 Compare the @code{gcc} options to the compiler output in @ref{Set
 compiler options}; this shows that @file{hello_4.gpr} is being used to
@@ -1112,14 +1112,14 @@
 Build}. You should get a @code{*compilation*} buffer containing
 something like (the directory paths will be different):
 
address@hidden
address@hidden
 cd c:/Examples/Example_5/
 gnatmake -o hello_5 hello_5 -Phello_5.gpr -g -cargs -gnatq -gnatQ -bargs  
-largs
 gcc -c -g -gnatyt -g -gnatq -gnatQ -I- -gnatA c:\Examples\Example_5\hello_5.adb
 gcc -c -g -gnatyt -g -gnatq -gnatQ -I- -gnatA 
c:\Examples\Example_4\hello_pkg.adb
 hello_pkg.adb:2:08: keyword "body" expected here [see file name]
 gnatmake: "c:\examples\example_4\hello_pkg.adb" compilation error
address@hidden example
address@hidden smallexample
 
 Now type @kbd{C-x `}. @file{Example_4/hello_pkg.adb} is shown,
 demonstrating that @file{hello_5.gpr} and @file{hello_4.gpr} are being

=== modified file 'doc/misc/auth.texi'
--- a/doc/misc/auth.texi        2012-12-22 16:25:40 +0000
+++ b/doc/misc/auth.texi        2012-12-22 21:12:07 +0000
@@ -154,7 +154,8 @@
 (setq auth-sources '((:source "~/.authinfo.gpg")))
 ;;; even shorter and the @emph{default}:
 (setq auth-sources '("~/.authinfo.gpg" "~/.authinfo" "~/.netrc"))
-;;; use the Secrets API @var{Login} collection (@pxref{Secret Service API})
+;;; use the Secrets API @var{Login} collection
+;;; (@pxref{Secret Service API})
 (setq auth-sources '("secrets:Login"))
 @end lisp
 
@@ -167,7 +168,8 @@
 Here's a mixed example using two sources:
 
 @lisp
-(setq auth-sources '((:source (:secrets default) :host "myserver" :user "joe")
+(setq auth-sources '((:source (:secrets default)
+                      :host "myserver" :user "joe")
                      "~/.authinfo.gpg"))
 @end lisp
 

=== modified file 'doc/misc/autotype.texi'
--- a/doc/misc/autotype.texi    2012-12-22 16:25:40 +0000
+++ b/doc/misc/autotype.texi    2012-12-22 21:01:50 +0000
@@ -58,7 +58,7 @@
 language constructs.  Project-specific header comments, flow-control
 constructs or magic numbers are essentially the same every time.  Emacs has
 various features for doing tedious and repetitive typing chores for you
-in addition to the Abbrev features (@pxref{(emacs)Abbrevs}).
+in addition to the Abbrev features (@pxref{Abbrevs,,, emacs, The GNU Emacs 
Manual}).
 
   One solution is using skeletons, flexible rules that say what to
 insert, and how to do it.  Various programming language modes offer some
@@ -113,7 +113,7 @@
 programming language you are using, skeletons are a means of accomplishing
 this.  Normally skeletons each have a command of their own, that, when called,
 will insert the skeleton.  These commands can be issued in the usual ways
-(@pxref{(emacs)Commands}).  Modes that offer various skeletons will often
+(@pxref{Commands,,, emacs, The GNU Emacs Manual}).  Modes that offer various 
skeletons will often
 bind these to key-sequences on the @kbd{C-c} prefix, as well as having
 an @cite{Insert} menu and maybe even predefined abbrevs for them
 (@pxref{Skeletons as Abbrevs}).
@@ -146,18 +146,18 @@
 reindent the wrapped code for you.
 
   Skeleton commands take an optional numeric prefix argument
-(@pxref{(emacs)Arguments}).  This is interpreted in two different ways 
depending
+(@pxref{Arguments,,, emacs, The GNU Emacs Manual}).  This is interpreted in 
two different ways depending
 on whether the prefix is positive, i.e., forwards oriented, or negative,
 i.e., backwards oriented.
 
   A positive prefix means to wrap the skeleton around that many
 following words.  This is accomplished by putting the words there where
 the point is normally left after that skeleton is inserted (@pxref{Using
-Skeletons}).  The point (@pxref{(emacs)Point}) is left at the next
+Skeletons}).  The point (@pxref{Point,,, emacs, The GNU Emacs Manual}) is left 
at the next
 interesting spot in the skeleton instead.
 
   A negative prefix means to do something similar with that many previously
-marked interregions (@pxref{(emacs)Mark}).  In the simplest case, if you type
+marked interregions (@pxref{Mark,,, emacs, The GNU Emacs Manual}).  In the 
simplest case, if you type
 @kbd{M--} just before issuing the skeleton command, that will wrap the
 skeleton around the current region, just like a positive argument would have
 wrapped it around a number of words.
@@ -189,8 +189,8 @@
 @cindex skeletons as abbrevs
 
   Rather than use a key binding for every skeleton command, you can also
-define an abbreviation (@pxref{(emacs)Defining Abbrevs}) that will expand
-(@pxref{(emacs)Expanding Abbrevs}) into the skeleton.
+define an abbreviation (@pxref{Defining Abbrevs,,, emacs, The GNU Emacs 
Manual}) that will expand
+(@pxref{Expanding Abbrevs,,, emacs, The GNU Emacs Manual}) into the skeleton.
 
   Say you want @samp{ifst} to be an abbreviation for the C language if
 statement.  You will tell Emacs that @samp{ifst} expands to the empty string
@@ -290,7 +290,7 @@
 documentation string, and the rest is an interactor and any number of skeleton
 elements together forming a skeleton.  This skeleton is assigned to a variable
 of the same name as the command and can thus be overridden from your
address@hidden/.emacs} file (@pxref{(emacs)Init File}).
address@hidden/.emacs} file (@pxref{Init File,,, emacs, The GNU Emacs Manual}).
 
 
 
@@ -309,14 +309,14 @@
 
 @findex skeleton-pair-insert-maybe
 @vindex skeleton-pair
-  This is done by binding the first key (@pxref{(emacs)Rebinding}) of
+  This is done by binding the first key (@pxref{Rebinding,,, emacs, The GNU 
Emacs Manual}) of
 the pair to @code{skeleton-pair-insert-maybe} instead of
 @code{self-insert-command}.  The ``maybe'' comes from the fact that
 this at-first surprising behavior is initially turned off.  To enable
 it, you must set @code{skeleton-pair} to some address@hidden value.
-And even then, a positive argument (@pxref{(emacs)Arguments}) will
+And even then, a positive argument (@pxref{Arguments,,, emacs, The GNU Emacs 
Manual}) will
 make this key behave like a self-inserting key
-(@pxref{(emacs)Inserting Text}).
+(@pxref{Inserting Text,,, emacs, The GNU Emacs Manual}).
 
 @vindex skeleton-pair-on-word
   While this breaks with the stated intention of always balancing pairs, it
@@ -354,7 +354,7 @@
 is to have it be called automatically every time an empty, and only an
 empty file is visited.  This is accomplished by putting @code{(add-hook
 'find-file-hook 'auto-insert)} into your @file{~/.emacs} file
-(@pxref{(emacs)Init File}).
+(@pxref{Init File,,, emacs, The GNU Emacs Manual}).
 
 @vindex auto-insert-alist
   What gets inserted, if anything, is determined by the variable
@@ -392,10 +392,10 @@
 environment variable @env{$ORGANIZATION} or else the FSF, and prompt
 for valid keywords describing the contents.  Files in a @file{bin}
 directory for which Emacs could determine no specialized mode
-(@pxref{(emacs)Choosing Modes}) are set to Shell script mode.
+(@pxref{Choosing Modes,,, emacs, The GNU Emacs Manual}) are set to Shell 
script mode.
 
 @findex define-auto-insert
-  In Lisp (@pxref{(emacs)Init File}) you can use the function
+  In Lisp (@pxref{Init File,,, emacs, The GNU Emacs Manual}) you can use the 
function
 @code{define-auto-insert} to add to or modify
 @code{auto-insert-alist}.  See its documentation with @kbd{C-h f
 define-auto-insert}.
@@ -438,7 +438,7 @@
   @kbd{M-x copyright} is a skeleton inserting command, that adds a copyright
 notice at the point.  The ``by'' part is taken from your environment variable
 @env{$ORGANIZATION} or if that isn't set you are prompted for it.  If the
-buffer has a comment syntax (@pxref{(emacs)Comments}), this is inserted as a 
comment.
+buffer has a comment syntax (@pxref{Comments,,, emacs, The GNU Emacs Manual}), 
this is inserted as a comment.
 
 @findex copyright-update
 @vindex copyright-limit
@@ -450,13 +450,13 @@
 If a dash-separated year list up to last year is found, that is extended to
 current year, else the year is added separated by a comma.  Or it replaces
 them when this is called with a prefix argument.  If a header referring to a
-wrong version of the GNU General Public License (@pxref{(emacs)Copying}) is 
found,
+wrong version of the GNU General Public License (@pxref{Copying,,, emacs, The 
GNU Emacs Manual}) is found,
 that is updated too.
 
   An interesting application for this function is to have it be called
 automatically every time a file is saved.  This is accomplished by
 putting @code{(add-hook 'before-save-hook 'copyright-update)} into
-your @file{~/.emacs} file (@pxref{(emacs)Init File}).  Alternative,
+your @file{~/.emacs} file (@pxref{Init File,,, emacs, The GNU Emacs Manual}).  
Alternative,
 you can do @kbd{M-x customize-variable @key{RET} before-save-hook
 @key{RET}}.  @code{copyright-update} is conveniently listed as an
 option in the customization buffer.

=== modified file 'doc/misc/bovine.texi'
--- a/doc/misc/bovine.texi      2012-12-22 16:25:40 +0000
+++ b/doc/misc/bovine.texi      2012-12-22 21:15:44 +0000
@@ -138,7 +138,7 @@
 In bison, each time an element of @var{components} is found, it is
 @dfn{shifted} onto the parser stack.  (The stack of matched elements.)
 When all @var{components}' elements have been matched, it is
address@hidden to @var{result}.  @xref{(bison)Algorithm}.
address@hidden to @var{result}.  @xref{Algorithm,,, bison, The GNU Bison 
Manual}.
 
 A particular @var{result} written into your grammar becomes
 the parser's goal.  It is designated by a @code{%start} statement
@@ -368,8 +368,8 @@
 @code{variable}, though any symbol will work.
 
 @item attributes
-Is an optional set of labeled values such as @address@hidden:constant-flag t 
:parent
-"parenttype"}}.
+Is an optional set of labeled values such as @code{:constant-flag t :parent
+"parenttype"}.
 @end table
 
 @item  (TAG-VARIABLE @var{name} @var{type} @var{default-value} address@hidden)

=== modified file 'doc/misc/ede.texi'
--- a/doc/misc/ede.texi 2012-12-22 16:25:40 +0000
+++ b/doc/misc/ede.texi 2012-12-22 21:01:50 +0000
@@ -1110,7 +1110,7 @@
 is saved, or how a target is compiled can be customized by a project
 author in detail.  @ede{} communicates to these project objects via an
 API using methods.  The commands you use in @ede{} mode are high-level
-functional wrappers over these methods.  @xref{(eieio)Top}. For
+functional wrappers over these methods.  @xref{Top,,, eieio, EIEIO manual}. For
 details on using @eieio{} to extending classes, and writing methods.
 
 If you intend to extend @ede{}, it is most likely that a new target type is
@@ -1361,7 +1361,8 @@
 override this unless you keep auxiliary files.
 @end table
 
-These methods are used by the semantic package extensions @xref{(semantic)Top}.
+These methods are used by the semantic package extensions.
address@hidden,,, semantic, Semantic manual}.
 
 @table @code
 @item ede-buffer-header-file

=== modified file 'doc/misc/eieio.texi'
--- a/doc/misc/eieio.texi       2012-12-22 16:25:40 +0000
+++ b/doc/misc/eieio.texi       2012-12-22 21:01:50 +0000
@@ -446,7 +446,7 @@
 
 @item :type
 An unquoted type specifier used to validate data set into this slot.
address@hidden(cl)Type Predicates}.
address@hidden Predicates,,,cl,Common Lisp Extensions}.
 Here are some examples:
  @table @code
  @item symbol
@@ -1571,7 +1571,7 @@
 
 Each class will be indexed using the texinfo labeled index
 @var{indexstring} which is a two letter description.
address@hidden(texinfo) New Indices}.
address@hidden Indices,,,texinfo,Texinfo manual}.
 
 To use this command, the texinfo macro
 
@@ -1874,8 +1874,9 @@
 
 @item :type
 Specifier uses the @code{typep} function from the @file{cl}
-package.  @xref{(cl)Type Predicates}.  It therefore has the same issues as
-that package.  Extensions include the ability to provide object names.
+package.  @xref{Type Predicates,,,cl,Common Lisp Extensions}.
+It therefore has the same issues as that package.  Extensions include
+the ability to provide object names.
 @end table
 
 Defclass also supports class options, but does not currently use values

=== modified file 'doc/misc/idlwave.texi'
--- a/doc/misc/idlwave.texi     2012-12-22 19:49:54 +0000
+++ b/doc/misc/idlwave.texi     2012-12-27 08:21:08 +0000
@@ -4067,7 +4067,7 @@
 @itemize @bullet
 @item When you download the IDLWAVE distribution, make sure you save the
 file under the names @file{idlwave.tar.gz}.
address@hidden M-TAB switches among running programs --- use Esc-TAB
address@hidden M-TAB switches among running programs---use Esc-TAB
 instead.
 @item Other issues as yet unnamed...
 @end itemize

=== modified file 'doc/misc/pcl-cvs.texi'
--- a/doc/misc/pcl-cvs.texi     2012-12-22 20:11:36 +0000
+++ b/doc/misc/pcl-cvs.texi     2012-12-27 08:21:08 +0000
@@ -1169,13 +1169,13 @@
 
 @findex log-edit-insert-changelog
 If you work by writing entries in the @file{ChangeLog}
-(@pxref{(emacs)Change Log}) and then commit the change under revision
+(@pxref{Change Log,,, emacs, The GNU Emacs Manual}) and then commit the change 
under revision
 control, you can generate the Log Edit text from the ChangeLog using
 @kbd{C-c C-a} (@kbd{log-edit-insert-changelog}).  This looks for
 entries for the file(s) concerned in the top entry in the ChangeLog
 and uses those paragraphs as the log text.  This text is only inserted
 if the top entry was made under your user name on the current date.
address@hidden(emacs)Change Logs and VC}, for the opposite way of
address@hidden Logs and VC,,, emacs, The GNU Emacs Manual}, for the opposite 
way of
 working---generating ChangeLog entries from the revision control log.
 
 In the Log Edit buffer, @kbd{C-c C-f} (@kbd{M-x log-edit-show-files})

=== modified file 'doc/misc/viper.texi'
--- a/doc/misc/viper.texi       2012-12-22 20:06:25 +0000
+++ b/doc/misc/viper.texi       2012-12-27 08:21:08 +0000
@@ -1833,10 +1833,10 @@
 specifying a new face.  (Emacs faces are described in the Emacs Lisp
 reference.)  On a color display, the following customization method is
 usually most effective:
address@hidden
address@hidden
 (set-face-foreground viper-replace-overlay-face "DarkSlateBlue")
 (set-face-background viper-replace-overlay-face "yellow")
address@hidden example
address@hidden smallexample
 For a complete list of colors available to you, evaluate the expression
 @code{(x-defined-colors)}.  (Type it in the buffer @code{*scratch*} and then
 hit the @kbd{C-j} key.
@@ -2039,7 +2039,8 @@
 @noindent
 To customize the binding for @kbd{C-h} in Insert state:
 @example
-(define-key viper-insert-global-user-map "\C-h" 'my-del-backwards-function)
+(define-key viper-insert-global-user-map "\C-h"
+  'my-del-backwards-function)
 @end example
 @noindent
 
@@ -2088,7 +2089,8 @@
 (setq my-dired-vi-purist-map (make-sparse-keymap))
 (define-key my-dired-vi-purist-map "k" 'viper-previous-line)
 (define-key my-dired-vi-purist-map "l" 'viper-forward-char)
-(viper-modify-major-mode 'dired-mode 'emacs-state my-dired-vi-purist-map)
+(viper-modify-major-mode 'dired-mode
+                         'emacs-state my-dired-vi-purist-map)
 @end example
 
 Yet another way to customize key bindings in a major mode is to edit the

=== modified file 'doc/misc/widget.texi'
--- a/doc/misc/widget.texi      2012-12-22 19:57:35 +0000
+++ b/doc/misc/widget.texi      2012-12-27 08:21:08 +0000
@@ -360,13 +360,14 @@
   (setq widget-example-repeat
         (widget-create 'editable-list
                        :entry-format "%i %d %v"
-                       :notify (lambda (widget &rest ignore)
-                                 (let ((old (widget-get widget
-                                                        ':example-length))
-                                       (new (length (widget-value widget))))
-                                   (unless (eq old new)
-                                     (widget-put widget ':example-length new)
-                                     (message "You can count to %d." new))))
+                       :notify
+                       (lambda (widget &rest ignore)
+                         (let ((old (widget-get widget
+                                                ':example-length))
+                               (new (length (widget-value widget))))
+                           (unless (eq old new)
+                             (widget-put widget ':example-length new)
+                             (message "You can count to %d." new))))
                        :value '("One" "Eh, two?" "Five!")
                        '(editable-field :value "three")))
   (widget-insert "\n\nSelect multiple:\n\n")
@@ -383,11 +384,13 @@
                  :notify (lambda (widget &rest ignore)
                            (message "You selected %s"
                                     (widget-value widget)))
-                 '(item "One") '(item "Another One.") '(item "A Final One."))
+                 '(item "One") '(item "Another One.")
+                 '(item "A Final One."))
   (widget-insert "\n")
   (widget-create 'push-button
                  :notify (lambda (&rest ignore)
-                           (if (= (length (widget-value widget-example-repeat))
+                           (if (= (length
+                                   (widget-value widget-example-repeat))
                                   3)
                                (message "Congratulation!")
                              (error "Three was the count!")))

=== modified file 'doc/misc/wisent.texi'
--- a/doc/misc/wisent.texi      2012-12-22 20:19:41 +0000
+++ b/doc/misc/wisent.texi      2012-12-27 08:21:08 +0000
@@ -112,7 +112,7 @@
 of GNU Bison 1.28 & 1.31.
 
 For more details on the basic concepts for understanding Wisent, it is
-worthwhile to read the @ref{Top, Bison Manual, bison}.
+worthwhile to read the @ref{Top, Bison Manual, , bison}.
 @ifhtml
 @uref{http://www.gnu.org/manual/bison/html_node/index.html}.
 @end ifhtml
@@ -302,7 +302,7 @@
 can match the empty string.  For example, here is how to define a
 comma-separated sequence of zero or more @samp{exp} groupings:
 
address@hidden
address@hidden
 @group
 (expseq  (nil)               ;; expseq: ;; empty
          ((expseq1))         ;;       | expseq1
@@ -312,7 +312,7 @@
          ((expseq1 ?, exp))  ;;        | expseq1 ',' exp
          )                   ;;        ;
 @end group
address@hidden example
address@hidden smallexample
 
 @cindex precedence level
 @item precedence
@@ -339,7 +339,7 @@
 
 Now the precedence of @code{UMINUS} can be used in specific rules:
 
address@hidden
address@hidden
 @group
 (exp    @dots{}                  ;; exp:    @dots{}
          ((exp ?- exp))      ;;         | exp '-' exp
@@ -348,7 +348,7 @@
         @dots{}                  ;;         @dots{}
         )                    ;;         ;
 @end group
address@hidden example
address@hidden smallexample
 
 If you forget to append @code{[UMINUS]} to the rule for unary minus,
 Wisent silently assumes that minus has its usual precedence.  This
@@ -1029,7 +1029,6 @@
     $default    reduce using rule 2 (exp)
 
 
-
 state 9
 
     exp  ->  exp . '+' exp   (rule 1)
@@ -1044,7 +1043,6 @@
     $default    reduce using rule 3 (exp)
 
 
-
 state 10
 
     exp  ->  exp . '+' exp   (rule 1)

=== modified file 'etc/NEWS'
--- a/etc/NEWS  2012-12-24 17:49:19 +0000
+++ b/etc/NEWS  2012-12-27 08:21:08 +0000
@@ -1205,14 +1205,16 @@
 ** Cygwin builds can use the native MS Windows user interface.
 Pass --with-w32 to configure.  The default remains the X11 interface.
 
++++
 ** Two new functions are available in Cygwin builds:
 `cygwin-convert-file-name-from-windows' and
 `cygwin-convert-file-name-to-windows'.  These functions allow Lisp
 code to access the Cygwin file-name mapping machinery to convert
 between Cygwin and Windows-native file and directory names.
 
+---
 ** When invoked with the -nw switch to run on the Windows text-mode terminal,
-Emacs now supports mouse highlight, help-echo (in the echo area), and
+Emacs now supports `mouse-highlight', help-echo (in the echo area), and
 `mouse-autoselect-window'.
 
 +++

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-12-27 07:33:47 +0000
+++ b/lisp/ChangeLog    2012-12-27 08:21:08 +0000
@@ -1,3 +1,17 @@
+2012-12-27  Dmitry Gutov  <address@hidden>
+
+       * progmodes/ruby-mode.el (ruby-indent-beg-re): Only allow "class",
+       "module" and "def" to have indentation before them.  Regression
+       from 109911 (see the new test).
+
+       * progmodes/ruby-mode.el: Bump the version to 1.2 (Bug#13200).
+
+2012-12-27  Alan Mackenzie  <address@hidden>
+
+       Speed up fontification where there's large brace blocks.
+       * progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Add a limit
+       to a call of c-beginning-of-decl-1.
+
 2012-12-27  Vitalie Spinu  <address@hidden>  (tiny change)
 
        * comint.el (comint-adjust-window-point): New function.

=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2012-12-26 22:30:58 +0000
+++ b/lisp/gnus/ChangeLog       2012-12-27 08:21:08 +0000
@@ -1,3 +1,15 @@
+2012-12-27  Glenn Morris  <address@hidden>
+
+       * plstore.el (plstore-passphrase-callback-function):
+       Use plstore-get-file.
+
+2012-12-27  Andreas Schwab  <address@hidden>
+
+       * nnimap.el (nnimap-find-article-by-message-id):
+       Don't error out if group is nil.
+
+       * shr.el (shr-tag-em): Render as italic, not bold.
+
 2012-12-26  Katsumi Yamaoka  <address@hidden>
 
        * mml2015.el (mml2015-epg-key-image): Use mm-set-buffer-multibyte.

=== modified file 'lisp/gnus/nnimap.el'
--- a/lisp/gnus/nnimap.el       2012-12-25 12:00:26 +0000
+++ b/lisp/gnus/nnimap.el       2012-12-27 08:21:08 +0000
@@ -980,7 +980,7 @@
 (defun nnimap-find-article-by-message-id (group message-id)
   (with-current-buffer (nnimap-buffer)
     (erase-buffer)
-    (unless (equal group (nnimap-group nnimap-object))
+    (unless (or (not group) (equal group (nnimap-group nnimap-object)))
       (setf (nnimap-group nnimap-object) nil)
       (setf (nnimap-examined nnimap-object) group)
       (nnimap-send-command "EXAMINE %S" (utf7-encode group t)))

=== modified file 'lisp/gnus/plstore.el'
--- a/lisp/gnus/plstore.el      2012-12-25 22:23:10 +0000
+++ b/lisp/gnus/plstore.el      2012-12-27 08:21:08 +0000
@@ -126,8 +126,7 @@
 
 (defun plstore-passphrase-callback-function (_context _key-id plstore)
   (if plstore-cache-passphrase-for-symmetric-encryption
-      (let* ((file (file-truename (buffer-file-name
-                                  (plstore--get-buffer plstore))))
+      (let* ((file (file-truename (plstore-get-file plstore)))
             (entry (assoc file plstore-passphrase-alist))
             passphrase)
        (or (copy-sequence (cdr entry))

=== modified file 'lisp/progmodes/cc-fonts.el'
--- a/lisp/progmodes/cc-fonts.el        2012-01-19 07:21:25 +0000
+++ b/lisp/progmodes/cc-fonts.el        2012-12-23 11:36:15 +0000
@@ -1591,6 +1591,7 @@
   ;; prevent a repeat invocation.  See elisp/lispref page "Search-based
   ;; Fontification".
   (let* ((paren-state (c-parse-state))
+        (decl-search-lim (c-determine-limit 1000))
         decl-context in-typedef ps-elt)
     ;; Are we in any nested struct/union/class/etc. braces?
     (while paren-state
@@ -1599,7 +1600,7 @@
       (when (and (atom ps-elt)
                 (eq (char-after ps-elt) ?\{))
        (goto-char ps-elt)
-       (setq decl-context (c-beginning-of-decl-1)
+       (setq decl-context (c-beginning-of-decl-1 decl-search-lim)
              in-typedef (looking-at c-typedef-key))
        (if in-typedef (c-forward-token-2))
        (when (and c-opt-block-decls-with-vars-key

=== modified file 'lisp/progmodes/ruby-mode.el'
--- a/lisp/progmodes/ruby-mode.el       2012-12-26 19:52:56 +0000
+++ b/lisp/progmodes/ruby-mode.el       2012-12-27 08:21:08 +0000
@@ -7,7 +7,7 @@
 ;; URL: http://www.emacswiki.org/cgi-bin/wiki/RubyMode
 ;; Created: Fri Feb  4 14:49:13 JST 1994
 ;; Keywords: languages ruby
-;; Version: 1.0
+;; Version: 1.2
 
 ;; This file is part of GNU Emacs.
 
@@ -64,8 +64,9 @@
   "Regexp to match keywords that nest without blocks.")
 
 (defconst ruby-indent-beg-re
-  (concat "^\\s *" (regexp-opt '("class" "module" "def" "if" "unless" "case"
-                                 "while" "until" "for" "begin")) "\\_>")
+  (concat "^\\(\\s *" (regexp-opt '("class" "module" "def")) "\\|"
+          (regexp-opt '("if" "unless" "case" "while" "until" "for" "begin"))
+          "\\)\\_>")
   "Regexp to match where the indentation gets deeper.")
 
 (defconst ruby-modifier-beg-keywords

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-12-26 15:40:19 +0000
+++ b/src/ChangeLog     2012-12-27 08:21:08 +0000
@@ -1,3 +1,23 @@
+2012-12-27  Glenn Morris  <address@hidden>
+
+       * cygw32.c (Fcygwin_convert_file_name_to_windows)
+       (Fcygwin_convert_file_name_from_windows): Doc fixes.
+
+2012-12-27  Eli Zaretskii  <address@hidden>
+
+       * fileio.c (file_name_as_directory, directory_file_name): Accept
+       an additional argument MULTIBYTE to indicate whether the input C
+       came from a multibyte or a unibyte Lisp string; all callers
+       adjusted.  Don't assume the input string is always multibyte.
+       (Bug#13262)
+       (Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly:
+       don't ENCODE_FILE them, and return a unibyte string if the input
+       was unibyte.
+       (Fexpand_file_name): Don't mix unibyte with multibyte strings, and
+       don't assume the input strings will always be multibyte.  If the
+       input strings are multibyte, decode strings obtained from C
+       library functions.
+
 2012-12-26  Dmitry Antipov  <address@hidden>
 
        * lisp.h (toplevel): Add two notices to the comment about

=== modified file 'src/cygw32.c'
--- a/src/cygw32.c      2012-11-21 04:47:55 +0000
+++ b/src/cygw32.c      2012-12-27 08:21:08 +0000
@@ -110,23 +110,25 @@
        Fcygwin_convert_file_name_to_windows,
        Scygwin_convert_file_name_to_windows,
        1, 2, 0,
-       doc: /* Convert PATH to a Windows path.  If ABSOLUTE-P is
-non-nil, return an absolute path.*/)
-  (Lisp_Object path, Lisp_Object absolute_p)
+       doc: /* Convert a Cygwin file name FILE to a Windows-style file name.
+If ABSOLUTE-P is non-nil, return an absolute file name.
+For the reverse operation, see `cygwin-convert-file-name-from-windows'.  */)
+  (Lisp_Object file, Lisp_Object absolute_p)
 {
   return from_unicode (
-    conv_filename_to_w32_unicode (path, EQ (absolute_p, Qnil) ? 0 : 1));
+    conv_filename_to_w32_unicode (file, EQ (absolute_p, Qnil) ? 0 : 1));
 }
 
 DEFUN ("cygwin-convert-file-name-from-windows",
        Fcygwin_convert_file_name_from_windows,
        Scygwin_convert_file_name_from_windows,
        1, 2, 0,
-       doc: /* Convert a Windows path to a Cygwin path.  If ABSOLUTE-P
-is non-nil, return an absolute path.*/)
-  (Lisp_Object path, Lisp_Object absolute_p)
+       doc: /* Convert a Windows-style file name FILE to a Cygwin file name.
+If ABSOLUTE-P is non-nil, return an absolute file name.
+For the reverse operation, see `cygwin-convert-file-name-to-windows'.  */)
+  (Lisp_Object file, Lisp_Object absolute_p)
 {
-  return conv_filename_from_w32_unicode (to_unicode (path, &path),
+  return conv_filename_from_w32_unicode (to_unicode (file, &file),
                                          EQ (absolute_p, Qnil) ? 0 : 1);
 }
 

=== modified file 'src/fileio.c'
--- a/src/fileio.c      2012-12-21 19:32:43 +0000
+++ b/src/fileio.c      2012-12-27 08:21:08 +0000
@@ -379,12 +379,26 @@
            strcat (res, "/");
          beg = res;
          p = beg + strlen (beg);
+         dostounix_filename (beg);
+         tem_fn = make_specified_string (beg, -1, p - beg,
+                                         STRING_MULTIBYTE (filename));
        }
-    }
-  tem_fn = ENCODE_FILE (make_specified_string (beg, -1, p - beg,
-                                              STRING_MULTIBYTE (filename)));
-  dostounix_filename (SSDATA (tem_fn));
-  return DECODE_FILE (tem_fn);
+      else
+       tem_fn = make_specified_string (beg - 2, -1, p - beg + 2,
+                                       STRING_MULTIBYTE (filename));
+    }
+  else if (STRING_MULTIBYTE (filename))
+    {
+      tem_fn = ENCODE_FILE (make_specified_string (beg, -1, p - beg, 1));
+      dostounix_filename (SSDATA (tem_fn));
+      tem_fn = DECODE_FILE (tem_fn);
+    }
+  else
+    {
+      dostounix_filename (beg);
+      tem_fn = make_specified_string (beg, -1, p - beg, 0);
+    }
+  return tem_fn;
 #else  /* DOS_NT */
   return make_specified_string (beg, -1, p - beg, STRING_MULTIBYTE (filename));
 #endif /* DOS_NT */
@@ -459,12 +473,14 @@
   return Ffile_name_directory (filename);
 }
 
-/* Convert from file name SRC of length SRCLEN to directory name
-   in DST.  On UNIX, just make sure there is a terminating /.
-   Return the length of DST in bytes.  */
+/* Convert from file name SRC of length SRCLEN to directory name in
+   DST.  MULTIBYTE non-zero means the file name in SRC is a multibyte
+   string.  On UNIX, just make sure there is a terminating /.  Return
+   the length of DST in bytes.  */
 
 static ptrdiff_t
-file_name_as_directory (char *dst, const char *src, ptrdiff_t srclen)
+file_name_as_directory (char *dst, const char *src, ptrdiff_t srclen,
+                       bool multibyte)
 {
   if (srclen == 0)
     {
@@ -483,14 +499,17 @@
       srclen++;
     }
 #ifdef DOS_NT
-  {
-    Lisp_Object tem_fn = make_specified_string (dst, -1, srclen, 1);
+  if (multibyte)
+    {
+      Lisp_Object tem_fn = make_specified_string (dst, -1, srclen, 1);
 
-    tem_fn = ENCODE_FILE (tem_fn);
-    dostounix_filename (SSDATA (tem_fn));
-    tem_fn = DECODE_FILE (tem_fn);
-    memcpy (dst, SSDATA (tem_fn), (srclen = SBYTES (tem_fn)) + 1);
-  }
+      tem_fn = ENCODE_FILE (tem_fn);
+      dostounix_filename (SSDATA (tem_fn));
+      tem_fn = DECODE_FILE (tem_fn);
+      memcpy (dst, SSDATA (tem_fn), (srclen = SBYTES (tem_fn)) + 1);
+    }
+  else
+    dostounix_filename (dst);
 #endif
   return srclen;
 }
@@ -526,16 +545,18 @@
     }
 
   buf = alloca (SBYTES (file) + 10);
-  length = file_name_as_directory (buf, SSDATA (file), SBYTES (file));
+  length = file_name_as_directory (buf, SSDATA (file), SBYTES (file),
+                                  STRING_MULTIBYTE (file));
   return make_specified_string (buf, -1, length, STRING_MULTIBYTE (file));
 }
 
-/* Convert from directory name SRC of length SRCLEN to
-   file name in DST.  On UNIX, just make sure there isn't
-   a terminating /.  Return the length of DST in bytes.  */
+/* Convert from directory name SRC of length SRCLEN to file name in
+   DST.  MULTIBYTE non-zero means the file name in SRC is a multibyte
+   string.  On UNIX, just make sure there isn't a terminating /.
+   Return the length of DST in bytes.  */
 
 static ptrdiff_t
-directory_file_name (char *dst, char *src, ptrdiff_t srclen)
+directory_file_name (char *dst, char *src, ptrdiff_t srclen, bool multibyte)
 {
   /* Process as Unix format: just remove any final slash.
      But leave "/" unchanged; do not change it to "".  */
@@ -551,14 +572,17 @@
       srclen--;
     }
 #ifdef DOS_NT
-  {
-    Lisp_Object tem_fn = make_specified_string (dst, -1, srclen, 1);
+  if (multibyte)
+    {
+      Lisp_Object tem_fn = make_specified_string (dst, -1, srclen, 1);
 
-    tem_fn = ENCODE_FILE (tem_fn);
-    dostounix_filename (SSDATA (tem_fn));
-    tem_fn = DECODE_FILE (tem_fn);
-    memcpy (dst, SSDATA (tem_fn), (srclen = SBYTES (tem_fn)) + 1);
-  }
+      tem_fn = ENCODE_FILE (tem_fn);
+      dostounix_filename (SSDATA (tem_fn));
+      tem_fn = DECODE_FILE (tem_fn);
+      memcpy (dst, SSDATA (tem_fn), (srclen = SBYTES (tem_fn)) + 1);
+    }
+  else
+    dostounix_filename (dst);
 #endif
   return srclen;
 }
@@ -594,7 +618,8 @@
     }
 
   buf = alloca (SBYTES (directory) + 20);
-  length = directory_file_name (buf, SSDATA (directory), SBYTES (directory));
+  length = directory_file_name (buf, SSDATA (directory), SBYTES (directory),
+                               STRING_MULTIBYTE (directory));
   return make_specified_string (buf, -1, length, STRING_MULTIBYTE (directory));
 }
 
@@ -1044,7 +1069,7 @@
          /* `egetenv' may return a unibyte string, which will bite us since
             we expect the directory to be multibyte.  */
          tem = build_string (newdir);
-         if (!STRING_MULTIBYTE (tem))
+         if (multibyte && !STRING_MULTIBYTE (tem))
            {
              hdir = DECODE_FILE (tem);
              newdir = SSDATA (hdir);
@@ -1066,7 +1091,18 @@
          unblock_input ();
          if (pw)
            {
+             Lisp_Object tem;
+
              newdir = pw->pw_dir;
+             /* `getpwnam' may return a unibyte string, which will
+                bite us since we expect the directory to be
+                multibyte.  */
+             tem = build_string (newdir);
+             if (multibyte && !STRING_MULTIBYTE (tem))
+               {
+                 hdir = DECODE_FILE (tem);
+                 newdir = SSDATA (hdir);
+               }
              nm = p;
 #ifdef DOS_NT
              collapse_newdir = 0;
@@ -1090,6 +1126,13 @@
          adir = alloca (MAXPATHLEN + 1);
          if (!getdefdir (c_toupper (drive) - 'A' + 1, adir))
            adir = NULL;
+         else if (multibyte)
+           {
+             Lisp_Object tem = build_string (adir);
+
+             tem = DECODE_FILE (tem);
+             memcpy (adir, SSDATA (tem), SBYTES (tem) + 1);
+           }
        }
       if (!adir)
        {
@@ -1148,6 +1191,7 @@
             indirectly by prepending newdir to nm if necessary, and using
             cwd (or the wd of newdir's drive) as the new newdir.  */
          char *adir;
+
          if (IS_DRIVE (newdir[0]) && IS_DEVICE_SEP (newdir[1]))
            {
              drive = (unsigned char) newdir[0];
@@ -1157,7 +1201,7 @@
            {
              ptrdiff_t newlen = strlen (newdir);
              char *tmp = alloca (newlen + strlen (nm) + 2);
-             file_name_as_directory (tmp, newdir, newlen);
+             file_name_as_directory (tmp, newdir, newlen, multibyte);
              strcat (tmp, nm);
              nm = tmp;
            }
@@ -1165,10 +1209,17 @@
          if (drive)
            {
              if (!getdefdir (c_toupper (drive) - 'A' + 1, adir))
-               newdir = "/";
+               strcpy (adir, "/");
            }
          else
            getcwd (adir, MAXPATHLEN + 1);
+         if (multibyte)
+           {
+             Lisp_Object tem = build_string (adir);
+
+             tem = DECODE_FILE (tem);
+             memcpy (adir, SSDATA (tem), SBYTES (tem) + 1);
+           }
          newdir = adir;
        }
 
@@ -1255,7 +1306,7 @@
            strcpy (target, newdir);
        }
       else
-       file_name_as_directory (target, newdir, length);
+       file_name_as_directory (target, newdir, length, multibyte);
     }
 
   strcat (target, nm);
@@ -1341,9 +1392,14 @@
        target[1] = ':';
       }
     result = make_specified_string (target, -1, o - target, multibyte);
-    result = ENCODE_FILE (result);
-    dostounix_filename (SSDATA (result));
-    result = DECODE_FILE (result);
+    if (multibyte)
+      {
+       result = ENCODE_FILE (result);
+       dostounix_filename (SSDATA (result));
+       result = DECODE_FILE (result);
+      }
+    else
+      dostounix_filename (SSDATA (result));
 #else  /* !DOS_NT */
     result = make_specified_string (target, -1, o - target, multibyte);
 #endif /* !DOS_NT */
@@ -1625,18 +1681,24 @@
   memcpy (nm, SDATA (filename), SBYTES (filename) + 1);
 
 #ifdef DOS_NT
-  {
-    Lisp_Object encoded_filename = ENCODE_FILE (filename);
-    Lisp_Object tem_fn;
+  if (multibyte)
+    {
+      Lisp_Object encoded_filename = ENCODE_FILE (filename);
+      Lisp_Object tem_fn;
 
-    dostounix_filename (SDATA (encoded_filename));
-    tem_fn = DECODE_FILE (encoded_filename);
-    nm = alloca (SBYTES (tem_fn) + 1);
-    memcpy (nm, SDATA (tem_fn), SBYTES (tem_fn) + 1);
-    substituted = (memcmp (nm, SDATA (filename), SBYTES (filename)) != 0);
-    if (substituted)
-      filename = tem_fn;
-  }
+      dostounix_filename (SDATA (encoded_filename));
+      tem_fn = DECODE_FILE (encoded_filename);
+      nm = alloca (SBYTES (tem_fn) + 1);
+      memcpy (nm, SDATA (tem_fn), SBYTES (tem_fn) + 1);
+      substituted = (memcmp (nm, SDATA (filename), SBYTES (filename)) != 0);
+      if (substituted)
+       filename = tem_fn;
+    }
+  else
+    {
+      dostounix_filename (nm);
+      substituted = (memcmp (nm, SDATA (filename), SBYTES (filename)) != 0);
+    }
 #endif
   endp = nm + SBYTES (filename);
 

=== modified file 'test/ChangeLog'
--- a/test/ChangeLog    2012-12-14 06:58:15 +0000
+++ b/test/ChangeLog    2012-12-27 08:21:08 +0000
@@ -1,3 +1,8 @@
+2012-12-27  Dmitry Gutov  <address@hidden>
+
+       * automated/ruby-mode-tests.el
+       (ruby-indent-after-block-in-continued-expression): New test.
+
 2012-12-14  Dmitry Gutov  <address@hidden>
 
        * automated/ruby-mode-tests.el

=== modified file 'test/automated/ruby-mode-tests.el'
--- a/test/automated/ruby-mode-tests.el 2012-12-14 06:58:15 +0000
+++ b/test/automated/ruby-mode-tests.el 2012-12-27 08:21:08 +0000
@@ -224,6 +224,19 @@
    |  end
    |"))
 
+(ert-deftest ruby-indent-after-block-in-continued-expression ()
+  (ruby-should-indent-buffer
+   "var =
+   |  begin
+   |    val
+   |  end
+   |statement"
+   "var =
+   |begin
+   |val
+   |end
+   |statement"))
+
 (ert-deftest ruby-move-to-block-stops-at-indentation ()
   (ruby-with-temp-buffer "def f\nend"
     (beginning-of-line)


reply via email to

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