emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master bb5e786 2/2: Merge branch 'master' of git.sv.gnu.or


From: Kenichi Handa
Subject: [Emacs-diffs] master bb5e786 2/2: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs.
Date: Mon, 29 Dec 2014 13:54:55 +0000

branch: master
commit bb5e7861593815f912c21b2aee1e4be9a6cc64a2
Merge: 3fa5f44 8e0b270
Author: K. Handa <address@hidden>
Commit: K. Handa <address@hidden>

    Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs.
---
 CONTRIBUTE                     |    4 +-
 ChangeLog                      |    6 ++
 build-aux/git-hooks/commit-msg |   16 ++++--
 etc/NEWS                       |    5 ++
 etc/grep.txt                   |    6 +-
 lisp/ChangeLog                 |   53 +++++++++++++++++++
 lisp/comint.el                 |   16 ++++--
 lisp/emacs-lisp/find-func.el   |   28 ++++++----
 lisp/gnus/ChangeLog            |    5 ++
 lisp/gnus/gnus-cloud.el        |    9 +++
 lisp/gnus/mm-decode.el         |    1 +
 lisp/international/mule.el     |  108 ++++++++++++++++++++--------------------
 lisp/menu-bar.el               |   43 +++++-----------
 lisp/net/eww.el                |    1 +
 lisp/net/shr.el                |    3 +-
 lisp/progmodes/elisp-mode.el   |   38 ++++++++------
 lisp/progmodes/etags.el        |    5 ++
 lisp/vc/vc-dir.el              |   11 ++++
 src/ChangeLog                  |    6 ++
 src/term.c                     |    2 +-
 20 files changed, 236 insertions(+), 130 deletions(-)

diff --git a/CONTRIBUTE b/CONTRIBUTE
index 3bc49cf..0e019d3 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 65a112d..00775ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-28  Paul Eggert  <address@hidden>
+
+       * 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  <address@hidden>
 
        * .gitignore: Ignore /conftest*.
diff --git a/build-aux/git-hooks/commit-msg b/build-aux/git-hooks/commit-msg
index 2e3e4f2..9b6179e 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 4d63278..548f409 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 523b1fa..b96a916 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 48c73bb..64ead04 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  <address@hidden>
+
+       * 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  <address@hidden>
+
+       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  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * 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  <address@hidden>
+
+       * international/mule.el (define-coding-system): Fix typos in the
+       doc string.
+
+2014-12-28  Kenichi Handa  <address@hidden>
+
+       * international/mule.el (define-coding-system): Improve the doc
+       string.
+
 2014-12-28  Ivan Shmakov  <address@hidden>
 
        * net/shr.el (shr-tag-table): Fix handling of tbody/header/footer
diff --git a/lisp/comint.el b/lisp/comint.el
index 3085052..4acaa30 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 e1586a9..3131be0 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 6f0ea0f..0007b15 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-29  Lars Ingebrigtsen  <address@hidden>
+
+       * 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  <address@hidden>
 
        * registry.el (registry-db): Set default slot later.
diff --git a/lisp/gnus/gnus-cloud.el b/lisp/gnus/gnus-cloud.el
index ec016ee..a42bcc0 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 f5b4d7c..3913ecc 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 fd527b1..392ecff 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 8f33641..c5f587e 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 9d787d3..b43dba5 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 26bb292..6553fd3 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 ac216d9..c6cab12 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 0be9979..be0dabf 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 54496b9..c90bf1c 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 9e3fb90..2ab5101 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-28  Paul Eggert  <address@hidden>
+
+       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  <address@hidden>
 
        Wrap dll functions more simply
diff --git a/src/term.c b/src/term.c
index 04f6e33..bcb83e5 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
     {



reply via email to

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