summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorK. Handa <handa@gnu.org>2014-12-29 22:54:07 +0900
committerK. Handa <handa@gnu.org>2014-12-29 22:54:07 +0900
commitbb5e7861593815f912c21b2aee1e4be9a6cc64a2 (patch)
tree080066ad78a5de3f2a8a3fbfbc3e3d242c1c16b7
parent3fa5f4416ed219688b9d0e370edf40dce15a5de3 (diff)
parent8e0b2702ce8ad593a2098ae8028728ed137fb26c (diff)
downloademacs-bb5e7861593815f912c21b2aee1e4be9a6cc64a2.tar.gz
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs.
-rw-r--r--CONTRIBUTE4
-rw-r--r--ChangeLog6
-rwxr-xr-xbuild-aux/git-hooks/commit-msg16
-rw-r--r--etc/NEWS5
-rw-r--r--etc/grep.txt6
-rw-r--r--lisp/ChangeLog53
-rw-r--r--lisp/comint.el16
-rw-r--r--lisp/emacs-lisp/find-func.el28
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/gnus-cloud.el9
-rw-r--r--lisp/gnus/mm-decode.el1
-rw-r--r--lisp/international/mule.el108
-rw-r--r--lisp/menu-bar.el43
-rw-r--r--lisp/net/eww.el1
-rw-r--r--lisp/net/shr.el3
-rw-r--r--lisp/progmodes/elisp-mode.el38
-rw-r--r--lisp/progmodes/etags.el5
-rw-r--r--lisp/vc/vc-dir.el11
-rw-r--r--src/ChangeLog6
-rw-r--r--src/term.c2
20 files changed, 236 insertions, 130 deletions
diff --git a/CONTRIBUTE b/CONTRIBUTE
index 3bc49cf3ea3..0e019d31597 100644
--- a/CONTRIBUTE
+++ b/CONTRIBUTE
@@ -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).
diff --git a/ChangeLog b/ChangeLog
index 65a112d379f..00775edf524 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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*.
diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg
index 2e3e4f21cda..9b6179ee613 100755
--- a/build-aux/git-hooks/commit-msg
+++ b/build-aux/git-hooks/commit-msg
@@ -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
}
diff --git a/etc/NEWS b/etc/NEWS
index 4d632783812..548f409348a 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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
---
diff --git a/etc/grep.txt b/etc/grep.txt
index 523b1fa404c..b96a916f905 100644
--- a/etc/grep.txt
+++ b/etc/grep.txt
@@ -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)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 48c73bb4196..64ead04f4b6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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
diff --git a/lisp/comint.el b/lisp/comint.el
index 3085052087c..4acaa30db91 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -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))
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el
index e1586a96716..3131be09eb1 100644
--- a/lisp/emacs-lisp/find-func.el
+++ b/lisp/emacs-lisp/find-func.el
@@ -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.
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 6f0ea0f57de..0007b15a76a 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
+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.
diff --git a/lisp/gnus/gnus-cloud.el b/lisp/gnus/gnus-cloud.el
index ec016eeeb77..a42bcc06e94 100644
--- a/lisp/gnus/gnus-cloud.el
+++ b/lisp/gnus/gnus-cloud.el
@@ -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
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index f5b4d7cba88..3913ecc0b4e 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -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
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index fd527b1059e..392ecff021a 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -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'
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 8f33641a746..c5f587eb719 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -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")
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 9d787d34f49..b43dba589c2 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -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))
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 26bb292bc41..6553fd3958c 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -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)
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index ac216d99cce..c6cab1257a5 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -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
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 0be99794356..be0dabf17b2 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -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 `")
diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el
index 54496b9e631..c90bf1c2343 100644
--- a/lisp/vc/vc-dir.el
+++ b/lisp/vc/vc-dir.el
@@ -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)
diff --git a/src/ChangeLog b/src/ChangeLog
index 9e3fb904b93..2ab5101fc6f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+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
diff --git a/src/term.c b/src/term.c
index 04f6e3318a0..bcb83e5891d 100644
--- a/src/term.c
+++ b/src/term.c
@@ -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;
}
else
{