Commit bb5e7861 authored by K. Handa's avatar K. Handa

Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs.

parents 3fa5f441 8e0b2702
......@@ -57,7 +57,7 @@ following modifications:
the rationale for a change; that can be done in the commit message
between the summary line and the file entries.
** Changelog notes
** ChangeLog notes
- Emacs generally follows the GNU coding standards when it comes to
ChangeLogs:
......@@ -67,7 +67,7 @@ following modifications:
now), because `...' is so widely used elsewhere in Emacs.
- Some of the rules in the GNU coding standards section 5.2
"Commenting Your Work" also apply to Changelog entries: they must be
"Commenting Your Work" also apply to ChangeLog entries: they must be
in English, and be complete sentences starting with a capital and
ending with a period (except the summary line should not end in a
period).
......
2014-12-28 Paul Eggert <eggert@cs.ucla.edu>
* build-aux/git-hooks/commit-msg: Allow tabs.
Treat them as if they were expanded to spaces, with tab stops
every 8 columns.
2014-12-27 Paul Eggert <eggert@cs.ucla.edu>
* .gitignore: Ignore /conftest*.
......
......@@ -87,6 +87,15 @@ exec $awk '
status = 1
}
{
# Expand tabs to spaces for length calculations etc.
while (match($0, /\t/)) {
before_tab = substr($0, 1, RSTART - 1)
after_tab = substr($0, RSTART + 1)
$0 = sprintf("%s%*s%s", before_tab, 8 - (RSTART - 1) % 8, "", after_tab)
}
}
78 < length && $0 ~ space {
print "Line longer than 78 characters in commit message"
status = 1
......@@ -103,12 +112,7 @@ exec $awk '
}
$0 ~ non_print {
if (gsub(/\t/, "")) {
print "Tab in commit message; please use spaces instead"
}
if ($0 ~ non_print) {
print "Unprintable character in commit message"
}
print "Unprintable character in commit message"
status = 1
}
......
......@@ -456,6 +456,11 @@ easier binding, which is now unoccupied (`M-,').
alias for a private variable. `xref-push-marker-stack' and
`xref-pop-marker-stack' should be used to mutate it instead.
** etags
As a result of the above, these commands are now obsolete:
`find-tag-other-window', `find-tag-other-frame', `find-tag-regexp',
`tags-apropos' and `tags-loop-continue'.
** Obsolete packages
---
......
......@@ -39,7 +39,7 @@ grep -nH --color=always -e "INFO tree" ../info/*
* GNU grep 2.5.1 on lines starting with a number and colon
grep -nH -e "Universal Time" ../lispref/*
grep -nH --color=always -e "Universal Time" ../doc/lispref/*
../lispref/os.texi:1010:0:00 January 1, 1970 UTC (Coordinated Universal Time)
* GNU grep 2.5.1 with context lines
......@@ -78,8 +78,8 @@ bzr grep --color=always -in "org-element-map"
lisp/org/org.el:21047: (org-element-map
* git-grep
with `[diff "el"] xfuncname = "^(\\(.*)$"' in .gitconfig
and `*.el diff=el' in .gitattributes
with `[diff "lisp"] xfuncname = "^(\\(.*)$"' in .gitconfig
and `*.el diff=lisp' in .gitattributes
git --no-pager grep -inH -p -e "org-element-map"
lisp/org/org.el=20969=(defun org-fill-paragraph (&optional justify)
......
......@@ -3,6 +3,59 @@
* international/mule.el (make-translation-table-from-alist):
Accept nil or zero-length vector for FROM and TO.
2014-12-29 Lars Ingebrigtsen <larsi@gnus.org>
* net/eww.el (eww-mode): Truncate overlong lines for prettier
display when resizing.
* net/shr.el (shr-width): Default to using the window width when
rendering.
2014-12-29 Dmitry Gutov <dgutov@yandex.ru>
Unbreak jumping to an alias's definition.
* emacs-lisp/find-func.el (find-function-library): Return a pair
(ORIG-FUNCTION . LIBRARY) instead of just its second element.
(find-function-noselect): Use it.
* progmodes/elisp-mode.el (elisp--xref-identifier-file): Rename to
`elisp--xref-identifier-location', incorporate logic from
`elisp--xref-find-definitions', use the changed
`find-function-library' return value.
2014-12-29 Juri Linkov <juri@linkov.net>
* comint.el (comint-history-isearch-message): Use field-beginning
instead of comint-line-beginning-position - that's more fixes for
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html
(comint-history-isearch-message): Fix args of isearch-message-prefix.
2014-12-29 Juri Linkov <juri@linkov.net>
* vc/vc-dir.el (vc-dir-display-file): New command (bug#19450).
(vc-dir-mode-map): Bind it to "\C-o".
(vc-dir-menu-map): Add it to menu.
2014-12-29 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/etags.el (find-tag-other-window)
(find-tag-other-frame, find-tag-regexp, tags-loop-continue)
(tags-apropos): Declare obsolete.
* menu-bar.el (menu-bar-goto-menu): Replace all but one etags item
with xref ones.
2014-12-28 Eli Zaretskii <eliz@gnu.org>
* international/mule.el (define-coding-system): Fix typos in the
doc string.
2014-12-28 Kenichi Handa <handa@gnu.org>
* international/mule.el (define-coding-system): Improve the doc
string.
2014-12-28 Ivan Shmakov <ivan@siamics.net>
* net/shr.el (shr-tag-table): Fix handling of tbody/header/footer
......
......@@ -1532,14 +1532,20 @@ the function `isearch-message'."
;; the initial comint prompt.
(if (overlayp comint-history-isearch-message-overlay)
(move-overlay comint-history-isearch-message-overlay
(save-excursion (forward-line 0) (point))
(comint-line-beginning-position))
(save-excursion
(goto-char (field-beginning))
(forward-line 0)
(point))
(field-beginning))
(setq comint-history-isearch-message-overlay
(make-overlay (save-excursion (forward-line 0) (point))
(comint-line-beginning-position)))
(make-overlay (save-excursion
(goto-char (field-beginning))
(forward-line 0)
(point))
(field-beginning)))
(overlay-put comint-history-isearch-message-overlay 'evaporate t))
(overlay-put comint-history-isearch-message-overlay
'display (isearch-message-prefix c-q-hack ellipsis))
'display (isearch-message-prefix ellipsis isearch-nonincremental))
(if (and comint-input-ring-index (not ellipsis))
;; Display the current history index.
(message "History item: %d" (1+ comint-input-ring-index))
......
......@@ -312,9 +312,14 @@ The search is done in the source for library LIBRARY."
(cons (current-buffer) nil))))))))
(defun find-function-library (function &optional lisp-only verbose)
"Return the library FUNCTION is defined in.
"Return the pair (ORIG-FUNCTION . LIBRARY) for FUNCTION.
If FUNCTION is a built-in function and LISP-ONLY is non-nil,
ORIG-FUNCTION is the original name, after removing all advice and
resolving aliases. LIBRARY is an absolute file name, a relative
file name inside the C sources directory, or a name of an
autoloaded feature.
If ORIG-FUNCTION is a built-in function and LISP-ONLY is non-nil,
signal an error.
If VERBOSE is non-nil, and FUNCTION is an alias, display a
......@@ -336,13 +341,14 @@ message about the whole chain of aliases."
def (symbol-function (find-function-advised-original function))))
(if aliases
(message "%s" aliases))
(cond
((autoloadp def) (nth 1 def))
((subrp def)
(if lisp-only
(error "%s is a built-in function" function))
(help-C-file-name def 'subr))
((symbol-file function 'defun)))))
(cons function
(cond
((autoloadp def) (nth 1 def))
((subrp def)
(if lisp-only
(error "%s is a built-in function" function))
(help-C-file-name def 'subr))
((symbol-file function 'defun))))))
;;;###autoload
(defun find-function-noselect (function &optional lisp-only)
......@@ -362,8 +368,8 @@ searched for in `find-function-source-path' if non-nil, otherwise
in `load-path'."
(if (not function)
(error "You didn't specify a function"))
(let ((library (find-function-library function lisp-only t)))
(find-function-search-for-symbol function nil library)))
(let ((func-lib (find-function-library function lisp-only t)))
(find-function-search-for-symbol (car func-lib) nil (cdr func-lib))))
(defun find-function-read (&optional type)
"Read and return an interned symbol, defaulting to the one near point.
......
2014-12-29 Lars Ingebrigtsen <larsi@gnus.org>
* mm-decode.el (mm-shr): Bind `shr-width' to `fill-column' so that
lines don't get overlong when responding.
2014-12-18 Paul Eggert <eggert@cs.ucla.edu>
* registry.el (registry-db): Set default slot later.
......
......@@ -329,6 +329,15 @@
(defun gnus-cloud-server-p (server)
(member server gnus-cloud-covered-servers))
(defun gnus-cloud-collect-full-newsrc ()
(let ((infos nil))
(dolist (info (cdr gnus-newsrc-alist))
(when (gnus-cloud-server-p
(gnus-method-to-server
(gnus-find-method-for-group (gnus-info-group info))))
(push info infos)))
))
(provide 'gnus-cloud)
;;; gnus-cloud.el ends here
......@@ -1814,6 +1814,7 @@ If RECURSIVE, search recursively."
;; Require since we bind its variables.
(require 'shr)
(let ((article-buffer (current-buffer))
(shr-width fill-column)
(shr-content-function (lambda (id)
(let ((handle (mm-get-content-id id)))
(when handle
......
......@@ -599,21 +599,22 @@ opposite of decoding).
The decoding is done by at most 3 steps; the first is to convert
a byte sequence to a character sequence by one of Emacs'
internal routines specified by :coding-type attribute. The
internal routines specified by `:coding-type' attribute. The
optional second step is to convert the character sequence (the
result of the first step) by a translation table specified
by :decode-translation-table attribute. The optional third step
is to convert the above reslut by a Lisp function specified
by :post-read-conversion attribute.
The encoding is done by at most 3 steps which are reverse of the
decoding steps. The optional first step converts a character
sequence to another character sequence by a Lisp function
specified by :pre-write-conversion attribute. The optional
second step converts the above result by a translation table
specified by :encode-translation-table attribute.. The third
step converts the abobe result to a byte sequence by one of
Emacs' internal routines specified by :coding-type attribute.
by `:decode-translation-table' attribute. The optional third step
is to convert the above result by a Lisp function specified
by `:post-read-conversion' attribute.
The encoding is done by at most 3 steps, which are the reverse
of the decoding steps. The optional first step converts a
character sequence to another character sequence by a Lisp
function specified by `:pre-write-conversion' attribute. The
optional second step converts the above result by a translation
table specified by `:encode-translation-table' attribute. The
third step converts the above result to a byte sequence by one
of the Emacs's internal routines specified by the `:coding-type'
attribute.
The following attributes have special meanings. Those labeled as
\"(required)\" should not be omitted.
......@@ -629,53 +630,52 @@ decodes and encodes to. It must be one of `charset', `utf-8',
`utf-16', `iso-2022', `emacs-mule', `shift-jis', `ccl',
`raw-text', `undecided'.
If VALUE is `charset', the coding system is for handling a byte
sequence in which each byte or each two to four bytes sequence
represents a character code of a charset specified
by :charset-list attribute.
If VALUE is `charset', the coding system is for handling a
byte sequence in which each byte or every two- to four-byte
sequence represents a character code of a charset specified
by the `:charset-list' attribute.
If VALUE is `utf-8', the coding system is for handling Unicode
UTF-8 byte sequence. See also the documentation of the
attribute :bom.
UTF-8 byte sequences. See also the documentation of the
attribute `:bom'.
If VALUE is `utf-16', the coding system is for handling Unicode
UTF-16 byte sequence. See also the documentation of the
attributes :bom and :endian.
UTF-16 byte sequences. See also the documentation of the
attributes :bom and `:endian'.
If VALUE is `iso-2022', the coding system is for handling a byte
sequence conforming to ISO/IEC 2022. See also the documentation
of the attributes :charset-list, :flags, and :designation.
If VALUE is `iso-2022', the coding system is for handling byte
sequences conforming to ISO/IEC 2022. See also the documentation
of the attributes `:charset-list', `:flags', and `:designation'.
If VALUE is `emacs-mule', the coding system is for handling a
byte sequence which Emacs 20 and 21 used for internal character
representations.
If VALUE is `emacs-mule', the coding system is for handling
byte sequences which Emacs 20 and 21 used for their internal
representation of characters.
If VALUE is `shift-jis', the coding system is for handling a byte
sequence of Shift_JIS format. See also the
attribute :charset-list.
If VALUE is `shift-jis', the coding system is for handling byte
sequences of Shift_JIS format. See also the attribute `:charset-list'.
If VALUE is `ccl', the coding system uses CCL programs to decodes
and encodes to a byte sequence. The CCL programs must be
specified by the attributes :ccl-decoder and :ccl-encoder.
If VALUE is `ccl', the coding system uses CCL programs to decode
and encode byte sequences. The CCL programs must be
specified by the attributes `:ccl-decoder' and `:ccl-encoder'.
If VALUE is `raw-text', the coding system decodes a byte sequence
as is.
If VALUE is `raw-text', the coding system decodes byte sequences
without any conversions.
`:eol-type'
VALUE is the EOL (end-of-line) format of the coding system. It must be
one of `unix', `dos', `mac'. The symbol `unix' means Unix-like EOL
\(i.e. single LF), `dos' means DOS-like EOL \(i.e. sequence of CR LF),
and `mac' means Mac-like EOL \(i.e. single CR). If omitted, Emacs
detects the EOL format automatically when decoding.
\(i.e. a single LF character), `dos' means DOS-like EOL \(i.e. a sequence
of CR followed by LF), and `mac' means Mac-like EOL \(i.e. a single CR).
If omitted, Emacs detects the EOL format automatically when decoding.
`:charset-list' (required if :coding-type is `charset' or `shift-jis')
`:charset-list' (required if `:coding-type' is `charset' or `shift-jis')
VALUE must be a list of charsets supported by the coding system.
If `coding-type:' is `charset', on decoding and encoding by the
If `coding-type:' is `charset', then on decoding and encoding by the
coding system, if a character belongs to multiple charsets in the
list, a charset that comes earlier in the list is selected.
list, a charset that comes first in the list is selected.
If `:coding-type' is `iso-2022', VALUE may be `iso-2022', which
indicates that the coding system supports all ISO-2022 based
......@@ -685,7 +685,7 @@ If `:coding-type' is `shift-jis', VALUE must be a list of three
to four charsets supported by Shift_JIS encoding scheme. The
first charset (one dimension) is for code space 0x00..0x7F, the
second (one dimension) for 0xA1..0xDF, the third (two dimension)
for 0x8140..0xEFFC, the optional fourth (thw dimension) for
for 0x8140..0xEFFC, the optional fourth (three dimension) for
0xF040..0xFCFC.
If `:coding-type' is `emacs-mule', VALUE may be `emacs-mule',
......@@ -711,9 +711,9 @@ VALUE must be a translation table to use on encoding.
VALUE must be a function to call after some text is inserted and
decoded by the coding system itself and before any functions in
`after-insert-functions' are called. This function is passed one
argument; the number of characters in the text to convert, with
argument: the number of characters in the text to convert, with
point at the start of the text. The function should leave point
the same, and return the new character count.
unchanged, and should return the new character count.
`:pre-write-conversion'
......@@ -742,7 +742,7 @@ to lower case.
`:mime-text-unsuitable'
VALUE non-nil means the `:mime-charset' property names a charset which
is unsuitable for the top-level media type \"text\".
is unsuitable for the top-level media of type \"text\".
`:flags'
......@@ -772,8 +772,8 @@ This attribute is meaningful only when `:coding-type' is `iso-2022'.
`:bom'
This attributes specifies whether the coding system uses a `byte order
mark'. VALUE must be nil, t, or cons of coding systems whose
This attributes specifies whether the coding system uses a \"byte order
mark\". VALUE must be nil, t, or a cons cell of coding systems whose
`:coding-type' is `utf-16' or `utf-8'.
If the value is nil, on decoding, don't treat the first two-byte as
......@@ -782,9 +782,9 @@ BOM, and on encoding, don't produce BOM bytes.
If the value is t, on decoding, skip the first two-byte as BOM, and on
encoding, produce BOM bytes according to the value of `:endian'.
If the value is cons, on decoding, check the first two-byte. If they
are 0xFE 0xFF, use the car part coding system of the value. If they
are 0xFF 0xFE, use the cdr part coding system of the value.
If the value is a cons cell, on decoding, check the first two bytes.
If they are 0xFE 0xFF, use the car part coding system of the value.
If they are 0xFF 0xFE, use the cdr part coding system of the value.
Otherwise, treat them as bytes for a normal character. On encoding,
produce BOM bytes according to the value of `:endian'.
......@@ -801,14 +801,14 @@ This attribute is meaningful only when `:coding-type' is `utf-16'.
`:ccl-decoder' (required if :coding-type is `ccl')
VALUE is a CCL program name defined by `define-ccl-program'. The
the CCL program reads a byte sequence and writes a character
sequence as a decoding result.
CCL program reads a byte sequence and writes a character sequence
as a decoding result.
`:ccl-encoder' (required if :coding-type is `ccl')
VALUE is a CCL program name defined by `define-ccl-program'. The
the CCL program reads a character sequence and writes a byte
sequence as a encoding result.
CCL program reads a character sequence and writes a byte sequence
as an encoding result.
`:inhibit-null-byte-detection'
......
......@@ -378,30 +378,23 @@
(bindings--define-key menu [separator-tag-file]
menu-bar-separator)
(bindings--define-key menu [apropos-tags]
'(menu-item "Tags Apropos..." tags-apropos
(bindings--define-key menu [xref-pop]
'(menu-item "Back..." xref-pop-marker-stack
:help "Back to the position of the last search"))
(bindings--define-key menu [xref-apropos]
'(menu-item "Find Apropos..." xref-find-apropos
:help "Find function/variables whose names match regexp"))
(bindings--define-key menu [next-tag-otherw]
'(menu-item "Next Tag in Other Window"
menu-bar-next-tag-other-window
:enable (and (boundp 'tags-location-ring)
(not (ring-empty-p tags-location-ring)))
:help "Find next function/variable matching last tag name in another window"))
(bindings--define-key menu [next-tag]
'(menu-item "Find Next Tag"
menu-bar-next-tag
:enable (and (boundp 'tags-location-ring)
(not (ring-empty-p tags-location-ring)))
:help "Find next function/variable matching last tag name"))
(bindings--define-key menu [find-tag-otherw]
'(menu-item "Find Tag in Other Window..." find-tag-other-window
(bindings--define-key menu [xref-find-otherw]
'(menu-item "Find Definition in Other Window..."
xref-find-definitions-other-window
:help "Find function/variable definition in another window"))
(bindings--define-key menu [find-tag]
'(menu-item "Find Tag..." find-tag
(bindings--define-key menu [xref-find-def]
'(menu-item "Find Definition..." xref-find-definitions
:help "Find definition of function or variable"))
(bindings--define-key menu [separator-tags]
(bindings--define-key menu [separator-xref]
menu-bar-separator)
(bindings--define-key menu [end-of-buf]
......@@ -514,16 +507,6 @@
menu))
(defun menu-bar-next-tag-other-window ()
"Find the next definition of the tag already specified."
(interactive)
(find-tag-other-window nil t))
(defun menu-bar-next-tag ()
"Find the next definition of the tag already specified."
(interactive)
(find-tag nil t))
(define-obsolete-function-alias
'menu-bar-kill-ring-save 'kill-ring-save "24.1")
......
......@@ -705,6 +705,7 @@ the like."
(setq-local tool-bar-map eww-tool-bar-map))
;; desktop support
(setq-local desktop-save-buffer 'eww-desktop-misc-data)
(setq truncate-lines t)
(buffer-disable-undo)
(setq buffer-read-only t))
......
......@@ -78,11 +78,12 @@ If nil, don't draw horizontal table lines."
:group 'shr
:type 'character)
(defcustom shr-width fill-column
(defcustom shr-width nil
"Frame width to use for rendering.
May either be an integer specifying a fixed width in characters,
or nil, meaning that the full width of the window should be
used."
:version "25.1"
:type '(choice (integer :tag "Fixed width in characters")
(const :tag "Use the width of the window" nil))
:group 'shr)
......
......@@ -570,18 +570,26 @@ It can be quoted, or be inside a quoted form."
(`apropos
(elisp--xref-find-apropos id))))
(defun elisp--xref-identifier-file (type sym)
(pcase type
(`defun (when (fboundp sym)
(find-function-library sym)))
(`defvar (when (boundp sym)
(or (symbol-file sym 'defvar)
(help-C-file-name sym 'var))))
(`feature (when (featurep sym)
(ignore-errors
(find-library-name (symbol-name sym)))))
(`defface (when (facep sym)
(symbol-file sym 'defface)))))
(defun elisp--xref-identifier-location (type sym)
(let ((file
(pcase type
(`defun (when (fboundp sym)
(let ((fun-lib
(find-function-library sym)))
(setq sym (car fun-lib))
(cdr fun-lib))))
(`defvar (when (boundp sym)
(or (symbol-file sym 'defvar)
(help-C-file-name sym 'var))))
(`feature (when (featurep sym)
(ignore-errors
(find-library-name (symbol-name sym)))))
(`defface (when (facep sym)
(symbol-file sym 'defface))))))
(when file
(when (string-match-p "\\.elc\\'" file)
(setq file (substring file 0 -1)))
(xref-make-elisp-location sym type file))))
(defun elisp--xref-find-definitions (symbol)
(save-excursion
......@@ -589,11 +597,7 @@ It can be quoted, or be inside a quoted form."
(dolist (type '(feature defface defvar defun))
(let ((loc
(condition-case err
(let ((file (elisp--xref-identifier-file type symbol)))
(when file
(when (string-match-p "\\.elc\\'" file)
(setq file (substring file 0 -1)))
(xref-make-elisp-location symbol type file)))
(elisp--xref-identifier-location type symbol)
(error
(xref-make-bogus-location (error-message-string err))))))
(when loc
......
......@@ -975,6 +975,7 @@ onto a ring and may be popped back to with \\[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.
See documentation of variable `tags-file-name'."
(declare (obsolete xref-find-definitions-other-window "25.1"))
(interactive (find-tag-interactive "Find tag other window: "))
;; This hair is to deal with the case where the tag is found in the
......@@ -1015,6 +1016,7 @@ onto a ring and may be popped back to with \\[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.
See documentation of variable `tags-file-name'."
(declare (obsolete xref-find-definitions-other-frame "25.1"))
(interactive (find-tag-interactive "Find tag other frame: "))
(let ((pop-up-frames t))
(find-tag-other-window tagname next-p)))
......@@ -1037,6 +1039,7 @@ onto a ring and may be popped back to with \\[pop-tag-mark].
Contrast this with the ring of marks gone to by the command.
See documentation of variable `tags-file-name'."
(declare (obsolete xref-find-apropos "25.1"))
(interactive (find-tag-interactive "Find tag regexp: " t))
;; We go through find-tag-other-window to do all the display hair there.
(funcall (if other-window 'find-tag-other-window 'find-tag)
......@@ -1786,6 +1789,7 @@ Two variables control the processing we do on each file: the value of
interesting (it returns non-nil if so) and `tags-loop-operate' is a form to
evaluate to operate on an interesting file. If the latter evaluates to
nil, we exit; otherwise we scan the next file."
(declare (obsolete "use `xref-find-definitions' interface instead." "25.1"))
(interactive)
(let (new
;; Non-nil means we have finished one file
......@@ -1929,6 +1933,7 @@ directory specification."
;;;###autoload
(defun tags-apropos (regexp)
"Display list of all tags in tags table REGEXP matches."
(declare (obsolete xref-find-apropos "25.1"))
(interactive "sTags apropos (regexp): ")
(with-output-to-temp-buffer "*Tags List*"
(princ "Click mouse-2 to follow tags.\n\nTags matching regexp `")
......
......@@ -169,6 +169,9 @@ See `run-hooks'."
(define-key map [ise]
'(menu-item "Isearch Files..." vc-dir-isearch
:help "Incremental search a string in the marked files"))
(define-key map [display]
'(menu-item "Display in Other Window" vc-dir-display-file
:help "Display the file on the current line, in another window"))
(define-key map [open-other]
'(menu-item "Open in Other Window" vc-dir-find-file-other-window
:help "Find the file on the current line, in another window"))
......@@ -273,6 +276,7 @@ See `run-hooks'."
(define-key map "e" 'vc-dir-find-file) ; dired-mode compatibility
(define-key map "\C-m" 'vc-dir-find-file)
(define-key map "o" 'vc-dir-find-file-other-window)
(define-key map "\C-o" 'vc-dir-display-file)
(define-key map "\C-c\C-c" 'vc-dir-kill-dir-status-process)
(define-key map [down-mouse-3] 'vc-dir-menu)
(define-key map [mouse-2] 'vc-dir-toggle-mark)
......@@ -755,6 +759,13 @@ that share the same state."
(if event (posn-set-point (event-end event)))
(find-file-other-window (vc-dir-current-file)))
(defun vc-dir-display-file (&optional event)
"Display the file on the current line, in another window."
(interactive (list last-nonmenu-event))
(if event (posn-set-point (event-end event)))
(display-buffer (find-file-noselect (vc-dir-current-file))
t))
(defun vc-dir-isearch ()
"Search for a string through all marked buffers using Isearch."
(interactive)
......
2014-12-28 Paul Eggert <eggert@cs.ucla.edu>
Fix produce_composite_width typo
* term.c (produce_composite_glyph):
Fix typo that confused number of columns for pixel width.
2014-12-28 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
Wrap dll functions more simply
......
......@@ -1736,7 +1736,7 @@ produce_composite_glyph (struct it *it)
{
struct composition *cmp = composition_table[it->cmp_it.id];
it->pixel_width = cmp->width;
it->pixel_width = cmp->pixel_width;