Merge from emacs-24; up to 2014-03-21T08:51:02Z!eliz@gnu.org

This commit is contained in:
Glenn Morris 2014-03-21 12:04:57 -07:00
commit 5671dc5159
51 changed files with 309 additions and 110 deletions

View file

@ -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'

View file

@ -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}.

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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,

View file

@ -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.

View file

@ -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.

View file

@ -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."

View file

@ -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.

View file

@ -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)))))

View file

@ -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.

View file

@ -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 "")

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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)

View file

@ -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))

View file

@ -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.

View file

@ -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)

View file

@ -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.

View file

@ -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;

View file

@ -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:

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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."

View file

@ -379,3 +379,20 @@ def qux
'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
}