]> code.delx.au - gnu-emacs/commitdiff
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs.
authorK. Handa <handa@gnu.org>
Mon, 29 Dec 2014 13:54:07 +0000 (22:54 +0900)
committerK. Handa <handa@gnu.org>
Mon, 29 Dec 2014 13:54:07 +0000 (22:54 +0900)
20 files changed:
CONTRIBUTE
ChangeLog
build-aux/git-hooks/commit-msg
etc/NEWS
etc/grep.txt
lisp/ChangeLog
lisp/comint.el
lisp/emacs-lisp/find-func.el
lisp/gnus/ChangeLog
lisp/gnus/gnus-cloud.el
lisp/gnus/mm-decode.el
lisp/international/mule.el
lisp/menu-bar.el
lisp/net/eww.el
lisp/net/shr.el
lisp/progmodes/elisp-mode.el
lisp/progmodes/etags.el
lisp/vc/vc-dir.el
src/ChangeLog
src/term.c

index 3bc49cf3ea3f8e342c5bf23bc8125c72179b135b..0e019d31597247b9e8bc41a1277cb138f3ffce7e 100644 (file)
@@ -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).
index 65a112d379ff69231d3f3d3a97ddf989ce1e472b..00775edf52490b7ccda7b70627fde7372156a076 100644 (file)
--- 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*.
index 2e3e4f21cda8223c867cbabf21fd7abd50041eec..9b6179ee6135dbf179bf68183e80770f108d6ed1 100755 (executable)
@@ -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
   }
 
index 4d6327838124e26a8fc436c436d506684445424a..548f409348a0ef528c3afacc26c8e8aa29bd1ad2 100644 (file)
--- 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
 
 ---
index 523b1fa404cb778324849fd359aa6ffc27c76b75..b96a916f905abf0a18a28a0cca62c2516604ec42 100644 (file)
@@ -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 \e[01;31mUniversal Time\e[00m)
 
 * GNU grep 2.5.1 with context lines
@@ -78,8 +78,8 @@ bzr grep --color=always -in "org-element-map"
 \e[35mlisp/org/org.el\e[1;36m:\e[0m21047\e[1;36m:\e[0m                    (\e[1;31morg-element-map\e[0m
 
 * 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\e[36m=\e[m20969\e[36m=\e[m(defun org-fill-paragraph (&optional justify)
index 48c73bb4196c65fe737e4ba7a79580569d2a7dcb..64ead04f4b65105e2a54205290e0f8c387b0c2c6 100644 (file)
@@ -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
index 3085052087c8f5963e78cfe51ea0a96c231ff13a..4acaa30db916d5fa831513fcdf8f58ccf32ab0c0 100644 (file)
@@ -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))
index e1586a96716dd248b4bd1ac12e8b05f164773eb5..3131be09eb1c0925e0bb921eba7e2430fedb858d 100644 (file)
@@ -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.
index 6f0ea0f57dedd548d3c83a75d554bddb8b991759..0007b15a76a90621b64336d0c38d4b24dbf07818 100644 (file)
@@ -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.
index ec016eeeb77bb7bf021c64c382e50aa4d03683f3..a42bcc06e946d1ee23f47990a70a184ea5ab3f6e 100644 (file)
 (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
index f5b4d7cba881afe101e04b3ab817efc07160e09c..3913ecc0b4ee7826adde7852b03a65b4547affbd 100644 (file)
@@ -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
index fd527b1059e34907a2600871844bac9c5327e044..392ecff021a9cf9e79d1428c66d1934885461883 100644 (file)
@@ -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 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'
 
index 8f33641a746bff1ac568c560a4d3d3bd0b374177..c5f587eb719fb709adf63a3ec3ab633a86138700 100644 (file)
     (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]
 
     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")
 
index 9d787d34f49fa11616f8e17bf8efbf992174b6ca..b43dba589c2e46e0384633edc05c92eb2334703e 100644 (file)
@@ -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))
 
index 26bb292bc4156727a25c3283d4fdbbcec32d0c74..6553fd3958c78f3bd102d9f1582251a81e0ac134 100644 (file)
@@ -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)
index ac216d99cce109bd5f90d84142094e7bbeaf0354..c6cab1257a5c9d1d37e4890e02297b5859a2de14 100644 (file)
@@ -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
index 0be9979435607780703a4756532b0e043d5680df..be0dabf17b23d348f2cd4d0d59bc4ed8118814c5 100644 (file)
@@ -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 `")
index 54496b9e631ded84a07c578fc56419c933169576..c90bf1c2343eea30696ee2f442aa0c180cc09ccf 100644 (file)
@@ -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)
index 9e3fb904b93d5a7f6c36b4c74081c69166826e3a..2ab5101fc6f7eb82b73ef4797e79e8376d71bccb 100644 (file)
@@ -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
index 04f6e3318a0fe1b4823ac1155db97f967deaaee8..bcb83e5891d9a04949d0c271ead2a44865a34e9c 100644 (file)
@@ -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
     {