diff options
| author | K. Handa | 2014-12-29 22:54:07 +0900 |
|---|---|---|
| committer | K. Handa | 2014-12-29 22:54:07 +0900 |
| commit | bb5e7861593815f912c21b2aee1e4be9a6cc64a2 (patch) | |
| tree | 080066ad78a5de3f2a8a3fbfbc3e3d242c1c16b7 | |
| parent | 3fa5f4416ed219688b9d0e370edf40dce15a5de3 (diff) | |
| parent | 8e0b2702ce8ad593a2098ae8028728ed137fb26c (diff) | |
| download | emacs-bb5e7861593815f912c21b2aee1e4be9a6cc64a2.tar.gz emacs-bb5e7861593815f912c21b2aee1e4be9a6cc64a2.zip | |
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: | |||
| 57 | the rationale for a change; that can be done in the commit message | 57 | the rationale for a change; that can be done in the commit message |
| 58 | between the summary line and the file entries. | 58 | between the summary line and the file entries. |
| 59 | 59 | ||
| 60 | ** Changelog notes | 60 | ** ChangeLog notes |
| 61 | 61 | ||
| 62 | - Emacs generally follows the GNU coding standards when it comes to | 62 | - Emacs generally follows the GNU coding standards when it comes to |
| 63 | ChangeLogs: | 63 | ChangeLogs: |
| @@ -67,7 +67,7 @@ following modifications: | |||
| 67 | now), because `...' is so widely used elsewhere in Emacs. | 67 | now), because `...' is so widely used elsewhere in Emacs. |
| 68 | 68 | ||
| 69 | - Some of the rules in the GNU coding standards section 5.2 | 69 | - Some of the rules in the GNU coding standards section 5.2 |
| 70 | "Commenting Your Work" also apply to Changelog entries: they must be | 70 | "Commenting Your Work" also apply to ChangeLog entries: they must be |
| 71 | in English, and be complete sentences starting with a capital and | 71 | in English, and be complete sentences starting with a capital and |
| 72 | ending with a period (except the summary line should not end in a | 72 | ending with a period (except the summary line should not end in a |
| 73 | period). | 73 | period). |
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-12-28 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * build-aux/git-hooks/commit-msg: Allow tabs. | ||
| 4 | Treat them as if they were expanded to spaces, with tab stops | ||
| 5 | every 8 columns. | ||
| 6 | |||
| 1 | 2014-12-27 Paul Eggert <eggert@cs.ucla.edu> | 7 | 2014-12-27 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 8 | ||
| 3 | * .gitignore: Ignore /conftest*. | 9 | * .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 ' | |||
| 87 | status = 1 | 87 | status = 1 |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | { | ||
| 91 | # Expand tabs to spaces for length calculations etc. | ||
| 92 | while (match($0, /\t/)) { | ||
| 93 | before_tab = substr($0, 1, RSTART - 1) | ||
| 94 | after_tab = substr($0, RSTART + 1) | ||
| 95 | $0 = sprintf("%s%*s%s", before_tab, 8 - (RSTART - 1) % 8, "", after_tab) | ||
| 96 | } | ||
| 97 | } | ||
| 98 | |||
| 90 | 78 < length && $0 ~ space { | 99 | 78 < length && $0 ~ space { |
| 91 | print "Line longer than 78 characters in commit message" | 100 | print "Line longer than 78 characters in commit message" |
| 92 | status = 1 | 101 | status = 1 |
| @@ -103,12 +112,7 @@ exec $awk ' | |||
| 103 | } | 112 | } |
| 104 | 113 | ||
| 105 | $0 ~ non_print { | 114 | $0 ~ non_print { |
| 106 | if (gsub(/\t/, "")) { | 115 | print "Unprintable character in commit message" |
| 107 | print "Tab in commit message; please use spaces instead" | ||
| 108 | } | ||
| 109 | if ($0 ~ non_print) { | ||
| 110 | print "Unprintable character in commit message" | ||
| 111 | } | ||
| 112 | status = 1 | 116 | status = 1 |
| 113 | } | 117 | } |
| 114 | 118 | ||
| @@ -456,6 +456,11 @@ easier binding, which is now unoccupied (`M-,'). | |||
| 456 | alias for a private variable. `xref-push-marker-stack' and | 456 | alias for a private variable. `xref-push-marker-stack' and |
| 457 | `xref-pop-marker-stack' should be used to mutate it instead. | 457 | `xref-pop-marker-stack' should be used to mutate it instead. |
| 458 | 458 | ||
| 459 | ** etags | ||
| 460 | As a result of the above, these commands are now obsolete: | ||
| 461 | `find-tag-other-window', `find-tag-other-frame', `find-tag-regexp', | ||
| 462 | `tags-apropos' and `tags-loop-continue'. | ||
| 463 | |||
| 459 | ** Obsolete packages | 464 | ** Obsolete packages |
| 460 | 465 | ||
| 461 | --- | 466 | --- |
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/* | |||
| 39 | 39 | ||
| 40 | * GNU grep 2.5.1 on lines starting with a number and colon | 40 | * GNU grep 2.5.1 on lines starting with a number and colon |
| 41 | 41 | ||
| 42 | grep -nH -e "Universal Time" ../lispref/* | 42 | grep -nH --color=always -e "Universal Time" ../doc/lispref/* |
| 43 | ../lispref/os.texi:1010:0:00 January 1, 1970 UTC (Coordinated [01;31mUniversal Time[00m) | 43 | ../lispref/os.texi:1010:0:00 January 1, 1970 UTC (Coordinated [01;31mUniversal Time[00m) |
| 44 | 44 | ||
| 45 | * GNU grep 2.5.1 with context lines | 45 | * GNU grep 2.5.1 with context lines |
| @@ -78,8 +78,8 @@ bzr grep --color=always -in "org-element-map" | |||
| 78 | [35mlisp/org/org.el[1;36m:[0m21047[1;36m:[0m ([1;31morg-element-map[0m | 78 | [35mlisp/org/org.el[1;36m:[0m21047[1;36m:[0m ([1;31morg-element-map[0m |
| 79 | 79 | ||
| 80 | * git-grep | 80 | * git-grep |
| 81 | with `[diff "el"] xfuncname = "^(\\(.*)$"' in .gitconfig | 81 | with `[diff "lisp"] xfuncname = "^(\\(.*)$"' in .gitconfig |
| 82 | and `*.el diff=el' in .gitattributes | 82 | and `*.el diff=lisp' in .gitattributes |
| 83 | 83 | ||
| 84 | git --no-pager grep -inH -p -e "org-element-map" | 84 | git --no-pager grep -inH -p -e "org-element-map" |
| 85 | lisp/org/org.el[36m=[m20969[36m=[m(defun org-fill-paragraph (&optional justify) | 85 | 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 @@ | |||
| 3 | * international/mule.el (make-translation-table-from-alist): | 3 | * international/mule.el (make-translation-table-from-alist): |
| 4 | Accept nil or zero-length vector for FROM and TO. | 4 | Accept nil or zero-length vector for FROM and TO. |
| 5 | 5 | ||
| 6 | 2014-12-29 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 7 | |||
| 8 | * net/eww.el (eww-mode): Truncate overlong lines for prettier | ||
| 9 | display when resizing. | ||
| 10 | |||
| 11 | * net/shr.el (shr-width): Default to using the window width when | ||
| 12 | rendering. | ||
| 13 | |||
| 14 | 2014-12-29 Dmitry Gutov <dgutov@yandex.ru> | ||
| 15 | |||
| 16 | Unbreak jumping to an alias's definition. | ||
| 17 | |||
| 18 | * emacs-lisp/find-func.el (find-function-library): Return a pair | ||
| 19 | (ORIG-FUNCTION . LIBRARY) instead of just its second element. | ||
| 20 | (find-function-noselect): Use it. | ||
| 21 | |||
| 22 | * progmodes/elisp-mode.el (elisp--xref-identifier-file): Rename to | ||
| 23 | `elisp--xref-identifier-location', incorporate logic from | ||
| 24 | `elisp--xref-find-definitions', use the changed | ||
| 25 | `find-function-library' return value. | ||
| 26 | |||
| 27 | 2014-12-29 Juri Linkov <juri@linkov.net> | ||
| 28 | |||
| 29 | * comint.el (comint-history-isearch-message): Use field-beginning | ||
| 30 | instead of comint-line-beginning-position - that's more fixes for | ||
| 31 | http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00305.html | ||
| 32 | (comint-history-isearch-message): Fix args of isearch-message-prefix. | ||
| 33 | |||
| 34 | 2014-12-29 Juri Linkov <juri@linkov.net> | ||
| 35 | |||
| 36 | * vc/vc-dir.el (vc-dir-display-file): New command (bug#19450). | ||
| 37 | (vc-dir-mode-map): Bind it to "\C-o". | ||
| 38 | (vc-dir-menu-map): Add it to menu. | ||
| 39 | |||
| 40 | 2014-12-29 Dmitry Gutov <dgutov@yandex.ru> | ||
| 41 | |||
| 42 | * progmodes/etags.el (find-tag-other-window) | ||
| 43 | (find-tag-other-frame, find-tag-regexp, tags-loop-continue) | ||
| 44 | (tags-apropos): Declare obsolete. | ||
| 45 | |||
| 46 | * menu-bar.el (menu-bar-goto-menu): Replace all but one etags item | ||
| 47 | with xref ones. | ||
| 48 | |||
| 49 | 2014-12-28 Eli Zaretskii <eliz@gnu.org> | ||
| 50 | |||
| 51 | * international/mule.el (define-coding-system): Fix typos in the | ||
| 52 | doc string. | ||
| 53 | |||
| 54 | 2014-12-28 Kenichi Handa <handa@gnu.org> | ||
| 55 | |||
| 56 | * international/mule.el (define-coding-system): Improve the doc | ||
| 57 | string. | ||
| 58 | |||
| 6 | 2014-12-28 Ivan Shmakov <ivan@siamics.net> | 59 | 2014-12-28 Ivan Shmakov <ivan@siamics.net> |
| 7 | 60 | ||
| 8 | * net/shr.el (shr-tag-table): Fix handling of tbody/header/footer | 61 | * 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'." | |||
| 1532 | ;; the initial comint prompt. | 1532 | ;; the initial comint prompt. |
| 1533 | (if (overlayp comint-history-isearch-message-overlay) | 1533 | (if (overlayp comint-history-isearch-message-overlay) |
| 1534 | (move-overlay comint-history-isearch-message-overlay | 1534 | (move-overlay comint-history-isearch-message-overlay |
| 1535 | (save-excursion (forward-line 0) (point)) | 1535 | (save-excursion |
| 1536 | (comint-line-beginning-position)) | 1536 | (goto-char (field-beginning)) |
| 1537 | (forward-line 0) | ||
| 1538 | (point)) | ||
| 1539 | (field-beginning)) | ||
| 1537 | (setq comint-history-isearch-message-overlay | 1540 | (setq comint-history-isearch-message-overlay |
| 1538 | (make-overlay (save-excursion (forward-line 0) (point)) | 1541 | (make-overlay (save-excursion |
| 1539 | (comint-line-beginning-position))) | 1542 | (goto-char (field-beginning)) |
| 1543 | (forward-line 0) | ||
| 1544 | (point)) | ||
| 1545 | (field-beginning))) | ||
| 1540 | (overlay-put comint-history-isearch-message-overlay 'evaporate t)) | 1546 | (overlay-put comint-history-isearch-message-overlay 'evaporate t)) |
| 1541 | (overlay-put comint-history-isearch-message-overlay | 1547 | (overlay-put comint-history-isearch-message-overlay |
| 1542 | 'display (isearch-message-prefix c-q-hack ellipsis)) | 1548 | 'display (isearch-message-prefix ellipsis isearch-nonincremental)) |
| 1543 | (if (and comint-input-ring-index (not ellipsis)) | 1549 | (if (and comint-input-ring-index (not ellipsis)) |
| 1544 | ;; Display the current history index. | 1550 | ;; Display the current history index. |
| 1545 | (message "History item: %d" (1+ comint-input-ring-index)) | 1551 | (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." | |||
| 312 | (cons (current-buffer) nil)))))))) | 312 | (cons (current-buffer) nil)))))))) |
| 313 | 313 | ||
| 314 | (defun find-function-library (function &optional lisp-only verbose) | 314 | (defun find-function-library (function &optional lisp-only verbose) |
| 315 | "Return the library FUNCTION is defined in. | 315 | "Return the pair (ORIG-FUNCTION . LIBRARY) for FUNCTION. |
| 316 | 316 | ||
| 317 | If FUNCTION is a built-in function and LISP-ONLY is non-nil, | 317 | ORIG-FUNCTION is the original name, after removing all advice and |
| 318 | resolving aliases. LIBRARY is an absolute file name, a relative | ||
| 319 | file name inside the C sources directory, or a name of an | ||
| 320 | autoloaded feature. | ||
| 321 | |||
| 322 | If ORIG-FUNCTION is a built-in function and LISP-ONLY is non-nil, | ||
| 318 | signal an error. | 323 | signal an error. |
| 319 | 324 | ||
| 320 | If VERBOSE is non-nil, and FUNCTION is an alias, display a | 325 | If VERBOSE is non-nil, and FUNCTION is an alias, display a |
| @@ -336,13 +341,14 @@ message about the whole chain of aliases." | |||
| 336 | def (symbol-function (find-function-advised-original function)))) | 341 | def (symbol-function (find-function-advised-original function)))) |
| 337 | (if aliases | 342 | (if aliases |
| 338 | (message "%s" aliases)) | 343 | (message "%s" aliases)) |
| 339 | (cond | 344 | (cons function |
| 340 | ((autoloadp def) (nth 1 def)) | 345 | (cond |
| 341 | ((subrp def) | 346 | ((autoloadp def) (nth 1 def)) |
| 342 | (if lisp-only | 347 | ((subrp def) |
| 343 | (error "%s is a built-in function" function)) | 348 | (if lisp-only |
| 344 | (help-C-file-name def 'subr)) | 349 | (error "%s is a built-in function" function)) |
| 345 | ((symbol-file function 'defun))))) | 350 | (help-C-file-name def 'subr)) |
| 351 | ((symbol-file function 'defun)))))) | ||
| 346 | 352 | ||
| 347 | ;;;###autoload | 353 | ;;;###autoload |
| 348 | (defun find-function-noselect (function &optional lisp-only) | 354 | (defun find-function-noselect (function &optional lisp-only) |
| @@ -362,8 +368,8 @@ searched for in `find-function-source-path' if non-nil, otherwise | |||
| 362 | in `load-path'." | 368 | in `load-path'." |
| 363 | (if (not function) | 369 | (if (not function) |
| 364 | (error "You didn't specify a function")) | 370 | (error "You didn't specify a function")) |
| 365 | (let ((library (find-function-library function lisp-only t))) | 371 | (let ((func-lib (find-function-library function lisp-only t))) |
| 366 | (find-function-search-for-symbol function nil library))) | 372 | (find-function-search-for-symbol (car func-lib) nil (cdr func-lib)))) |
| 367 | 373 | ||
| 368 | (defun find-function-read (&optional type) | 374 | (defun find-function-read (&optional type) |
| 369 | "Read and return an interned symbol, defaulting to the one near point. | 375 | "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 @@ | |||
| 1 | 2014-12-29 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * mm-decode.el (mm-shr): Bind `shr-width' to `fill-column' so that | ||
| 4 | lines don't get overlong when responding. | ||
| 5 | |||
| 1 | 2014-12-18 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2014-12-18 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | * registry.el (registry-db): Set default slot later. | 8 | * 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 @@ | |||
| 329 | (defun gnus-cloud-server-p (server) | 329 | (defun gnus-cloud-server-p (server) |
| 330 | (member server gnus-cloud-covered-servers)) | 330 | (member server gnus-cloud-covered-servers)) |
| 331 | 331 | ||
| 332 | (defun gnus-cloud-collect-full-newsrc () | ||
| 333 | (let ((infos nil)) | ||
| 334 | (dolist (info (cdr gnus-newsrc-alist)) | ||
| 335 | (when (gnus-cloud-server-p | ||
| 336 | (gnus-method-to-server | ||
| 337 | (gnus-find-method-for-group (gnus-info-group info)))) | ||
| 338 | (push info infos))) | ||
| 339 | )) | ||
| 340 | |||
| 332 | (provide 'gnus-cloud) | 341 | (provide 'gnus-cloud) |
| 333 | 342 | ||
| 334 | ;;; gnus-cloud.el ends here | 343 | ;;; 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." | |||
| 1814 | ;; Require since we bind its variables. | 1814 | ;; Require since we bind its variables. |
| 1815 | (require 'shr) | 1815 | (require 'shr) |
| 1816 | (let ((article-buffer (current-buffer)) | 1816 | (let ((article-buffer (current-buffer)) |
| 1817 | (shr-width fill-column) | ||
| 1817 | (shr-content-function (lambda (id) | 1818 | (shr-content-function (lambda (id) |
| 1818 | (let ((handle (mm-get-content-id id))) | 1819 | (let ((handle (mm-get-content-id id))) |
| 1819 | (when handle | 1820 | (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). | |||
| 599 | 599 | ||
| 600 | The decoding is done by at most 3 steps; the first is to convert | 600 | The decoding is done by at most 3 steps; the first is to convert |
| 601 | a byte sequence to a character sequence by one of Emacs' | 601 | a byte sequence to a character sequence by one of Emacs' |
| 602 | internal routines specified by :coding-type attribute. The | 602 | internal routines specified by `:coding-type' attribute. The |
| 603 | optional second step is to convert the character sequence (the | 603 | optional second step is to convert the character sequence (the |
| 604 | result of the first step) by a translation table specified | 604 | result of the first step) by a translation table specified |
| 605 | by :decode-translation-table attribute. The optional third step | 605 | by `:decode-translation-table' attribute. The optional third step |
| 606 | is to convert the above reslut by a Lisp function specified | 606 | is to convert the above result by a Lisp function specified |
| 607 | by :post-read-conversion attribute. | 607 | by `:post-read-conversion' attribute. |
| 608 | 608 | ||
| 609 | The encoding is done by at most 3 steps which are reverse of the | 609 | The encoding is done by at most 3 steps, which are the reverse |
| 610 | decoding steps. The optional first step converts a character | 610 | of the decoding steps. The optional first step converts a |
| 611 | sequence to another character sequence by a Lisp function | 611 | character sequence to another character sequence by a Lisp |
| 612 | specified by :pre-write-conversion attribute. The optional | 612 | function specified by `:pre-write-conversion' attribute. The |
| 613 | second step converts the above result by a translation table | 613 | optional second step converts the above result by a translation |
| 614 | specified by :encode-translation-table attribute.. The third | 614 | table specified by `:encode-translation-table' attribute. The |
| 615 | step converts the abobe result to a byte sequence by one of | 615 | third step converts the above result to a byte sequence by one |
| 616 | Emacs' internal routines specified by :coding-type attribute. | 616 | of the Emacs's internal routines specified by the `:coding-type' |
| 617 | attribute. | ||
| 617 | 618 | ||
| 618 | The following attributes have special meanings. Those labeled as | 619 | The following attributes have special meanings. Those labeled as |
| 619 | \"(required)\" should not be omitted. | 620 | \"(required)\" should not be omitted. |
| @@ -629,53 +630,52 @@ decodes and encodes to. It must be one of `charset', `utf-8', | |||
| 629 | `utf-16', `iso-2022', `emacs-mule', `shift-jis', `ccl', | 630 | `utf-16', `iso-2022', `emacs-mule', `shift-jis', `ccl', |
| 630 | `raw-text', `undecided'. | 631 | `raw-text', `undecided'. |
| 631 | 632 | ||
| 632 | If VALUE is `charset', the coding system is for handling a byte | 633 | If VALUE is `charset', the coding system is for handling a |
| 633 | sequence in which each byte or each two to four bytes sequence | 634 | byte sequence in which each byte or every two- to four-byte |
| 634 | represents a character code of a charset specified | 635 | sequence represents a character code of a charset specified |
| 635 | by :charset-list attribute. | 636 | by the `:charset-list' attribute. |
| 636 | 637 | ||
| 637 | If VALUE is `utf-8', the coding system is for handling Unicode | 638 | If VALUE is `utf-8', the coding system is for handling Unicode |
| 638 | UTF-8 byte sequence. See also the documentation of the | 639 | UTF-8 byte sequences. See also the documentation of the |
| 639 | attribute :bom. | 640 | attribute `:bom'. |
| 640 | 641 | ||
| 641 | If VALUE is `utf-16', the coding system is for handling Unicode | 642 | If VALUE is `utf-16', the coding system is for handling Unicode |
| 642 | UTF-16 byte sequence. See also the documentation of the | 643 | UTF-16 byte sequences. See also the documentation of the |
| 643 | attributes :bom and :endian. | 644 | attributes :bom and `:endian'. |
| 644 | 645 | ||
| 645 | If VALUE is `iso-2022', the coding system is for handling a byte | 646 | If VALUE is `iso-2022', the coding system is for handling byte |
| 646 | sequence conforming to ISO/IEC 2022. See also the documentation | 647 | sequences conforming to ISO/IEC 2022. See also the documentation |
| 647 | of the attributes :charset-list, :flags, and :designation. | 648 | of the attributes `:charset-list', `:flags', and `:designation'. |
| 648 | 649 | ||
| 649 | If VALUE is `emacs-mule', the coding system is for handling a | 650 | If VALUE is `emacs-mule', the coding system is for handling |
| 650 | byte sequence which Emacs 20 and 21 used for internal character | 651 | byte sequences which Emacs 20 and 21 used for their internal |
| 651 | representations. | 652 | representation of characters. |
| 652 | 653 | ||
| 653 | If VALUE is `shift-jis', the coding system is for handling a byte | 654 | If VALUE is `shift-jis', the coding system is for handling byte |
| 654 | sequence of Shift_JIS format. See also the | 655 | sequences of Shift_JIS format. See also the attribute `:charset-list'. |
| 655 | attribute :charset-list. | ||
| 656 | 656 | ||
| 657 | If VALUE is `ccl', the coding system uses CCL programs to decodes | 657 | If VALUE is `ccl', the coding system uses CCL programs to decode |
| 658 | and encodes to a byte sequence. The CCL programs must be | 658 | and encode byte sequences. The CCL programs must be |
| 659 | specified by the attributes :ccl-decoder and :ccl-encoder. | 659 | specified by the attributes `:ccl-decoder' and `:ccl-encoder'. |
| 660 | 660 | ||
| 661 | If VALUE is `raw-text', the coding system decodes a byte sequence | 661 | If VALUE is `raw-text', the coding system decodes byte sequences |
| 662 | as is. | 662 | without any conversions. |
| 663 | 663 | ||
| 664 | `:eol-type' | 664 | `:eol-type' |
| 665 | 665 | ||
| 666 | VALUE is the EOL (end-of-line) format of the coding system. It must be | 666 | VALUE is the EOL (end-of-line) format of the coding system. It must be |
| 667 | one of `unix', `dos', `mac'. The symbol `unix' means Unix-like EOL | 667 | one of `unix', `dos', `mac'. The symbol `unix' means Unix-like EOL |
| 668 | \(i.e. single LF), `dos' means DOS-like EOL \(i.e. sequence of CR LF), | 668 | \(i.e. a single LF character), `dos' means DOS-like EOL \(i.e. a sequence |
| 669 | and `mac' means Mac-like EOL \(i.e. single CR). If omitted, Emacs | 669 | of CR followed by LF), and `mac' means Mac-like EOL \(i.e. a single CR). |
| 670 | detects the EOL format automatically when decoding. | 670 | If omitted, Emacs detects the EOL format automatically when decoding. |
| 671 | 671 | ||
| 672 | `:charset-list' (required if :coding-type is `charset' or `shift-jis') | 672 | `:charset-list' (required if `:coding-type' is `charset' or `shift-jis') |
| 673 | 673 | ||
| 674 | VALUE must be a list of charsets supported by the coding system. | 674 | VALUE must be a list of charsets supported by the coding system. |
| 675 | 675 | ||
| 676 | If `coding-type:' is `charset', on decoding and encoding by the | 676 | If `coding-type:' is `charset', then on decoding and encoding by the |
| 677 | coding system, if a character belongs to multiple charsets in the | 677 | coding system, if a character belongs to multiple charsets in the |
| 678 | list, a charset that comes earlier in the list is selected. | 678 | list, a charset that comes first in the list is selected. |
| 679 | 679 | ||
| 680 | If `:coding-type' is `iso-2022', VALUE may be `iso-2022', which | 680 | If `:coding-type' is `iso-2022', VALUE may be `iso-2022', which |
| 681 | indicates that the coding system supports all ISO-2022 based | 681 | 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 | |||
| 685 | to four charsets supported by Shift_JIS encoding scheme. The | 685 | to four charsets supported by Shift_JIS encoding scheme. The |
| 686 | first charset (one dimension) is for code space 0x00..0x7F, the | 686 | first charset (one dimension) is for code space 0x00..0x7F, the |
| 687 | second (one dimension) for 0xA1..0xDF, the third (two dimension) | 687 | second (one dimension) for 0xA1..0xDF, the third (two dimension) |
| 688 | for 0x8140..0xEFFC, the optional fourth (thw dimension) for | 688 | for 0x8140..0xEFFC, the optional fourth (three dimension) for |
| 689 | 0xF040..0xFCFC. | 689 | 0xF040..0xFCFC. |
| 690 | 690 | ||
| 691 | If `:coding-type' is `emacs-mule', VALUE may be `emacs-mule', | 691 | 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. | |||
| 711 | VALUE must be a function to call after some text is inserted and | 711 | VALUE must be a function to call after some text is inserted and |
| 712 | decoded by the coding system itself and before any functions in | 712 | decoded by the coding system itself and before any functions in |
| 713 | `after-insert-functions' are called. This function is passed one | 713 | `after-insert-functions' are called. This function is passed one |
| 714 | argument; the number of characters in the text to convert, with | 714 | argument: the number of characters in the text to convert, with |
| 715 | point at the start of the text. The function should leave point | 715 | point at the start of the text. The function should leave point |
| 716 | the same, and return the new character count. | 716 | unchanged, and should return the new character count. |
| 717 | 717 | ||
| 718 | `:pre-write-conversion' | 718 | `:pre-write-conversion' |
| 719 | 719 | ||
| @@ -742,7 +742,7 @@ to lower case. | |||
| 742 | `:mime-text-unsuitable' | 742 | `:mime-text-unsuitable' |
| 743 | 743 | ||
| 744 | VALUE non-nil means the `:mime-charset' property names a charset which | 744 | VALUE non-nil means the `:mime-charset' property names a charset which |
| 745 | is unsuitable for the top-level media type \"text\". | 745 | is unsuitable for the top-level media of type \"text\". |
| 746 | 746 | ||
| 747 | `:flags' | 747 | `:flags' |
| 748 | 748 | ||
| @@ -772,8 +772,8 @@ This attribute is meaningful only when `:coding-type' is `iso-2022'. | |||
| 772 | 772 | ||
| 773 | `:bom' | 773 | `:bom' |
| 774 | 774 | ||
| 775 | This attributes specifies whether the coding system uses a `byte order | 775 | This attributes specifies whether the coding system uses a \"byte order |
| 776 | mark'. VALUE must be nil, t, or cons of coding systems whose | 776 | mark\". VALUE must be nil, t, or a cons cell of coding systems whose |
| 777 | `:coding-type' is `utf-16' or `utf-8'. | 777 | `:coding-type' is `utf-16' or `utf-8'. |
| 778 | 778 | ||
| 779 | If the value is nil, on decoding, don't treat the first two-byte as | 779 | 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. | |||
| 782 | If the value is t, on decoding, skip the first two-byte as BOM, and on | 782 | If the value is t, on decoding, skip the first two-byte as BOM, and on |
| 783 | encoding, produce BOM bytes according to the value of `:endian'. | 783 | encoding, produce BOM bytes according to the value of `:endian'. |
| 784 | 784 | ||
| 785 | If the value is cons, on decoding, check the first two-byte. If they | 785 | If the value is a cons cell, on decoding, check the first two bytes. |
| 786 | are 0xFE 0xFF, use the car part coding system of the value. If they | 786 | If they are 0xFE 0xFF, use the car part coding system of the value. |
| 787 | are 0xFF 0xFE, use the cdr part coding system of the value. | 787 | If they are 0xFF 0xFE, use the cdr part coding system of the value. |
| 788 | Otherwise, treat them as bytes for a normal character. On encoding, | 788 | Otherwise, treat them as bytes for a normal character. On encoding, |
| 789 | produce BOM bytes according to the value of `:endian'. | 789 | produce BOM bytes according to the value of `:endian'. |
| 790 | 790 | ||
| @@ -801,14 +801,14 @@ This attribute is meaningful only when `:coding-type' is `utf-16'. | |||
| 801 | `:ccl-decoder' (required if :coding-type is `ccl') | 801 | `:ccl-decoder' (required if :coding-type is `ccl') |
| 802 | 802 | ||
| 803 | VALUE is a CCL program name defined by `define-ccl-program'. The | 803 | VALUE is a CCL program name defined by `define-ccl-program'. The |
| 804 | the CCL program reads a byte sequence and writes a character | 804 | CCL program reads a byte sequence and writes a character sequence |
| 805 | sequence as a decoding result. | 805 | as a decoding result. |
| 806 | 806 | ||
| 807 | `:ccl-encoder' (required if :coding-type is `ccl') | 807 | `:ccl-encoder' (required if :coding-type is `ccl') |
| 808 | 808 | ||
| 809 | VALUE is a CCL program name defined by `define-ccl-program'. The | 809 | VALUE is a CCL program name defined by `define-ccl-program'. The |
| 810 | the CCL program reads a character sequence and writes a byte | 810 | CCL program reads a character sequence and writes a byte sequence |
| 811 | sequence as a encoding result. | 811 | as an encoding result. |
| 812 | 812 | ||
| 813 | `:inhibit-null-byte-detection' | 813 | `:inhibit-null-byte-detection' |
| 814 | 814 | ||
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 @@ | |||
| 378 | (bindings--define-key menu [separator-tag-file] | 378 | (bindings--define-key menu [separator-tag-file] |
| 379 | menu-bar-separator) | 379 | menu-bar-separator) |
| 380 | 380 | ||
| 381 | (bindings--define-key menu [apropos-tags] | 381 | (bindings--define-key menu [xref-pop] |
| 382 | '(menu-item "Tags Apropos..." tags-apropos | 382 | '(menu-item "Back..." xref-pop-marker-stack |
| 383 | :help "Back to the position of the last search")) | ||
| 384 | |||
| 385 | (bindings--define-key menu [xref-apropos] | ||
| 386 | '(menu-item "Find Apropos..." xref-find-apropos | ||
| 383 | :help "Find function/variables whose names match regexp")) | 387 | :help "Find function/variables whose names match regexp")) |
| 384 | (bindings--define-key menu [next-tag-otherw] | 388 | |
| 385 | '(menu-item "Next Tag in Other Window" | 389 | (bindings--define-key menu [xref-find-otherw] |
| 386 | menu-bar-next-tag-other-window | 390 | '(menu-item "Find Definition in Other Window..." |
| 387 | :enable (and (boundp 'tags-location-ring) | 391 | xref-find-definitions-other-window |
| 388 | (not (ring-empty-p tags-location-ring))) | ||
| 389 | :help "Find next function/variable matching last tag name in another window")) | ||
| 390 | |||
| 391 | (bindings--define-key menu [next-tag] | ||
| 392 | '(menu-item "Find Next Tag" | ||
| 393 | menu-bar-next-tag | ||
| 394 | :enable (and (boundp 'tags-location-ring) | ||
| 395 | (not (ring-empty-p tags-location-ring))) | ||
| 396 | :help "Find next function/variable matching last tag name")) | ||
| 397 | (bindings--define-key menu [find-tag-otherw] | ||
| 398 | '(menu-item "Find Tag in Other Window..." find-tag-other-window | ||
| 399 | :help "Find function/variable definition in another window")) | 392 | :help "Find function/variable definition in another window")) |
| 400 | (bindings--define-key menu [find-tag] | 393 | (bindings--define-key menu [xref-find-def] |
| 401 | '(menu-item "Find Tag..." find-tag | 394 | '(menu-item "Find Definition..." xref-find-definitions |
| 402 | :help "Find definition of function or variable")) | 395 | :help "Find definition of function or variable")) |
| 403 | 396 | ||
| 404 | (bindings--define-key menu [separator-tags] | 397 | (bindings--define-key menu [separator-xref] |
| 405 | menu-bar-separator) | 398 | menu-bar-separator) |
| 406 | 399 | ||
| 407 | (bindings--define-key menu [end-of-buf] | 400 | (bindings--define-key menu [end-of-buf] |
| @@ -514,16 +507,6 @@ | |||
| 514 | 507 | ||
| 515 | menu)) | 508 | menu)) |
| 516 | 509 | ||
| 517 | (defun menu-bar-next-tag-other-window () | ||
| 518 | "Find the next definition of the tag already specified." | ||
| 519 | (interactive) | ||
| 520 | (find-tag-other-window nil t)) | ||
| 521 | |||
| 522 | (defun menu-bar-next-tag () | ||
| 523 | "Find the next definition of the tag already specified." | ||
| 524 | (interactive) | ||
| 525 | (find-tag nil t)) | ||
| 526 | |||
| 527 | (define-obsolete-function-alias | 510 | (define-obsolete-function-alias |
| 528 | 'menu-bar-kill-ring-save 'kill-ring-save "24.1") | 511 | 'menu-bar-kill-ring-save 'kill-ring-save "24.1") |
| 529 | 512 | ||
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." | |||
| 705 | (setq-local tool-bar-map eww-tool-bar-map)) | 705 | (setq-local tool-bar-map eww-tool-bar-map)) |
| 706 | ;; desktop support | 706 | ;; desktop support |
| 707 | (setq-local desktop-save-buffer 'eww-desktop-misc-data) | 707 | (setq-local desktop-save-buffer 'eww-desktop-misc-data) |
| 708 | (setq truncate-lines t) | ||
| 708 | (buffer-disable-undo) | 709 | (buffer-disable-undo) |
| 709 | (setq buffer-read-only t)) | 710 | (setq buffer-read-only t)) |
| 710 | 711 | ||
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." | |||
| 78 | :group 'shr | 78 | :group 'shr |
| 79 | :type 'character) | 79 | :type 'character) |
| 80 | 80 | ||
| 81 | (defcustom shr-width fill-column | 81 | (defcustom shr-width nil |
| 82 | "Frame width to use for rendering. | 82 | "Frame width to use for rendering. |
| 83 | May either be an integer specifying a fixed width in characters, | 83 | May either be an integer specifying a fixed width in characters, |
| 84 | or nil, meaning that the full width of the window should be | 84 | or nil, meaning that the full width of the window should be |
| 85 | used." | 85 | used." |
| 86 | :version "25.1" | ||
| 86 | :type '(choice (integer :tag "Fixed width in characters") | 87 | :type '(choice (integer :tag "Fixed width in characters") |
| 87 | (const :tag "Use the width of the window" nil)) | 88 | (const :tag "Use the width of the window" nil)) |
| 88 | :group 'shr) | 89 | :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." | |||
| 570 | (`apropos | 570 | (`apropos |
| 571 | (elisp--xref-find-apropos id)))) | 571 | (elisp--xref-find-apropos id)))) |
| 572 | 572 | ||
| 573 | (defun elisp--xref-identifier-file (type sym) | 573 | (defun elisp--xref-identifier-location (type sym) |
| 574 | (pcase type | 574 | (let ((file |
| 575 | (`defun (when (fboundp sym) | 575 | (pcase type |
| 576 | (find-function-library sym))) | 576 | (`defun (when (fboundp sym) |
| 577 | (`defvar (when (boundp sym) | 577 | (let ((fun-lib |
| 578 | (or (symbol-file sym 'defvar) | 578 | (find-function-library sym))) |
| 579 | (help-C-file-name sym 'var)))) | 579 | (setq sym (car fun-lib)) |
| 580 | (`feature (when (featurep sym) | 580 | (cdr fun-lib)))) |
| 581 | (ignore-errors | 581 | (`defvar (when (boundp sym) |
| 582 | (find-library-name (symbol-name sym))))) | 582 | (or (symbol-file sym 'defvar) |
| 583 | (`defface (when (facep sym) | 583 | (help-C-file-name sym 'var)))) |
| 584 | (symbol-file sym 'defface))))) | 584 | (`feature (when (featurep sym) |
| 585 | (ignore-errors | ||
| 586 | (find-library-name (symbol-name sym))))) | ||
| 587 | (`defface (when (facep sym) | ||
| 588 | (symbol-file sym 'defface)))))) | ||
| 589 | (when file | ||
| 590 | (when (string-match-p "\\.elc\\'" file) | ||
| 591 | (setq file (substring file 0 -1))) | ||
| 592 | (xref-make-elisp-location sym type file)))) | ||
| 585 | 593 | ||
| 586 | (defun elisp--xref-find-definitions (symbol) | 594 | (defun elisp--xref-find-definitions (symbol) |
| 587 | (save-excursion | 595 | (save-excursion |
| @@ -589,11 +597,7 @@ It can be quoted, or be inside a quoted form." | |||
| 589 | (dolist (type '(feature defface defvar defun)) | 597 | (dolist (type '(feature defface defvar defun)) |
| 590 | (let ((loc | 598 | (let ((loc |
| 591 | (condition-case err | 599 | (condition-case err |
| 592 | (let ((file (elisp--xref-identifier-file type symbol))) | 600 | (elisp--xref-identifier-location type symbol) |
| 593 | (when file | ||
| 594 | (when (string-match-p "\\.elc\\'" file) | ||
| 595 | (setq file (substring file 0 -1))) | ||
| 596 | (xref-make-elisp-location symbol type file))) | ||
| 597 | (error | 601 | (error |
| 598 | (xref-make-bogus-location (error-message-string err)))))) | 602 | (xref-make-bogus-location (error-message-string err)))))) |
| 599 | (when loc | 603 | (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]. | |||
| 975 | Contrast this with the ring of marks gone to by the command. | 975 | Contrast this with the ring of marks gone to by the command. |
| 976 | 976 | ||
| 977 | See documentation of variable `tags-file-name'." | 977 | See documentation of variable `tags-file-name'." |
| 978 | (declare (obsolete xref-find-definitions-other-window "25.1")) | ||
| 978 | (interactive (find-tag-interactive "Find tag other window: ")) | 979 | (interactive (find-tag-interactive "Find tag other window: ")) |
| 979 | 980 | ||
| 980 | ;; This hair is to deal with the case where the tag is found in the | 981 | ;; 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]. | |||
| 1015 | Contrast this with the ring of marks gone to by the command. | 1016 | Contrast this with the ring of marks gone to by the command. |
| 1016 | 1017 | ||
| 1017 | See documentation of variable `tags-file-name'." | 1018 | See documentation of variable `tags-file-name'." |
| 1019 | (declare (obsolete xref-find-definitions-other-frame "25.1")) | ||
| 1018 | (interactive (find-tag-interactive "Find tag other frame: ")) | 1020 | (interactive (find-tag-interactive "Find tag other frame: ")) |
| 1019 | (let ((pop-up-frames t)) | 1021 | (let ((pop-up-frames t)) |
| 1020 | (find-tag-other-window tagname next-p))) | 1022 | (find-tag-other-window tagname next-p))) |
| @@ -1037,6 +1039,7 @@ onto a ring and may be popped back to with \\[pop-tag-mark]. | |||
| 1037 | Contrast this with the ring of marks gone to by the command. | 1039 | Contrast this with the ring of marks gone to by the command. |
| 1038 | 1040 | ||
| 1039 | See documentation of variable `tags-file-name'." | 1041 | See documentation of variable `tags-file-name'." |
| 1042 | (declare (obsolete xref-find-apropos "25.1")) | ||
| 1040 | (interactive (find-tag-interactive "Find tag regexp: " t)) | 1043 | (interactive (find-tag-interactive "Find tag regexp: " t)) |
| 1041 | ;; We go through find-tag-other-window to do all the display hair there. | 1044 | ;; We go through find-tag-other-window to do all the display hair there. |
| 1042 | (funcall (if other-window 'find-tag-other-window 'find-tag) | 1045 | (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 | |||
| 1786 | interesting (it returns non-nil if so) and `tags-loop-operate' is a form to | 1789 | interesting (it returns non-nil if so) and `tags-loop-operate' is a form to |
| 1787 | evaluate to operate on an interesting file. If the latter evaluates to | 1790 | evaluate to operate on an interesting file. If the latter evaluates to |
| 1788 | nil, we exit; otherwise we scan the next file." | 1791 | nil, we exit; otherwise we scan the next file." |
| 1792 | (declare (obsolete "use `xref-find-definitions' interface instead." "25.1")) | ||
| 1789 | (interactive) | 1793 | (interactive) |
| 1790 | (let (new | 1794 | (let (new |
| 1791 | ;; Non-nil means we have finished one file | 1795 | ;; Non-nil means we have finished one file |
| @@ -1929,6 +1933,7 @@ directory specification." | |||
| 1929 | ;;;###autoload | 1933 | ;;;###autoload |
| 1930 | (defun tags-apropos (regexp) | 1934 | (defun tags-apropos (regexp) |
| 1931 | "Display list of all tags in tags table REGEXP matches." | 1935 | "Display list of all tags in tags table REGEXP matches." |
| 1936 | (declare (obsolete xref-find-apropos "25.1")) | ||
| 1932 | (interactive "sTags apropos (regexp): ") | 1937 | (interactive "sTags apropos (regexp): ") |
| 1933 | (with-output-to-temp-buffer "*Tags List*" | 1938 | (with-output-to-temp-buffer "*Tags List*" |
| 1934 | (princ "Click mouse-2 to follow tags.\n\nTags matching regexp `") | 1939 | (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'." | |||
| 169 | (define-key map [ise] | 169 | (define-key map [ise] |
| 170 | '(menu-item "Isearch Files..." vc-dir-isearch | 170 | '(menu-item "Isearch Files..." vc-dir-isearch |
| 171 | :help "Incremental search a string in the marked files")) | 171 | :help "Incremental search a string in the marked files")) |
| 172 | (define-key map [display] | ||
| 173 | '(menu-item "Display in Other Window" vc-dir-display-file | ||
| 174 | :help "Display the file on the current line, in another window")) | ||
| 172 | (define-key map [open-other] | 175 | (define-key map [open-other] |
| 173 | '(menu-item "Open in Other Window" vc-dir-find-file-other-window | 176 | '(menu-item "Open in Other Window" vc-dir-find-file-other-window |
| 174 | :help "Find the file on the current line, in another window")) | 177 | :help "Find the file on the current line, in another window")) |
| @@ -273,6 +276,7 @@ See `run-hooks'." | |||
| 273 | (define-key map "e" 'vc-dir-find-file) ; dired-mode compatibility | 276 | (define-key map "e" 'vc-dir-find-file) ; dired-mode compatibility |
| 274 | (define-key map "\C-m" 'vc-dir-find-file) | 277 | (define-key map "\C-m" 'vc-dir-find-file) |
| 275 | (define-key map "o" 'vc-dir-find-file-other-window) | 278 | (define-key map "o" 'vc-dir-find-file-other-window) |
| 279 | (define-key map "\C-o" 'vc-dir-display-file) | ||
| 276 | (define-key map "\C-c\C-c" 'vc-dir-kill-dir-status-process) | 280 | (define-key map "\C-c\C-c" 'vc-dir-kill-dir-status-process) |
| 277 | (define-key map [down-mouse-3] 'vc-dir-menu) | 281 | (define-key map [down-mouse-3] 'vc-dir-menu) |
| 278 | (define-key map [mouse-2] 'vc-dir-toggle-mark) | 282 | (define-key map [mouse-2] 'vc-dir-toggle-mark) |
| @@ -755,6 +759,13 @@ that share the same state." | |||
| 755 | (if event (posn-set-point (event-end event))) | 759 | (if event (posn-set-point (event-end event))) |
| 756 | (find-file-other-window (vc-dir-current-file))) | 760 | (find-file-other-window (vc-dir-current-file))) |
| 757 | 761 | ||
| 762 | (defun vc-dir-display-file (&optional event) | ||
| 763 | "Display the file on the current line, in another window." | ||
| 764 | (interactive (list last-nonmenu-event)) | ||
| 765 | (if event (posn-set-point (event-end event))) | ||
| 766 | (display-buffer (find-file-noselect (vc-dir-current-file)) | ||
| 767 | t)) | ||
| 768 | |||
| 758 | (defun vc-dir-isearch () | 769 | (defun vc-dir-isearch () |
| 759 | "Search for a string through all marked buffers using Isearch." | 770 | "Search for a string through all marked buffers using Isearch." |
| 760 | (interactive) | 771 | (interactive) |
diff --git a/src/ChangeLog b/src/ChangeLog index 9e3fb904b93..2ab5101fc6f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-12-28 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Fix produce_composite_width typo | ||
| 4 | * term.c (produce_composite_glyph): | ||
| 5 | Fix typo that confused number of columns for pixel width. | ||
| 6 | |||
| 1 | 2014-12-28 Paul Eggert <eggert@Penguin.CS.UCLA.EDU> | 7 | 2014-12-28 Paul Eggert <eggert@Penguin.CS.UCLA.EDU> |
| 2 | 8 | ||
| 3 | Wrap dll functions more simply | 9 | 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) | |||
| 1736 | { | 1736 | { |
| 1737 | struct composition *cmp = composition_table[it->cmp_it.id]; | 1737 | struct composition *cmp = composition_table[it->cmp_it.id]; |
| 1738 | 1738 | ||
| 1739 | it->pixel_width = cmp->width; | 1739 | it->pixel_width = cmp->pixel_width; |
| 1740 | } | 1740 | } |
| 1741 | else | 1741 | else |
| 1742 | { | 1742 | { |