summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-03-21 12:04:57 -0700
committerGlenn Morris <rgm@gnu.org>2014-03-21 12:04:57 -0700
commit5671dc515946c8a27b09d060bc34345d42a8fa6e (patch)
tree54668c08879422e9c9d8c8c7a9e612d357971a49
parent26e91130ed0611a1074d0cac5880c065f9ba69c8 (diff)
parent1e92a8a3aa7958ba699cd0430be4f23aff6c4c01 (diff)
downloademacs-5671dc515946c8a27b09d060bc34345d42a8fa6e.tar.gz
emacs-5671dc515946c8a27b09d060bc34345d42a8fa6e.tar.bz2
emacs-5671dc515946c8a27b09d060bc34345d42a8fa6e.zip
Merge from emacs-24; up to 2014-03-21T08:51:02Z!eliz@gnu.org
-rw-r--r--doc/lispref/ChangeLog12
-rw-r--r--doc/lispref/commands.texi9
-rw-r--r--doc/lispref/frames.texi5
-rw-r--r--doc/lispref/windows.texi9
-rw-r--r--doc/misc/ChangeLog5
-rw-r--r--doc/misc/ede.texi2
-rw-r--r--doc/misc/vip.texi2
-rw-r--r--etc/NEWS10
-rw-r--r--lisp/ChangeLog48
-rw-r--r--lisp/align.el2
-rw-r--r--lisp/electric.el7
-rw-r--r--lisp/emacs-lisp/package.el4
-rw-r--r--lisp/ffap.el40
-rw-r--r--lisp/net/tramp-sh.el23
-rw-r--r--lisp/net/tramp.el6
-rw-r--r--lisp/nxml/nxml-enc.el2
-rw-r--r--lisp/nxml/nxml-glyph.el2
-rw-r--r--lisp/nxml/nxml-maint.el2
-rw-r--r--lisp/nxml/nxml-mode.el2
-rw-r--r--lisp/nxml/nxml-ns.el2
-rw-r--r--lisp/nxml/nxml-outln.el2
-rw-r--r--lisp/nxml/nxml-parse.el2
-rw-r--r--lisp/nxml/nxml-rap.el2
-rw-r--r--lisp/nxml/nxml-uchnm.el2
-rw-r--r--lisp/nxml/nxml-util.el2
-rw-r--r--lisp/nxml/rng-cmpct.el2
-rw-r--r--lisp/nxml/rng-dt.el2
-rw-r--r--lisp/nxml/rng-loc.el2
-rw-r--r--lisp/nxml/rng-maint.el2
-rw-r--r--lisp/nxml/rng-match.el2
-rw-r--r--lisp/nxml/rng-nxml.el2
-rw-r--r--lisp/nxml/rng-parse.el2
-rw-r--r--lisp/nxml/rng-pttrn.el2
-rw-r--r--lisp/nxml/rng-uri.el2
-rw-r--r--lisp/nxml/rng-util.el2
-rw-r--r--lisp/nxml/rng-valid.el2
-rw-r--r--lisp/nxml/rng-xsd.el2
-rw-r--r--lisp/nxml/xmltok.el2
-rw-r--r--lisp/nxml/xsd-regexp.el2
-rw-r--r--lisp/progmodes/ruby-mode.el4
-rw-r--r--lisp/server.el12
-rw-r--r--lisp/skeleton.el20
-rw-r--r--lisp/term/tty-colors.el14
-rw-r--r--src/ChangeLog12
-rw-r--r--src/w32fns.c3
-rw-r--r--src/w32term.c48
-rw-r--r--src/xterm.c24
-rw-r--r--test/automated/data/package/archive-contents4
-rw-r--r--test/automated/data/package/simple-two-depend-1.1.el17
-rw-r--r--test/automated/package-test.el12
-rw-r--r--test/indent/ruby.rb17
51 files changed, 309 insertions, 110 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index c2d6c8d7012..3bbcee76884 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,15 @@
+2014-03-21 Martin Rudalics <rudalics@gmx.at>
+
+ * frames.texi (Size and Position): In `frame-resize-pixelwise'
+ description drop remark about frame maximization.
+ * windows.texi (Display Action Functions): Add description for
+ `display-buffer-no-window' and explain use of `allow-no-window'
+ alist entries.
+
+2014-03-21 Glenn Morris <rgm@gnu.org>
+
+ * commands.texi (Defining Commands): Copyedit re `interactive-only'.
+
2014-03-20 Paul Eggert <eggert@cs.ucla.edu>
* internals.texi (C Integer Types): Prefer 'false' and 'true'
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 5c28522158a..198926a9a6a 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -123,11 +123,10 @@ value for this property takes precedence over any @code{interactive}
form in the function body itself. This feature is seldom used.
@cindex @code{interactive-only} property
- Sometimes, a named command is only intended to be called
-interactively, never directly from Lisp. In that case, give it a
-non-@code{nil} @code{interactive-only} property. In that case, the
-byte compiler will print a warning message if the command is called
-from Lisp.
+ Sometimes, a function is only intended to be called interactively,
+never directly from Lisp. In that case, give the function a
+non-@code{nil} @code{interactive-only} property. This causes the
+byte compiler to warn if the command is called from Lisp.
@menu
* Using Interactive:: General rules for @code{interactive}.
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index e896d1b4c04..b6513426909 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1163,10 +1163,7 @@ on the toolkit used: Dragging the frame border with the mouse is usually
always done character-wise. Calling @code{set-frame-size} (see below)
with arguments that do not specify the frame size as an integer multiple
of its character size may be, however, either ignored or cause a
-rounding (GTK+, Windows) or get accepted (Lucid, Motif). This also
-means that with some toolkits and a display whose size is not an
-integral multiple of your default font, you may have to set this to
-non-@code{nil} in order to fully maximize a frame.
+rounding (GTK+, Windows) or get accepted (Lucid, Motif).
@end defopt
@defun set-frame-size frame width height pixelwise
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 1b3fc377d61..e4177836fa8 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -2280,6 +2280,15 @@ window and displaying the buffer in that window. It can fail if all
windows are dedicated to another buffer (@pxref{Dedicated Windows}).
@end defun
+@defun display-buffer-no-window buffer alist
+If @var{alist} has a non-@code{nil} @code{allow-no-window} entry, then
+this function does not display @code{buffer}. This allows to override
+the default action and avoid displaying the buffer. It is assumed that
+when the caller specifies a non-@code{nil} @code{allow-no-window} value
+it can handle a @code{nil} value returned from @code{display-buffer} in
+this case.
+@end defun
+
To illustrate the use of action functions, consider the following
example.
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 8796cafa4d6..34021fd3d9b 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-21 Glenn Morris <rgm@gnu.org>
+
+ * ede.texi (ede-linux):
+ * vip.texi (New Bindings): Tiny copyedits.
+
2014-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
* vip.texi (Other Vi Commands): Adjust doc of C-j.
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index 954427d10bf..ab1e8a418da 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -917,7 +917,7 @@ and has an optimized include file identification function.
Through the variables @code{project-linux-build-directory-default} and
@code{project-linux-architecture-default}, you can set the build
-directory and its architecture, resp. The default is to assume that
+directory and its architecture, respectively. The default is to assume that
the build happens in the source directory and to auto-detect the
architecture; if the auto-detection fails, you will be asked.
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index 07f12fdf882..25605aadcac 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -569,7 +569,7 @@ in the current window, while @kbd{S} selects buffer in another window.
@kindex 1300 @kbd{X} (@code{vip-ctl-x-equivalent})
These keys will exit from vi mode and return to emacs mode temporarily.
If you type @kbd{C} (@kbd{X}), Emacs will be in emacs mode and will believe
-that you have typed @kbd{C-c} (@kbd{C-x}, resp.) in emacs mode. Moreover,
+that you have typed @kbd{C-c} (@kbd{C-x}) in emacs mode. Moreover,
if the following character you type is an upper-case letter, then Emacs
will believe that you have typed the corresponding control character.
You will be in vi mode again after the command is executed. For example,
diff --git a/etc/NEWS b/etc/NEWS
index 4a90b8f0970..777d19b761b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -240,6 +240,7 @@ bound to <f11> and M-<f10>, respectively.
*** New hooks `focus-in-hook', `focus-out-hook'.
These are normal hooks run when an Emacs frame gains or loses input focus.
++++
*** Emacs can now change frame sizes in units of pixels, rather than
text rows or columns. When maximizing a frame or making it fullscreen,
remaining extra pixels are no longer given to the minibuffer, the rightmost
@@ -248,6 +249,7 @@ areas of the frame's windows. If the new option `frame-resize-pixelwise'
is non-nil, all frame size changes happen pixelwise and set the
corresponding size hints for the window manager.
++++
*** Emacs can now change window sizes in units of pixels.
Mouse-dragging a mode line or window divider now changes the size of
adjacent windows pixelwise. If the new option `window-resize-pixelwise'
@@ -261,6 +263,7 @@ or values to be returned, in pixels instead of lines/columns.
count partially visible lines or columns if called with a nil PIXELWISE
argument.
++++
*** Emacs can now draw dividers between adjacent windows. To put
dividers between side-by-side/vertically stacked windows customize the
frame parameters `right-divider-width' and `bottom-divider-width' to
@@ -271,25 +274,30 @@ the appearance of dividers by customizing the faces `window-divider',
two are useful to provide a 3D effect, or to better distinguish dividers
from surrounding display objects.
++++
*** New functions are provided to return the pixel sizes of window
components, namely `window-scroll-bar-width', `window-mode-line-height'
`window-header-line-height', `window-right-divider-width' and
`window-bottom-divider-width'.
++++
*** The new function `window-text-pixel-size' returns the size of the
text of a window's buffer in pixels. This allows functions like
`fit-frame-to-buffer' and `fit-window-to-buffer' to accurately fit a
window to its buffer as it will be displayed.
++++
*** `fit-window-to-buffer' can now resize windows in both dimensions.
This behavior is controlled by the new option
`fit-window-to-buffer-horizontally'. The new option
`fit-frame-to-buffer' allows to fit the window's frame to its buffer.
++++
*** `fit-frame-to-buffer' now fits frames in both dimensions. The new
options `fit-frame-to-buffer-margins' and `fit-frame-to-buffer-sizes'
control the size of the frame and its position on screen.
+---
*** Temp Buffer Resize Mode can now adjust height and width of windows
and frames. `temp-buffer-resize-mode' is now able to adjust the height
and the width of a window displaying a temporary buffer. The new option
@@ -328,9 +336,11 @@ buffer.
`display-buffer' choose or make a window at the bottom of the selected
frame.
++++
*** New display action function `display-buffer-no-window' to not
display the buffer in a window.
++++
*** New display action alist entry `allow-no-window' to indicate the
caller of `display-buffer' is ready to handle the case of not
displaying the buffer in a window.
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 61f173784a7..9fc13b37772 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,51 @@
+2014-03-21 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-methods): Add docstring for `tramp-login-env'
+ and `tramp-copy-env'.
+
+ * net/tramp-sh.el (tramp-methods) <sudo>: Add `tramp-login-env'.
+ (tramp-maybe-open-connection): Handle `tramp-login-env'.
+
+2014-03-21 Glenn Morris <rgm@gnu.org>
+
+ * electric.el (electric-indent-post-self-insert-function): Add doc.
+
+2014-03-21 Dmitry Gutov <dgutov@yandex.ru>
+
+ * emacs-lisp/package.el (package-compute-transaction):
+ Use `version-list-<=' to compare the requirement version against
+ the version of package already to be installed. Update the error
+ message. (Bug#16826)
+
+ * progmodes/ruby-mode.el (ruby-smie-rules):
+ Add indentation rule for ` @ '. (Bug#17050)
+
+2014-03-21 Juanma Barranquero <lekktu@gmail.com>
+
+ * align.el (align-regexp): Remove superfluous backslash.
+
+ * ffap.el (ffap-ftp-default-user, ffap-url-regexp)
+ (ffap-pass-wildcards-to-dired, dired-at-point-require-prefix)
+ (ffap-rfc-path, ffap-ftp-sans-slash-regexp, ffap-menu-regexp):
+ Fix docstring typos.
+ (ffap-next): Use C-u in docstring.
+ (ffap-machine-p, ffap-list-env, ffap-alist, ffap-alist)
+ (ffap-string-at-point-mode-alist, ffap-menu, ffap-menu-ask):
+ Remove superfluous backslashes.
+ (ffap-string-at-point): Reflow docstring.
+
+ * server.el (server-host): Reflow docstring.
+ (server-unload-function): Fix docstring typo.
+ (server-eval-at): Remove superfluous backslash.
+
+ * skeleton.el (skeleton-insert): Remove superfluous backslash.
+ (skeleton-insert): Doc fix.
+ (skeleton-insert): Reflow docstring.
+
+ * term/tty-colors.el (tty-color-alist, tty-modify-color-alist)
+ (tty-color-approximate, tty-color-by-index, tty-color-values)
+ (tty-color-desc): Remove superfluous backslashes.
+
2014-03-21 Glenn Morris <rgm@gnu.org>
* cus-start.el (history-length): Bump :version.
diff --git a/lisp/align.el b/lisp/align.el
index 1efc6e6505b..9038adf624c 100644
--- a/lisp/align.el
+++ b/lisp/align.el
@@ -937,7 +937,7 @@ throughout the line.
See `align-rules-list' for more information about these options.
The non-interactive form of the previous example would look something like:
- \(align-regexp (point-min) (point-max) \"\\\\(\\\\s-*\\\\)(\")
+ (align-regexp (point-min) (point-max) \"\\\\(\\\\s-*\\\\)(\")
This function is a nothing more than a small wrapper that helps you
construct a rule to pass to `align-region', which does the real work."
diff --git a/lisp/electric.el b/lisp/electric.el
index 4e24101dd6a..52b0595f7d9 100644
--- a/lisp/electric.el
+++ b/lisp/electric.el
@@ -228,6 +228,10 @@ not try to reindent lines. It is normally better to make the major
mode set `electric-indent-inhibit', but this can be used as a workaround.")
(defun electric-indent-post-self-insert-function ()
+ "Function that `electric-indent-mode' adds to `post-self-insert-hook'.
+This indents if the hook `electric-indent-functions' returns non-nil,
+or if a member of `electric-indent-chars' was typed; but not in a string
+or comment."
;; FIXME: This reindents the current line, but what we really want instead is
;; to reindent the whole affected text. That's the current line for simple
;; cases, but not all cases. We do take care of the newline case in an
@@ -286,7 +290,8 @@ mode set `electric-indent-inhibit', but this can be used as a workaround.")
(let ((electric-indent-mode nil))
(newline arg 'interactive)))
-;;;###autoload(define-key global-map "\C-j" 'electric-newline-and-maybe-indent)
+;;;###autoload
+(define-key global-map "\C-j" 'electric-newline-and-maybe-indent)
;;;###autoload
(defun electric-newline-and-maybe-indent ()
"Insert a newline.
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index e0d1c99d369..ae2c2862887 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -923,10 +923,10 @@ not included in this list."
(setq already pkg)))
(cond
(already
- (if (version-list-< next-version (package-desc-version already))
+ (if (version-list-<= next-version (package-desc-version already))
;; Move to front, so it gets installed early enough (bug#14082).
(setq packages (cons already (delq already packages)))
- (error "Need package `%s-%s', but only %s is available"
+ (error "Need package `%s-%s', but only %s is being installed"
next-pkg (package-version-join next-version)
(package-version-join (package-desc-version already)))))
diff --git a/lisp/ffap.el b/lisp/ffap.el
index 7051273a681..119e0ad3078 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -164,9 +164,9 @@ schemes (e.g. \"ftp\"); in that case, only convert those URLs."
:version "24.3")
(defcustom ffap-ftp-default-user "anonymous"
- "User name in ftp file names generated by `ffap-host-to-path'.
+ "User name in FTP file names generated by `ffap-host-to-path'.
Note this name may be omitted if it equals the default
-\(either `efs-default-user' or `ange-ftp-default-user'\)."
+\(either `efs-default-user' or `ange-ftp-default-user')."
:type 'string
:group 'ffap)
@@ -185,7 +185,7 @@ Note this name may be omitted if it equals the default
"\\|"
"\\(ftp\\|https?\\|telnet\\|gopher\\|www\\|wais\\)://" ; needs host
"\\)")
- "Regexp matching the beginning of a URI, for FFAP.
+ "Regexp matching the beginning of a URI, for ffap.
If the value is nil, disable URL-matching features in ffap.")
(defcustom ffap-foo-at-bar-prefix "mailto"
@@ -228,7 +228,7 @@ it passes it on to `dired'."
:group 'ffap)
(defcustom ffap-pass-wildcards-to-dired nil
- "If non-nil, pass filenames matching `ffap-dired-wildcards' to dired."
+ "If non-nil, pass filenames matching `ffap-dired-wildcards' to Dired."
:type 'boolean
:group 'ffap)
@@ -291,8 +291,8 @@ For a fancy alternative, get `ffap-url.el'."
(defcustom dired-at-point-require-prefix nil
"If non-nil, reverse the prefix argument to `dired-at-point'.
-This is nil so neophytes notice FFAP. Experts may prefer to
-disable FFAP most of the time."
+This is nil so neophytes notice ffap. Experts may prefer to
+disable ffap most of the time."
:type 'boolean
:group 'ffap
:version "20.3")
@@ -343,7 +343,7 @@ Only considers strings that match `ffap-next-regexp'."
"Search buffer for next file or URL, and run ffap.
Optional argument BACK says to search backwards.
Optional argument WRAP says to try wrapping around if necessary.
-Interactively: use a single prefix to search backwards,
+Interactively: use a single prefix \\[universal-argument] to search backwards,
double prefix to wrap forward, triple to wrap backwards.
Actual search is done by the function `ffap-next-guess'."
(interactive
@@ -413,7 +413,7 @@ See `mail-extr.el' for the known domains."
Depending on the domain (none, known, or unknown), follow the strategy
named by the variable `ffap-machine-p-local', `ffap-machine-p-known',
or `ffap-machine-p-unknown'. Pinging uses `open-network-stream'.
-Optional SERVICE specifies the port used \(default \"discard\"\).
+Optional SERVICE specifies the port used (default \"discard\").
Optional QUIET flag suppresses the \"Pinging...\" message.
Optional STRATEGY overrides the three variables above.
Returned values:
@@ -642,7 +642,7 @@ Looks at `ffap-ftp-default-user', returns \"\" for \"localhost\"."
(defun ffap-list-env (env &optional empty)
"Return a list of strings parsed from environment variable ENV.
-Optional EMPTY is the default list if \(getenv ENV\) is undefined, and
+Optional EMPTY is the default list if (getenv ENV) is undefined, and
also is substituted for the first empty-string component, if there is one.
Uses `path-separator' to separate the path into substrings."
;; We cannot use parse-colon-path (files.el), since it kills
@@ -787,12 +787,12 @@ This uses `ffap-file-exists-string', which may try adding suffixes from
. ffap-rfc) ; "100% RFC2100 compliant"
(dired-mode . ffap-dired) ; maybe in a subdirectory
)
- "Alist of \(KEY . FUNCTION\) pairs parsed by `ffap-file-at-point'.
+ "Alist of (KEY . FUNCTION) pairs parsed by `ffap-file-at-point'.
If string NAME at point (maybe \"\") is not a file or URL, these pairs
specify actions to try creating such a string. A pair matches if either
KEY is a symbol, and it equals `major-mode', or
KEY is a string, it should match NAME as a regexp.
-On a match, \(FUNCTION NAME\) is called and should return a file, an
+On a match, (FUNCTION NAME) is called and should return a file, an
URL, or nil. If nil, search the alist for further matches.")
(put 'ffap-alist 'risky-local-variable t)
@@ -980,7 +980,7 @@ If t, `ffap-tex-init' will initialize this when needed.")
(defcustom ffap-rfc-path
(concat (ffap-host-to-filename "ftp.rfc-editor.org") "/in-notes/rfc%s.txt")
"A `format' string making a filename for RFC documents.
-This can be an ange-ftp or tramp remote filename to download, or
+This can be an ange-ftp or Tramp remote filename to download, or
a local filename if you have full set of RFCs locally. See also
`ffap-rfc-directories'."
:type 'string
@@ -1018,8 +1018,8 @@ If a given RFC isn't in these then `ffap-rfc-path' is offered."
;; Mathematica paths: allow backquotes
(math-mode ",-:$+<>@-Z_[:lower:]~`" "<" "@>;.,!?`:")
)
- "Alist of \(MODE CHARS BEG END\), where MODE is a symbol,
-possibly a major-mode name, or one of the symbol
+ "Alist of (MODE CHARS BEG END), where MODE is a symbol,
+possibly a major-mode name, or one of the symbols
`file', `url', `machine', and `nocolon'.
Function `ffap-string-at-point' uses the data fields as follows:
1. find a maximal string of CHARS around point,
@@ -1032,8 +1032,8 @@ Function `ffap-string-at-point' uses the data fields as follows:
(defun ffap-string-at-point (&optional mode)
"Return a string of characters from around point.
-MODE (defaults to value of `major-mode') is a symbol used to look up string
-syntax parameters in `ffap-string-at-point-mode-alist'.
+MODE (defaults to value of `major-mode') is a symbol used to look up
+string syntax parameters in `ffap-string-at-point-mode-alist'.
If MODE is not found, we use `file' instead of MODE.
If the region is active, return a string from the region.
Sets the variable `ffap-string-at-point' and the variable
@@ -1143,7 +1143,7 @@ The two subexpressions are the KEY and VALUE.")
;; Icky regexp avoids: default: 123: foo::bar cs:pub
;; It does match on: mic@cs: cs:/pub mathcs.emory.edu: (point at end)
"\\`\\([^:@]+@[^:@]+:\\|[^@.:]+\\.[^@:]+:\\|[^:]+:[~/]\\)\\([^:]\\|\\'\\)")
- "Strings matching this are coerced to ftp file names by ffap.
+ "Strings matching this are coerced to FTP file names by ffap.
That is, ffap just prepends \"/\". Set to nil to disable.")
(defun ffap-file-at-point ()
@@ -1445,7 +1445,7 @@ and the functions `ffap-file-at-point' and `ffap-url-at-point'."
(defcustom ffap-menu-regexp nil
"If non-nil, regexp overriding `ffap-next-regexp' in `ffap-menu'.
Make this more restrictive for faster menu building.
-For example, try \":/\" for URL (and some ftp) references."
+For example, try \":/\" for URL (and some FTP) references."
:type '(choice (const nil) regexp)
:group 'ffap)
@@ -1465,7 +1465,7 @@ These properties may be used to fontify the menu references.")
"Put up a menu of files and URLs mentioned in this buffer.
Then set mark, jump to choice, and try to fetch it. The menu is
cached in `ffap-menu-alist', and rebuilt by `ffap-menu-rescan'.
-The optional RESCAN argument \(a prefix, interactively\) forces
+The optional RESCAN argument (a prefix, interactively) forces
a rebuild. Searches with `ffap-menu-regexp'."
(interactive "P")
;; (require 'imenu) -- no longer used, but roughly emulated
@@ -1498,7 +1498,7 @@ a rebuild. Searches with `ffap-menu-regexp'."
(defun ffap-menu-ask (title alist cont)
"Prompt from a menu of choices, and then apply some action.
-Arguments are TITLE, ALIST, and CONT \(a continuation function\).
+Arguments are TITLE, ALIST, and CONT (a continuation function).
This uses either a menu or the minibuffer depending on invocation.
The TITLE string is used as either the prompt or menu title.
Each ALIST entry looks like (STRING . DATA) and defines one choice.
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 245d4f1ae8b..106c14805d5 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -227,6 +227,8 @@ detected as prompt when being sent on echoing hosts, therefore.")
'("sudo"
(tramp-login-program "sudo")
(tramp-login-args (("-u" "%u") ("-s") ("-H") ("-p" "Password:")))
+ ;; Local $SHELL could be a nasty one, like zsh or fish. Let's override it.
+ (tramp-login-env (("SHELL") ("/bin/sh")))
(tramp-remote-shell "/bin/sh")
(tramp-remote-shell-args ("-c"))
(tramp-connection-timeout 10)))
@@ -4492,6 +4494,9 @@ connection if a previous connection has died for some reason."
(login-args
(tramp-get-method-parameter
l-method 'tramp-login-args))
+ (login-env
+ (tramp-get-method-parameter
+ l-method 'tramp-login-env))
(async-args
(tramp-get-method-parameter
l-method 'tramp-async-args))
@@ -4549,6 +4554,24 @@ connection if a previous connection has died for some reason."
tramp-current-user (or g-user l-user)
tramp-current-host (or g-host l-host))
+ ;; Add login environment.
+ (when login-env
+ (setq
+ login-env
+ (mapcar
+ (lambda (x)
+ (setq x (mapcar (lambda (y) (format-spec y spec)) x))
+ (unless (member "" x) (mapconcat 'identity x " ")))
+ login-env))
+ (while login-env
+ (setq command
+ (format
+ "%s=%s %s"
+ (pop login-env)
+ (tramp-shell-quote-argument (pop login-env))
+ command)))
+ (setq command (concat "env " command)))
+
;; Replace `login-args' place holders.
(setq
l-host (or l-host "")
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 5ff68e0f0f9..b9b64ed70f8 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -230,6 +230,9 @@ pair of the form (KEY VALUE). The following KEYs are defined:
`tramp-make-tramp-temp-file'. \"%k\" indicates the keep-date
parameter of a program, if exists. \"%c\" adds additional
`tramp-ssh-controlmaster-options' options for the first hop.
+ * `tramp-login-env'
+ A list of environment variables and their values, which will
+ be set when calling `tramp-login-program'.
* `tramp-async-args'
When an asynchronous process is started, we know already that
the connection works. Therefore, we can pass additional
@@ -242,6 +245,9 @@ pair of the form (KEY VALUE). The following KEYs are defined:
* `tramp-copy-args'
This specifies the list of parameters to pass to the above mentioned
program, the hints for `tramp-login-args' also apply here.
+ * `tramp-copy-env'
+ A list of environment variables and their values, which will
+ be set when calling `tramp-copy-program'.
* `tramp-copy-keep-date'
This specifies whether the copying program when the preserves the
timestamp of the original file.
diff --git a/lisp/nxml/nxml-enc.el b/lisp/nxml/nxml-enc.el
index 81de932c29f..1f94e36d75c 100644
--- a/lisp/nxml/nxml-enc.el
+++ b/lisp/nxml/nxml-enc.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-glyph.el b/lisp/nxml/nxml-glyph.el
index 36ffc376f4d..f05beeaae70 100644
--- a/lisp/nxml/nxml-glyph.el
+++ b/lisp/nxml/nxml-glyph.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-maint.el b/lisp/nxml/nxml-maint.el
index 26a97d34b19..7fd3372cc5f 100644
--- a/lisp/nxml/nxml-maint.el
+++ b/lisp/nxml/nxml-maint.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el
index 79ff5b48e24..0daf62d804f 100644
--- a/lisp/nxml/nxml-mode.el
+++ b/lisp/nxml/nxml-mode.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-ns.el b/lisp/nxml/nxml-ns.el
index 8dee3e46340..1087dd1b435 100644
--- a/lisp/nxml/nxml-ns.el
+++ b/lisp/nxml/nxml-ns.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-outln.el b/lisp/nxml/nxml-outln.el
index 05904eacc30..e4b8fc79862 100644
--- a/lisp/nxml/nxml-outln.el
+++ b/lisp/nxml/nxml-outln.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2004, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-parse.el b/lisp/nxml/nxml-parse.el
index 0da4f93b491..ecf9056358b 100644
--- a/lisp/nxml/nxml-parse.el
+++ b/lisp/nxml/nxml-parse.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-rap.el b/lisp/nxml/nxml-rap.el
index 55be3f5191a..7d360cb725c 100644
--- a/lisp/nxml/nxml-rap.el
+++ b/lisp/nxml/nxml-rap.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003-2004, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-uchnm.el b/lisp/nxml/nxml-uchnm.el
index 105a55a47b9..5447b71a0c3 100644
--- a/lisp/nxml/nxml-uchnm.el
+++ b/lisp/nxml/nxml-uchnm.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/nxml-util.el b/lisp/nxml/nxml-util.el
index 31ade2da76a..3d91a1af47c 100644
--- a/lisp/nxml/nxml-util.el
+++ b/lisp/nxml/nxml-util.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-cmpct.el b/lisp/nxml/rng-cmpct.el
index ab24a10b0eb..3518de977a4 100644
--- a/lisp/nxml/rng-cmpct.el
+++ b/lisp/nxml/rng-cmpct.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-dt.el b/lisp/nxml/rng-dt.el
index d5938e331bf..d91acda629f 100644
--- a/lisp/nxml/rng-dt.el
+++ b/lisp/nxml/rng-dt.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-loc.el b/lisp/nxml/rng-loc.el
index 64ad9f3564f..2c59dd2546d 100644
--- a/lisp/nxml/rng-loc.el
+++ b/lisp/nxml/rng-loc.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-maint.el b/lisp/nxml/rng-maint.el
index c281fbbf757..d143cd428ed 100644
--- a/lisp/nxml/rng-maint.el
+++ b/lisp/nxml/rng-maint.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-match.el b/lisp/nxml/rng-match.el
index f7ecebc11a7..f674878e6e6 100644
--- a/lisp/nxml/rng-match.el
+++ b/lisp/nxml/rng-match.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-nxml.el b/lisp/nxml/rng-nxml.el
index cf63e6f62c5..000707b55e0 100644
--- a/lisp/nxml/rng-nxml.el
+++ b/lisp/nxml/rng-nxml.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-parse.el b/lisp/nxml/rng-parse.el
index 62e548f6aed..688817232e6 100644
--- a/lisp/nxml/rng-parse.el
+++ b/lisp/nxml/rng-parse.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-pttrn.el b/lisp/nxml/rng-pttrn.el
index 3ae961d0b0c..b845f53d0e8 100644
--- a/lisp/nxml/rng-pttrn.el
+++ b/lisp/nxml/rng-pttrn.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-uri.el b/lisp/nxml/rng-uri.el
index 7ef33e79dc3..b93624a4f22 100644
--- a/lisp/nxml/rng-uri.el
+++ b/lisp/nxml/rng-uri.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-util.el b/lisp/nxml/rng-util.el
index 4a540be92ca..3b6af42bb3d 100644
--- a/lisp/nxml/rng-util.el
+++ b/lisp/nxml/rng-util.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-valid.el b/lisp/nxml/rng-valid.el
index 5de6b6dec51..baf63e9fd33 100644
--- a/lisp/nxml/rng-valid.el
+++ b/lisp/nxml/rng-valid.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/rng-xsd.el b/lisp/nxml/rng-xsd.el
index 2b507ee7563..1c36c222903 100644
--- a/lisp/nxml/rng-xsd.el
+++ b/lisp/nxml/rng-xsd.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, RelaxNG
+;; Keywords: wp, hypermedia, languages, XML, RelaxNG
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/xmltok.el b/lisp/nxml/xmltok.el
index e7ce0231a1c..58a2f16d586 100644
--- a/lisp/nxml/xmltok.el
+++ b/lisp/nxml/xmltok.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML
+;; Keywords: wp, hypermedia, languages, XML
;; This file is part of GNU Emacs.
diff --git a/lisp/nxml/xsd-regexp.el b/lisp/nxml/xsd-regexp.el
index 20d68f9642d..dc2194eb1ef 100644
--- a/lisp/nxml/xsd-regexp.el
+++ b/lisp/nxml/xsd-regexp.el
@@ -3,7 +3,7 @@
;; Copyright (C) 2003, 2007-2014 Free Software Foundation, Inc.
;; Author: James Clark
-;; Keywords: XML, regexp
+;; Keywords: wp, hypermedia, languages, XML, regexp
;; This file is part of GNU Emacs.
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index fe9346047c6..e05aef80e86 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -650,6 +650,10 @@ It is used when `ruby-encoding-magic-comment-style' is set to `custom'."
;; because we want to reject hanging tokens at bol, too.
(unless (or (eolp) (forward-comment 1))
(cons 'column (current-column)))))
+ (`(:before . " @ ")
+ (save-excursion
+ (skip-chars-forward " \t")
+ (cons 'column (current-column))))
(`(:before . "do") (ruby-smie--indent-to-stmt))
(`(:before . ".")
(if (smie-rule-sibling-p)
diff --git a/lisp/server.el b/lisp/server.el
index a8e4444b999..0c645889d75 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -104,10 +104,10 @@
"The name or IP address to use as host address of the server process.
If set, the server accepts remote connections; otherwise it is local.
-DO NOT give this a non-nil value unless you know what you are
-doing! On unsecured networks, accepting remote connections is
-very dangerous, because server-client communication (including
-session authentication) is not encrypted."
+DO NOT give this a non-nil value unless you know what you are doing!
+On unsecured networks, accepting remote connections is very dangerous,
+because server-client communication (including session authentication)
+is not encrypted."
:group 'server
:type '(choice
(string :tag "Name or IP address")
@@ -1634,7 +1634,7 @@ only these files will be asked to be saved."
(define-key ctl-x-map "#" 'server-edit)
(defun server-unload-function ()
- "Unload the server library."
+ "Unload the Server library."
(server-mode -1)
(substitute-key-definition 'server-edit nil ctl-x-map)
(save-current-buffer
@@ -1648,7 +1648,7 @@ only these files will be asked to be saved."
"Contact the Emacs server named SERVER and evaluate FORM there.
Returns the result of the evaluation, or signals an error if it
cannot contact the specified server. For example:
- \(server-eval-at \"server\" '(emacs-pid))
+ (server-eval-at \"server\" '(emacs-pid))
returns the process ID of the Emacs instance running \"server\"."
(let* ((server-dir (if server-use-tcp server-auth-dir server-socket-dir))
(server-file (expand-file-name server server-dir))
diff --git a/lisp/skeleton.el b/lisp/skeleton.el
index de0e5116db6..f85dc8ef068 100644
--- a/lisp/skeleton.el
+++ b/lisp/skeleton.el
@@ -180,7 +180,7 @@ of `str' whereas the skeleton's interactor is then ignored."
With optional second argument REGIONS, wrap first interesting point
\(`_') in skeleton around next REGIONS words, if REGIONS is positive.
If REGIONS is negative, wrap REGIONS preceding interregions into first
-REGIONS interesting positions \(successive `_'s) in skeleton.
+REGIONS interesting positions (successive `_'s) in skeleton.
An interregion is the stretch of text between two contiguous marked
points. If you marked A B C [] (where [] is the cursor) in
@@ -205,21 +205,21 @@ If ELEMENT is a string or a character it gets inserted (see also
@ add position to `skeleton-positions'
& do next ELEMENT if previous moved point
| do next ELEMENT if previous didn't move point
- -num delete num preceding characters (see `skeleton-untabify')
+ -NUM delete NUM preceding characters (see `skeleton-untabify')
resume: skipped, continue here if quit is signaled
nil skipped
After termination, point will be positioned at the last occurrence of -
or at the first occurrence of _ or at the end of the inserted text.
-Further elements can be defined via `skeleton-further-elements'. ELEMENT may
-itself be a SKELETON with an INTERACTOR. The user is prompted repeatedly for
-different inputs. The SKELETON is processed as often as the user enters a
-non-empty string. \\[keyboard-quit] terminates skeleton insertion, but
-continues after `resume:' and positions at `_' if any. If INTERACTOR in such
-a subskeleton is a prompt-string which contains a \".. %s ..\" it is
-formatted with `skeleton-subprompt'. Such an INTERACTOR may also be a list of
-strings with the subskeleton being repeated once for each string.
+Further elements can be defined via `skeleton-further-elements'.
+ELEMENT may itself be a SKELETON with an INTERACTOR. The user is prompted
+repeatedly for different inputs. The SKELETON is processed as often as
+the user enters a non-empty string. \\[keyboard-quit] terminates skeleton insertion, but
+continues after `resume:' and positions at `_' if any. If INTERACTOR in
+such a subskeleton is a prompt-string which contains a \".. %s ..\" it is
+formatted with `skeleton-subprompt'. Such an INTERACTOR may also be a list
+of strings with the subskeleton being repeated once for each string.
Quoted Lisp expressions are evaluated for their side-effects.
Other Lisp expressions are evaluated and the value treated as above.
diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el
index 60be0a40f58..7e53a98d02a 100644
--- a/lisp/term/tty-colors.el
+++ b/lisp/term/tty-colors.el
@@ -771,7 +771,7 @@
"Return an alist of colors supported by FRAME's terminal.
FRAME defaults to the selected frame.
Each element of the returned alist is of the form:
- \(NAME INDEX R G B\)
+ (NAME INDEX R G B)
where NAME is the name of the color, a string;
INDEX is the index of this color to be sent to the terminal driver
when the color should be displayed; it is typically a small integer;
@@ -785,10 +785,10 @@ color."
(defun tty-modify-color-alist (elt &optional frame)
"Put the association ELT into the alist of terminal colors for FRAME.
-ELT should be of the form \(NAME INDEX R G B\) (see `tty-color-alist'
+ELT should be of the form (NAME INDEX R G B) (see `tty-color-alist'
for details).
If the association for NAME already exists in the color alist, it is
-modified to specify \(INDEX R G B\) as its cdr. Otherwise, ELT is
+modified to specify (INDEX R G B) as its cdr. Otherwise, ELT is
appended to the end of the color alist.
If FRAME is unspecified or nil, it defaults to the selected frame.
Value is the modified color alist for FRAME."
@@ -856,7 +856,7 @@ of gray, thus the name."
(defun tty-color-approximate (rgb &optional frame)
"Find the color in `tty-color-alist' that best approximates RGB.
-Value is a list of the form \(NAME INDEX R G B\).
+Value is a list of the form (NAME INDEX R G B).
The argument RGB should be an rgb value, that is, a list of three
integers in the 0..65535 range.
FRAME defaults to the selected frame."
@@ -981,7 +981,7 @@ If FRAME is unspecified or nil, it defaults to the selected frame."
"Given a numeric index of a tty color, return its description.
FRAME, if unspecified or nil, defaults to the selected frame.
-Value is a list of the form \(NAME INDEX R G B\)."
+Value is a list of the form (NAME INDEX R G B)."
(and idx
(let ((colors (tty-color-alist frame))
desc found)
@@ -997,14 +997,14 @@ Value is a list of the form \(NAME INDEX R G B\)."
If COLOR is not directly supported by the display, return the RGB
values for a supported color that is its best approximation.
-The value is a list of integer RGB values--\(RED GREEN BLUE\).
+The value is a list of integer RGB values--(RED GREEN BLUE).
These values range from 0 to 65535; white is (65535 65535 65535).
If FRAME is omitted or nil, use the selected frame."
(cddr (tty-color-desc color frame)))
(defun tty-color-desc (color &optional frame)
"Return the description of the color COLOR for a character terminal.
-Value is a list of the form \(NAME INDEX R G B\). The returned NAME or
+Value is a list of the form (NAME INDEX R G B). The returned NAME or
RGB value may not be the same as the argument COLOR, because the latter
might need to be approximated if it is not supported directly."
(and (stringp color)
diff --git a/src/ChangeLog b/src/ChangeLog
index c3af54910a2..59e39614af8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,15 @@
+2014-03-21 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ Fix regression introduced by patch for Bug#10500.
+ * xterm.c (x_draw_image_relief): Respect Vtool_bar_button_margin.
+ * w32term.c (x_draw_image_relief): Likewise.
+
+2014-03-21 Martin Rudalics <rudalics@gmx.at>
+
+ * w32fns.c (w32_wnd_proc): For WM_WINDOWPOSCHANGING don't
+ constrain frame size in SW_SHOWMAXIMIZED case so we can truly
+ maximize a frame for odd default fonts.
+
2014-03-21 Glenn Morris <rgm@gnu.org>
* minibuf.c (history-length): Increase default from 30 to 100.
diff --git a/src/w32fns.c b/src/w32fns.c
index a79135374ed..fff1e3efde6 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -3805,7 +3805,8 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
wp.length = sizeof (WINDOWPLACEMENT);
GetWindowPlacement (hwnd, &wp);
- if (wp.showCmd != SW_SHOWMINIMIZED && (lppos->flags & SWP_NOSIZE) == 0)
+ if (wp.showCmd != SW_SHOWMAXIMIZED && wp.showCmd != SW_SHOWMINIMIZED
+ && (lppos->flags & SWP_NOSIZE) == 0)
{
RECT rect;
int wdiff;
diff --git a/src/w32term.c b/src/w32term.c
index 2981320e136..15b502b7c1b 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -1892,6 +1892,7 @@ static void
x_draw_image_relief (struct glyph_string *s)
{
int x1, y1, thick, raised_p, top_p, bot_p, left_p, right_p;
+ int extra_x, extra_y;
RECT r;
int x = s->x;
int y = s->ybase - image_ascent (s->img, s->face, &s->slice);
@@ -1925,16 +1926,31 @@ x_draw_image_relief (struct glyph_string *s)
x1 = x + s->slice.width - 1;
y1 = y + s->slice.height - 1;
+
+ extra_x = extra_y = 0;
+ if (s->face->id == TOOL_BAR_FACE_ID)
+ {
+ if (CONSP (Vtool_bar_button_margin)
+ && INTEGERP (XCAR (Vtool_bar_button_margin))
+ && INTEGERP (XCDR (Vtool_bar_button_margin)))
+ {
+ extra_x = XINT (XCAR (Vtool_bar_button_margin));
+ extra_y = XINT (XCDR (Vtool_bar_button_margin));
+ }
+ else if (INTEGERP (Vtool_bar_button_margin))
+ extra_x = extra_y = XINT (Vtool_bar_button_margin);
+ }
+
top_p = bot_p = left_p = right_p = 0;
if (s->slice.x == 0)
- x -= thick, left_p = 1;
+ x -= thick + extra_x, left_p = 1;
if (s->slice.y == 0)
- y -= thick, top_p = 1;
+ y -= thick + extra_y, top_p = 1;
if (s->slice.x + s->slice.width == s->img->width)
- x1 += thick, right_p = 1;
+ x1 += thick + extra_x, right_p = 1;
if (s->slice.y + s->slice.height == s->img->height)
- y1 += thick, bot_p = 1;
+ y1 += thick + extra_y, bot_p = 1;
x_setup_relief_colors (s);
get_glyph_string_clip_rect (s, &r);
@@ -5651,21 +5667,11 @@ x_set_window_size (struct frame *f, int change_gravity, int width, int height, b
if (!frame_resize_pixelwise)
{
/* If we don't resize frames pixelwise, round sizes to multiples
- of character sizes. Otherwise, Windows may clip our frame
- rectangle at a character size boundary and we risk losing our
- mode line. Bug#16923 might be a consequence of this.
-
- So far, this is a Windows specific problem; other toolkits may
- prefer to not resize the frame if the delta is not large enough
- (GTK) or resize the frame pixelwise as requested (Lucid,
- Motif). Windows just doesn't call us back (probably because of
- the size hint settings which it apparently interprets strictly)
- neither when the user tries to mouse-drag a frame border by,
- nor when calling `set-frame-size' with a delta of less than the
- canonical character size. If w32_enable_frame_resize_hack is
- enabled (which it now is by default) we'd then below resize the
- frame's root window in preparation of a WM_SIZE message to come
- which, however, is not going to happen. */
+ of character sizes here. Otherwise, when enforcing size hints
+ while processing WM_WINDOWPOSCHANGING in w32_wnd_proc, we might
+ clip our frame rectangle to a multiple of the frame's character
+ size and subsequently lose our mode line or scroll bar.
+ Bug#16923 could be one possible consequence of this. */
int unit_width = FRAME_COLUMN_WIDTH (f);
int unit_height = FRAME_LINE_HEIGHT (f);
@@ -5695,9 +5701,7 @@ x_set_window_size (struct frame *f, int change_gravity, int width, int height, b
}
/* If w32_enable_frame_resize_hack is non-nil, immediately apply the
- new pixel sizes to the frame and its subwindows. This approach is
- fragile because Windows might not honor the resize request issued
- by my_set_window_pos with a WM_SIZE message (see previous comment).
+ new pixel sizes to the frame and its subwindows.
Jason Rumney earlier refused to call change_frame_size right here
with the following argument:
diff --git a/src/xterm.c b/src/xterm.c
index c7f56e1f1f2..31e1b9cb74f 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -2162,6 +2162,7 @@ static void
x_draw_image_relief (struct glyph_string *s)
{
int x1, y1, thick, raised_p, top_p, bot_p, left_p, right_p;
+ int extra_x, extra_y;
XRectangle r;
int x = s->x;
int y = s->ybase - image_ascent (s->img, s->face, &s->slice);
@@ -2194,16 +2195,31 @@ x_draw_image_relief (struct glyph_string *s)
x1 = x + s->slice.width - 1;
y1 = y + s->slice.height - 1;
+
+ extra_x = extra_y = 0;
+ if (s->face->id == TOOL_BAR_FACE_ID)
+ {
+ if (CONSP (Vtool_bar_button_margin)
+ && INTEGERP (XCAR (Vtool_bar_button_margin))
+ && INTEGERP (XCDR (Vtool_bar_button_margin)))
+ {
+ extra_x = XINT (XCAR (Vtool_bar_button_margin));
+ extra_y = XINT (XCDR (Vtool_bar_button_margin));
+ }
+ else if (INTEGERP (Vtool_bar_button_margin))
+ extra_x = extra_y = XINT (Vtool_bar_button_margin);
+ }
+
top_p = bot_p = left_p = right_p = 0;
if (s->slice.x == 0)
- x -= thick, left_p = 1;
+ x -= thick + extra_x, left_p = 1;
if (s->slice.y == 0)
- y -= thick, top_p = 1;
+ y -= thick + extra_y, top_p = 1;
if (s->slice.x + s->slice.width == s->img->width)
- x1 += thick, right_p = 1;
+ x1 += thick + extra_x, right_p = 1;
if (s->slice.y + s->slice.height == s->img->height)
- y1 += thick, bot_p = 1;
+ y1 += thick + extra_y, bot_p = 1;
x_setup_relief_colors (s);
get_glyph_string_clip_rect (s, &r);
diff --git a/test/automated/data/package/archive-contents b/test/automated/data/package/archive-contents
index 8d6f3226ae6..a6df6b8086e 100644
--- a/test/automated/data/package/archive-contents
+++ b/test/automated/data/package/archive-contents
@@ -6,6 +6,10 @@
(simple-depend .
[(1 0)
((simple-single (1 3))) "A single-file package with a dependency." single])
+ (simple-two-depend .
+ [(1 1)
+ ((simple-depend (1 0)) (simple-single (1 3)))
+ "A single-file package with two dependencies." single])
(multi-file .
[(0 2 3)
nil "Example of a multi-file tar package" tar
diff --git a/test/automated/data/package/simple-two-depend-1.1.el b/test/automated/data/package/simple-two-depend-1.1.el
new file mode 100644
index 00000000000..9cfe5c0d4e2
--- /dev/null
+++ b/test/automated/data/package/simple-two-depend-1.1.el
@@ -0,0 +1,17 @@
+;;; simple-two-depend.el --- A single-file package with two dependencies.
+
+;; Author: J. R. Hacker <jrh@example.com>
+;; Version: 1.1
+;; Keywords: frobnicate
+;; Package-Requires: ((simple-depend "1.0") (simple-single "1.3"))
+
+;;; Commentary:
+
+;; Depends on two another packages.
+
+;;; Code:
+
+(defvar simple-two-depend "Value"
+ "Some trivial code")
+
+;;; simple-two-depend.el ends here
diff --git a/test/automated/package-test.el b/test/automated/package-test.el
index 34a3ce25a48..72422a8684b 100644
--- a/test/automated/package-test.el
+++ b/test/automated/package-test.el
@@ -203,12 +203,22 @@ Must called from within a `tar-mode' buffer."
(should (package-installed-p 'simple-single))
(should (package-installed-p 'simple-depend))))
+(ert-deftest package-test-install-two-dependencies ()
+ "Install a package which includes a dependency."
+ (with-package-test ()
+ (package-initialize)
+ (package-refresh-contents)
+ (package-install 'simple-two-depend)
+ (should (package-installed-p 'simple-single))
+ (should (package-installed-p 'simple-depend))
+ (should (package-installed-p 'simple-two-depend))))
+
(ert-deftest package-test-refresh-contents ()
"Parse an \"archive-contents\" file."
(with-package-test ()
(package-initialize)
(package-refresh-contents)
- (should (eq 3 (length package-archive-contents)))))
+ (should (eq 4 (length package-archive-contents)))))
(ert-deftest package-test-install-single-from-archive ()
"Install a single package from a package archive."
diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb
index 2ca0e482797..99482433145 100644
--- a/test/indent/ruby.rb
+++ b/test/indent/ruby.rb
@@ -379,3 +379,20 @@ foo(:bar =>
'd' => %w(e f)
}
}
+
+# Bug#17050
+
+return render json: {
+ errors: { base: [message] },
+ copying: copying
+ },
+ status: 400
+
+top test(
+ some,
+ top,
+ test)
+
+foo bar, {
+ tee: qux
+ }