diff options
author | K. Handa <handa@gnu.org> | 2014-12-29 22:54:07 +0900 |
---|---|---|
committer | K. Handa <handa@gnu.org> | 2014-12-29 22:54:07 +0900 |
commit | bb5e7861593815f912c21b2aee1e4be9a6cc64a2 (patch) | |
tree | 080066ad78a5de3f2a8a3fbfbc3e3d242c1c16b7 | |
parent | 3fa5f4416ed219688b9d0e370edf40dce15a5de3 (diff) | |
parent | 8e0b2702ce8ad593a2098ae8028728ed137fb26c (diff) | |
download | emacs-bb5e7861593815f912c21b2aee1e4be9a6cc64a2.tar.gz |
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs.
-rw-r--r-- | CONTRIBUTE | 4 | ||||
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | build-aux/git-hooks/commit-msg | 16 | ||||
-rw-r--r-- | etc/NEWS | 5 | ||||
-rw-r--r-- | etc/grep.txt | 6 | ||||
-rw-r--r-- | lisp/ChangeLog | 53 | ||||
-rw-r--r-- | lisp/comint.el | 16 | ||||
-rw-r--r-- | lisp/emacs-lisp/find-func.el | 28 | ||||
-rw-r--r-- | lisp/gnus/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/gnus/gnus-cloud.el | 9 | ||||
-rw-r--r-- | lisp/gnus/mm-decode.el | 1 | ||||
-rw-r--r-- | lisp/international/mule.el | 108 | ||||
-rw-r--r-- | lisp/menu-bar.el | 43 | ||||
-rw-r--r-- | lisp/net/eww.el | 1 | ||||
-rw-r--r-- | lisp/net/shr.el | 3 | ||||
-rw-r--r-- | lisp/progmodes/elisp-mode.el | 38 | ||||
-rw-r--r-- | lisp/progmodes/etags.el | 5 | ||||
-rw-r--r-- | lisp/vc/vc-dir.el | 11 | ||||
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/term.c | 2 |
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 } @@ -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 [01;31mUniversal Time[00m) * GNU grep 2.5.1 with context lines @@ -78,8 +78,8 @@ bzr grep --color=always -in "org-element-map" [35mlisp/org/org.el[1;36m:[0m21047[1;36m:[0m ([1;31morg-element-map[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[36m=[m20969[36m=[m(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 { |