diff options
| author | Kenichi Handa | 2014-07-05 23:07:57 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2014-07-05 23:07:57 +0900 |
| commit | aeb894a9a06d84d29b93ca04432d7cbed366e665 (patch) | |
| tree | e2b73f9a76bc826c7a443e9a8d4fb3b49bdf7332 /lisp | |
| parent | 763a11d0d0dcf543e89a22c98f55ea07c40ceefa (diff) | |
| parent | a984543a4488ed08778eb775d62f7091db117945 (diff) | |
| download | emacs-aeb894a9a06d84d29b93ca04432d7cbed366e665.tar.gz emacs-aeb894a9a06d84d29b93ca04432d7cbed366e665.zip | |
merge trunk
Diffstat (limited to 'lisp')
36 files changed, 454 insertions, 199 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0b90c3c98ad..5c91db50037 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,134 @@ | |||
| 1 | 2014-07-04 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * net/dbus.el (dbus-peer-handler): New defun. | ||
| 4 | (dbus-register-service): Register it. (Bug#17858) | ||
| 5 | (dbus-managed-objects-handler): Fix docstring. | ||
| 6 | |||
| 7 | 2014-07-04 Phil Sainty <psainty@orcon.net.nz> (tiny change) | ||
| 8 | |||
| 9 | * emacs-lisp/lisp.el (narrow-to-defun-include-comments): New var. | ||
| 10 | (narrow-to-defun): New arg include-comments, defaulting to it | ||
| 11 | (bug#16328). | ||
| 12 | |||
| 13 | 2014-07-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 14 | |||
| 15 | * rect.el (rectangle--highlight-for-redisplay): Don't pass `orig' with | ||
| 16 | different calling convention to rectangle--unhighlight-for-redisplay. | ||
| 17 | |||
| 18 | 2014-07-03 Michael Albinus <michael.albinus@gmx.de> | ||
| 19 | |||
| 20 | * net/tramp.el (tramp-call-process): Handle error strings. | ||
| 21 | |||
| 22 | * net/tramp-adb.el (tramp-adb-sh-fix-ls-output): Use `bolp'. | ||
| 23 | |||
| 24 | * net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime) | ||
| 25 | (tramp-sh-handle-verify-visited-file-modtime): Use `point-at-eol'. | ||
| 26 | |||
| 27 | * net/trampver.el: Update release number. | ||
| 28 | |||
| 29 | 2014-07-03 Juri Linkov <juri@jurta.org> | ||
| 30 | |||
| 31 | * desktop.el (desktop-save): Rename arg `auto-save' to | ||
| 32 | `only-if-changed'. Doc fix. (Bug#17873) | ||
| 33 | |||
| 34 | 2014-07-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 35 | |||
| 36 | * mouse.el (mouse-yank-primary, mouse-yank-secondary): | ||
| 37 | Use insert-for-yank (bug#17271). | ||
| 38 | |||
| 39 | 2014-07-03 Leo Liu <sdl.web@gmail.com> | ||
| 40 | |||
| 41 | * emacs-lisp/pp.el (pp-eval-expression, pp-eval-last-sexp): | ||
| 42 | Support lexical-binding. | ||
| 43 | |||
| 44 | 2014-07-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 45 | |||
| 46 | * vc/log-edit.el (log-edit-goto-eoh): New function. | ||
| 47 | (log-edit--match-first-line): Use it (bug#17861). | ||
| 48 | |||
| 49 | 2014-07-03 Glenn Morris <rgm@gnu.org> | ||
| 50 | |||
| 51 | * vc/log-edit.el (log-edit-hook): Add missing :version. | ||
| 52 | |||
| 53 | 2014-07-03 Fabián Ezequiel Gallina <fgallina@gnu.org> | ||
| 54 | |||
| 55 | * progmodes/python.el (python-indent-post-self-insert-function): | ||
| 56 | Enhancements to electric indentation behavior inside | ||
| 57 | parens. (Bug#17658) | ||
| 58 | |||
| 59 | 2014-07-03 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 60 | |||
| 61 | * ps-def.el (ps-generate-postscript-with-faces1): Don't mess with | ||
| 62 | buffer-invisibility-spec (bug#17867). | ||
| 63 | |||
| 64 | 2014-07-03 Andreas Schwab <schwab@linux-m68k.org> | ||
| 65 | |||
| 66 | * vc/vc-git.el (vc-git-checkin): When operating on the whole tree | ||
| 67 | pass "-a". | ||
| 68 | |||
| 69 | 2014-07-03 Glenn Morris <rgm@gnu.org> | ||
| 70 | |||
| 71 | * cus-edit.el (help): | ||
| 72 | * finder.el (finder-known-keywords): | ||
| 73 | * help.el (help-for-help-internal): | ||
| 74 | * vc/ediff-mult.el (ediff-meta-buffer-verbose-message) | ||
| 75 | (ediff-redraw-registry-buffer): | ||
| 76 | * vc/ediff-ptch.el (ediff-patch-file-internal): | ||
| 77 | Doc fixes re "online" help. (Bug#17803) | ||
| 78 | |||
| 79 | * progmodes/idlwave.el (idlwave): Update url-link for custom group. | ||
| 80 | (idlwave-mode): Doc URL update. | ||
| 81 | |||
| 82 | 2014-07-01 Juri Linkov <juri@jurta.org> | ||
| 83 | |||
| 84 | * man.el: Display man pages immediately and use process-filter | ||
| 85 | to format them asynchronously. | ||
| 86 | (Man-width): Doc fix. | ||
| 87 | (man): Doc fix. | ||
| 88 | (Man-start-calling): Use `with-selected-window' to get | ||
| 89 | `frame-width' and `window-width'. | ||
| 90 | (Man-getpage-in-background): Call `Man-notify-when-ready' | ||
| 91 | immediately after creating a new buffer. Call `Man-mode' and set | ||
| 92 | `mode-line-process' in the created buffer. Set process-filter to | ||
| 93 | `Man-bgproc-filter' in start-process branch. In call-process branch | ||
| 94 | call either `Man-fontify-manpage' or `Man-cleanup-manpage'. | ||
| 95 | Use `Man-start-calling' inside `with-current-buffer'. | ||
| 96 | (Man-fontify-manpage): Don't print messages. Fix boundary condition. | ||
| 97 | (Man-cleanup-manpage): Don't print messages. | ||
| 98 | (Man-bgproc-filter): New function. | ||
| 99 | (Man-bgproc-sentinel): Add `save-excursion' to keep point when | ||
| 100 | user moved it during asynchronous formatting. Move calls of | ||
| 101 | `Man-fontify-manpage' and `Man-cleanup-manpage' to | ||
| 102 | `Man-bgproc-filter'. Move the call of `Man-mode' to | ||
| 103 | `Man-getpage-in-background'. Use `quit-restore-window' | ||
| 104 | instead of `kill-buffer'. Use `message' instead of `error' | ||
| 105 | because errors are caught by process sentinel. | ||
| 106 | (Man-mode): Move calls of `Man-build-page-list', | ||
| 107 | `Man-strip-page-headers', `Man-unindent', `Man-goto-page' to | ||
| 108 | `Man-bgproc-sentinel'. Doc fix. (Bug#2588, bug#5054, bug#9084, bug#17831) | ||
| 109 | |||
| 110 | * man.el (Man-bgproc-sentinel): Use `Man-page-from-arguments' | ||
| 111 | for the message about the man page cleaned up. | ||
| 112 | |||
| 113 | 2014-07-01 Mario Lang <mlang@delysid.org> | ||
| 114 | |||
| 115 | * net/gnutls.el (gnutls-negotiate): Prevent destructive modification of | ||
| 116 | cosutomization option `gnutls-verify-error'. | ||
| 117 | |||
| 118 | 2014-07-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 119 | |||
| 120 | * simple.el (deactivate-mark, set-mark-command, handle-shift-selection): | ||
| 121 | Don't keep transient-mark-mode buffer-local when not needed (bug#6316). | ||
| 122 | |||
| 123 | * xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal) | ||
| 124 | (turn-off-xterm-mouse-tracking-on-terminal): Don't burp if the terminal | ||
| 125 | is suspended (bug#17857). | ||
| 126 | |||
| 127 | 2014-07-01 Michael Albinus <michael.albinus@gmx.de> | ||
| 128 | |||
| 129 | * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): | ||
| 130 | Prefer utf-8 coding. (Bug#17859) | ||
| 131 | |||
| 1 | 2014-06-30 Fabián Ezequiel Gallina <fgallina@gnu.org> | 132 | 2014-06-30 Fabián Ezequiel Gallina <fgallina@gnu.org> |
| 2 | 133 | ||
| 3 | * emacs-lisp/subr-x.el (string-reverse): Define as obsolete alias | 134 | * emacs-lisp/subr-x.el (string-reverse): Define as obsolete alias |
| @@ -35,8 +166,7 @@ | |||
| 35 | Don't call c-parse-state when c++-template-syntax-table is active. | 166 | Don't call c-parse-state when c++-template-syntax-table is active. |
| 36 | * progmodes/cc-engine.el (c-guess-continued-construct CASE G) | 167 | * progmodes/cc-engine.el (c-guess-continued-construct CASE G) |
| 37 | (c-guess-basic-syntax CASE 5D.3): Rearrange so that | 168 | (c-guess-basic-syntax CASE 5D.3): Rearrange so that |
| 38 | c-syntactic-skip-backwards isn't called with the pertinent syntax | 169 | c-syntactic-skip-backwards isn't called with the pertinent syntax table. |
| 39 | table. | ||
| 40 | 170 | ||
| 41 | 2014-06-28 Stephen Berman <stephen.berman@gmx.net> | 171 | 2014-06-28 Stephen Berman <stephen.berman@gmx.net> |
| 42 | 172 | ||
| @@ -1638,7 +1768,7 @@ | |||
| 1638 | Remove HISTFILE and HISTSIZE; it's too late to set them here. | 1768 | Remove HISTFILE and HISTSIZE; it's too late to set them here. |
| 1639 | Add :version entry. | 1769 | Add :version entry. |
| 1640 | (tramp-open-shell): Do not let-bind `tramp-end-of-output'. | 1770 | (tramp-open-shell): Do not let-bind `tramp-end-of-output'. |
| 1641 | Add "HISTSIZE=/dev/null" to the shell's env arguments. Do not send | 1771 | Add "HISTFILE=/dev/null" to the shell's env arguments. Do not send |
| 1642 | extra "PSx=..." commands. | 1772 | extra "PSx=..." commands. |
| 1643 | (tramp-maybe-open-connection): Setenv HISTFILE to /dev/null. | 1773 | (tramp-maybe-open-connection): Setenv HISTFILE to /dev/null. |
| 1644 | (Bug#17295) | 1774 | (Bug#17295) |
| @@ -3338,7 +3468,7 @@ | |||
| 3338 | 2014-03-10 Michael Albinus <michael.albinus@gmx.de> | 3468 | 2014-03-10 Michael Albinus <michael.albinus@gmx.de> |
| 3339 | 3469 | ||
| 3340 | * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): | 3470 | * net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): |
| 3341 | Do not add `nil' to the environment, when there's no remote `locale'. | 3471 | Do not add nil to the environment, when there's no remote `locale'. |
| 3342 | (tramp-find-inline-encoding): Check, that the remote host has | 3472 | (tramp-find-inline-encoding): Check, that the remote host has |
| 3343 | installed perl, before sending scripts. | 3473 | installed perl, before sending scripts. |
| 3344 | 3474 | ||
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 212e29069eb..b54898a171c 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el | |||
| @@ -324,7 +324,7 @@ | |||
| 324 | :group 'emacs) | 324 | :group 'emacs) |
| 325 | 325 | ||
| 326 | (defgroup help nil | 326 | (defgroup help nil |
| 327 | "Support for on-line help systems." | 327 | "Support for Emacs help systems." |
| 328 | :group 'emacs) | 328 | :group 'emacs) |
| 329 | 329 | ||
| 330 | (defgroup multimedia nil | 330 | (defgroup multimedia nil |
diff --git a/lisp/desktop.el b/lisp/desktop.el index 26d288bf9cd..4bb6fba3532 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el | |||
| @@ -942,12 +942,13 @@ Frames with a non-nil `desktop-dont-save' parameter are not saved." | |||
| 942 | :predicate #'desktop--check-dont-save)))) | 942 | :predicate #'desktop--check-dont-save)))) |
| 943 | 943 | ||
| 944 | ;;;###autoload | 944 | ;;;###autoload |
| 945 | (defun desktop-save (dirname &optional release auto-save) | 945 | (defun desktop-save (dirname &optional release only-if-changed) |
| 946 | "Save the desktop in a desktop file. | 946 | "Save the desktop in a desktop file. |
| 947 | Parameter DIRNAME specifies where to save the desktop file. | 947 | Parameter DIRNAME specifies where to save the desktop file. |
| 948 | Optional parameter RELEASE says whether we're done with this desktop. | 948 | Optional parameter RELEASE says whether we're done with this desktop. |
| 949 | If AUTO-SAVE is non-nil, compare the saved contents to the one last saved, | 949 | If ONLY-IF-CHANGED is non-nil, compare the current desktop information |
| 950 | and don't save the buffer if they are the same." | 950 | to that in the desktop file, and if the desktop information has not |
| 951 | changed since it was last saved then do not rewrite the file." | ||
| 951 | (interactive (list | 952 | (interactive (list |
| 952 | ;; Or should we just use (car desktop-path)? | 953 | ;; Or should we just use (car desktop-path)? |
| 953 | (let ((default (if (member "." desktop-path) | 954 | (let ((default (if (member "." desktop-path) |
| @@ -1020,7 +1021,7 @@ and don't save the buffer if they are the same." | |||
| 1020 | 1021 | ||
| 1021 | (setq default-directory desktop-dirname) | 1022 | (setq default-directory desktop-dirname) |
| 1022 | ;; When auto-saving, avoid writing if nothing has changed since the last write. | 1023 | ;; When auto-saving, avoid writing if nothing has changed since the last write. |
| 1023 | (let* ((beg (and auto-save | 1024 | (let* ((beg (and only-if-changed |
| 1024 | (save-excursion | 1025 | (save-excursion |
| 1025 | (goto-char (point-min)) | 1026 | (goto-char (point-min)) |
| 1026 | ;; Don't check the header with changing timestamp | 1027 | ;; Don't check the header with changing timestamp |
diff --git a/lisp/ehelp.el b/lisp/ehelp.el index dd6c6c4cb28..46db552c3f5 100644 --- a/lisp/ehelp.el +++ b/lisp/ehelp.el | |||
| @@ -25,7 +25,7 @@ | |||
| 25 | ;;; Commentary: | 25 | ;;; Commentary: |
| 26 | 26 | ||
| 27 | ;; This package provides a pre-packaged `Electric Help Mode' for | 27 | ;; This package provides a pre-packaged `Electric Help Mode' for |
| 28 | ;; browsing on-line help screens. There is one entry point, | 28 | ;; browsing Emacs help screens. There is one entry point, |
| 29 | ;; `with-electric-help'; all you have to give it is a no-argument | 29 | ;; `with-electric-help'; all you have to give it is a no-argument |
| 30 | ;; function that generates the actual text of the help into the current | 30 | ;; function that generates the actual text of the help into the current |
| 31 | ;; buffer. | 31 | ;; buffer. |
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index 23b021df177..30fee64635c 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el | |||
| @@ -522,11 +522,15 @@ it marks the next defun after the ones already marked." | |||
| 522 | (beginning-of-defun)) | 522 | (beginning-of-defun)) |
| 523 | (re-search-backward "^\n" (- (point) 1) t))))) | 523 | (re-search-backward "^\n" (- (point) 1) t))))) |
| 524 | 524 | ||
| 525 | (defun narrow-to-defun (&optional _arg) | 525 | (defvar narrow-to-defun-include-comments nil |
| 526 | "If non-nil, `narrow-to-defun' will also show comments preceding the defun.") | ||
| 527 | |||
| 528 | (defun narrow-to-defun (&optional include-comments) | ||
| 526 | "Make text outside current defun invisible. | 529 | "Make text outside current defun invisible. |
| 527 | The defun visible is the one that contains point or follows point. | 530 | The current defun is the one that contains point or follows point. |
| 528 | Optional ARG is ignored." | 531 | Preceding comments are included if INCLUDE-COMMENTS is non-nil. |
| 529 | (interactive) | 532 | Interactively, the behavior depends on `narrow-to-defun-include-comments'." |
| 533 | (interactive (list narrow-to-defun-include-comments)) | ||
| 530 | (save-excursion | 534 | (save-excursion |
| 531 | (widen) | 535 | (widen) |
| 532 | (let ((opoint (point)) | 536 | (let ((opoint (point)) |
| @@ -562,6 +566,18 @@ Optional ARG is ignored." | |||
| 562 | (setq end (point)) | 566 | (setq end (point)) |
| 563 | (beginning-of-defun) | 567 | (beginning-of-defun) |
| 564 | (setq beg (point))) | 568 | (setq beg (point))) |
| 569 | (when include-comments | ||
| 570 | (goto-char beg) | ||
| 571 | ;; Move back past all preceding comments (and whitespace). | ||
| 572 | (when (forward-comment -1) | ||
| 573 | (while (forward-comment -1)) | ||
| 574 | ;; Move forwards past any page breaks within these comments. | ||
| 575 | (when (and page-delimiter (not (string= page-delimiter ""))) | ||
| 576 | (while (re-search-forward page-delimiter beg t))) | ||
| 577 | ;; Lastly, move past any empty lines. | ||
| 578 | (skip-chars-forward "[:space:]\n") | ||
| 579 | (beginning-of-line) | ||
| 580 | (setq beg (point)))) | ||
| 565 | (goto-char end) | 581 | (goto-char end) |
| 566 | (re-search-backward "^\n" (- (point) 1) t) | 582 | (re-search-backward "^\n" (- (point) 1) t) |
| 567 | (narrow-to-region beg end)))) | 583 | (narrow-to-region beg end)))) |
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el index 0e4139e1aeb..dd012fab9da 100644 --- a/lisp/emacs-lisp/pp.el +++ b/lisp/emacs-lisp/pp.el | |||
| @@ -129,7 +129,7 @@ Also add the value to the front of the list in the variable `values'." | |||
| 129 | (interactive | 129 | (interactive |
| 130 | (list (read--expression "Eval: "))) | 130 | (list (read--expression "Eval: "))) |
| 131 | (message "Evaluating...") | 131 | (message "Evaluating...") |
| 132 | (setq values (cons (eval expression) values)) | 132 | (setq values (cons (eval expression lexical-binding) values)) |
| 133 | (pp-display-expression (car values) "*Pp Eval Output*")) | 133 | (pp-display-expression (car values) "*Pp Eval Output*")) |
| 134 | 134 | ||
| 135 | ;;;###autoload | 135 | ;;;###autoload |
| @@ -165,7 +165,7 @@ With argument, pretty-print output into current buffer. | |||
| 165 | Ignores leading comment characters." | 165 | Ignores leading comment characters." |
| 166 | (interactive "P") | 166 | (interactive "P") |
| 167 | (if arg | 167 | (if arg |
| 168 | (insert (pp-to-string (eval (pp-last-sexp)))) | 168 | (insert (pp-to-string (eval (pp-last-sexp) lexical-binding))) |
| 169 | (pp-eval-expression (pp-last-sexp)))) | 169 | (pp-eval-expression (pp-last-sexp)))) |
| 170 | 170 | ||
| 171 | ;;;###autoload | 171 | ;;;###autoload |
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index 650b8acbb81..d1353bdc8fa 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el | |||
| @@ -107,7 +107,7 @@ | |||
| 107 | ;; ---------------- | 107 | ;; ---------------- |
| 108 | ;; Bug reports and ideas contributed by many users have helped | 108 | ;; Bug reports and ideas contributed by many users have helped |
| 109 | ;; improve Viper and the various versions of VIP. | 109 | ;; improve Viper and the various versions of VIP. |
| 110 | ;; See the on-line manual for a complete list of contributors. | 110 | ;; See the manual for a complete list of contributors. |
| 111 | ;; | 111 | ;; |
| 112 | ;; | 112 | ;; |
| 113 | ;;; Notes: | 113 | ;;; Notes: |
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 8d2ea62b231..d43be54de2b 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | ;; Andreas Fuchs (afs@void.at) | 9 | ;; Andreas Fuchs (afs@void.at) |
| 10 | ;; Gergely Nagy (algernon@midgard.debian.net) | 10 | ;; Gergely Nagy (algernon@midgard.debian.net) |
| 11 | ;; David Edmondson (dme@dme.org) | 11 | ;; David Edmondson (dme@dme.org) |
| 12 | ;; Kelvin White <kelvin.white77@gmail.com> | 12 | ;; Kelvin White (kwhite@gnu.org) |
| 13 | ;; Maintainer: emacs-devel@gnu.org | 13 | ;; Maintainer: emacs-devel@gnu.org |
| 14 | ;; Keywords: IRC, chat, client, Internet | 14 | ;; Keywords: IRC, chat, client, Internet |
| 15 | ;; Version: 5.3 | 15 | ;; Version: 5.3 |
| @@ -4252,7 +4252,7 @@ also `erc-format-nick-function'." | |||
| 4252 | (let ((nick (erc-server-user-nickname user))) | 4252 | (let ((nick (erc-server-user-nickname user))) |
| 4253 | (concat (erc-propertize | 4253 | (concat (erc-propertize |
| 4254 | (erc-get-user-mode-prefix nick) | 4254 | (erc-get-user-mode-prefix nick) |
| 4255 | 'face 'erc-nick-prefix-face) nick nick)))) | 4255 | 'face 'erc-nick-prefix-face) nick)))) |
| 4256 | 4256 | ||
| 4257 | (defun erc-format-my-nick () | 4257 | (defun erc-format-my-nick () |
| 4258 | "Return the beginning of this user's message, correctly propertized." | 4258 | "Return the beginning of this user's message, correctly propertized." |
diff --git a/lisp/finder.el b/lisp/finder.el index 092a2ddd8a4..bb5b441e26d 100644 --- a/lisp/finder.el +++ b/lisp/finder.el | |||
| @@ -52,7 +52,7 @@ | |||
| 52 | (frames . "Emacs frames and window systems") | 52 | (frames . "Emacs frames and window systems") |
| 53 | (games . "games, jokes and amusements") | 53 | (games . "games, jokes and amusements") |
| 54 | (hardware . "interfacing with system hardware") | 54 | (hardware . "interfacing with system hardware") |
| 55 | (help . "on-line help systems") | 55 | (help . "Emacs help systems") |
| 56 | (hypermedia . "links between text or other media types") | 56 | (hypermedia . "links between text or other media types") |
| 57 | (i18n . "internationalization and character-set support") | 57 | (i18n . "internationalization and character-set support") |
| 58 | (internal . "code for Emacs internals, build process, defaults") | 58 | (internal . "code for Emacs internals, build process, defaults") |
diff --git a/lisp/help.el b/lisp/help.el index 8ba3d86004b..63a658f391c 100644 --- a/lisp/help.el +++ b/lisp/help.el | |||
| @@ -23,7 +23,7 @@ | |||
| 23 | 23 | ||
| 24 | ;;; Commentary: | 24 | ;;; Commentary: |
| 25 | 25 | ||
| 26 | ;; This code implements GNU Emacs's on-line help system, the one invoked by | 26 | ;; This code implements GNU Emacs's built-in help system, the one invoked by |
| 27 | ;; `M-x help-for-help'. | 27 | ;; `M-x help-for-help'. |
| 28 | 28 | ||
| 29 | ;;; Code: | 29 | ;;; Code: |
| @@ -198,13 +198,13 @@ d PATTERN Show a list of functions, variables, and other items whose | |||
| 198 | documentation matches the PATTERN (a list of words or a regexp). | 198 | documentation matches the PATTERN (a list of words or a regexp). |
| 199 | e Go to the *Messages* buffer which logs echo-area messages. | 199 | e Go to the *Messages* buffer which logs echo-area messages. |
| 200 | f FUNCTION Display documentation for the given function. | 200 | f FUNCTION Display documentation for the given function. |
| 201 | F COMMAND Show the on-line manual's section that describes the command. | 201 | F COMMAND Show the Emacs manual's section that describes the command. |
| 202 | g Display information about the GNU project. | 202 | g Display information about the GNU project. |
| 203 | h Display the HELLO file which illustrates various scripts. | 203 | h Display the HELLO file which illustrates various scripts. |
| 204 | i Start the Info documentation reader: read on-line manuals. | 204 | i Start the Info documentation reader: read included manuals. |
| 205 | I METHOD Describe a specific input method, or RET for current. | 205 | I METHOD Describe a specific input method, or RET for current. |
| 206 | k KEYS Display the full documentation for the key sequence. | 206 | k KEYS Display the full documentation for the key sequence. |
| 207 | K KEYS Show the on-line manual's section for the command bound to KEYS. | 207 | K KEYS Show the Emacs manual's section for the command bound to KEYS. |
| 208 | l Show last 300 input keystrokes (lossage). | 208 | l Show last 300 input keystrokes (lossage). |
| 209 | L LANG-ENV Describes a specific language environment, or RET for current. | 209 | L LANG-ENV Describes a specific language environment, or RET for current. |
| 210 | m Display documentation of current minor modes and current major mode, | 210 | m Display documentation of current minor modes and current major mode, |
| @@ -214,7 +214,7 @@ p TOPIC Find packages matching a given topic keyword. | |||
| 214 | P PACKAGE Describe the given Emacs Lisp package. | 214 | P PACKAGE Describe the given Emacs Lisp package. |
| 215 | r Display the Emacs manual in Info mode. | 215 | r Display the Emacs manual in Info mode. |
| 216 | s Display contents of current syntax table, plus explanations. | 216 | s Display contents of current syntax table, plus explanations. |
| 217 | S SYMBOL Show the section for the given symbol in the on-line manual | 217 | S SYMBOL Show the section for the given symbol in the Info manual |
| 218 | for the programming language used in this buffer. | 218 | for the programming language used in this buffer. |
| 219 | t Start the Emacs learn-by-doing tutorial. | 219 | t Start the Emacs learn-by-doing tutorial. |
| 220 | v VARIABLE Display the given variable's documentation and value. | 220 | v VARIABLE Display the given variable's documentation and value. |
diff --git a/lisp/man.el b/lisp/man.el index 35fab2040a5..4b235302f8b 100644 --- a/lisp/man.el +++ b/lisp/man.el | |||
| @@ -173,13 +173,12 @@ Any other value of `Man-notify-method' is equivalent to `meek'." | |||
| 173 | 173 | ||
| 174 | (defcustom Man-width nil | 174 | (defcustom Man-width nil |
| 175 | "Number of columns for which manual pages should be formatted. | 175 | "Number of columns for which manual pages should be formatted. |
| 176 | If nil, the width of the window selected at the moment of man | 176 | If nil, use the width of the window where the manpage is displayed. |
| 177 | invocation is used. If non-nil, the width of the frame selected | 177 | If non-nil, use the width of the frame where the manpage is displayed. |
| 178 | at the moment of man invocation is used. The value also can be a | 178 | The value also can be a positive integer for a fixed width." |
| 179 | positive integer." | ||
| 180 | :type '(choice (const :tag "Window width" nil) | 179 | :type '(choice (const :tag "Window width" nil) |
| 181 | (const :tag "Frame width" t) | 180 | (const :tag "Frame width" t) |
| 182 | (integer :tag "Specific width" :value 65)) | 181 | (integer :tag "Fixed width" :value 65)) |
| 183 | :group 'man) | 182 | :group 'man) |
| 184 | 183 | ||
| 185 | (defcustom Man-frame-parameters nil | 184 | (defcustom Man-frame-parameters nil |
| @@ -930,12 +929,14 @@ test/automated/man-tests.el in the emacs bzr repository." | |||
| 930 | ;;;###autoload | 929 | ;;;###autoload |
| 931 | (defun man (man-args) | 930 | (defun man (man-args) |
| 932 | "Get a Un*x manual page and put it in a buffer. | 931 | "Get a Un*x manual page and put it in a buffer. |
| 933 | This command is the top-level command in the man package. It | 932 | This command is the top-level command in the man package. |
| 934 | runs a Un*x command to retrieve and clean a manpage in the | 933 | It runs a Un*x command to retrieve and clean a manpage in the |
| 935 | background and places the results in a `Man-mode' browsing | 934 | background and places the results in a `Man-mode' browsing |
| 936 | buffer. See variable `Man-notify-method' for what happens when | 935 | buffer. The variable `Man-width' defines the number of columns in |
| 937 | the buffer is ready. If a buffer already exists for this man | 936 | formatted manual pages. The buffer is displayed immediately. |
| 938 | page, it will display immediately. | 937 | The variable `Man-notify-method' defines how the buffer is displayed. |
| 938 | If a buffer already exists for this man page, it will be displayed | ||
| 939 | without running the man command. | ||
| 939 | 940 | ||
| 940 | For a manpage from a particular section, use either of the | 941 | For a manpage from a particular section, use either of the |
| 941 | following. \"cat(1)\" is how cross-references appear and is | 942 | following. \"cat(1)\" is how cross-references appear and is |
| @@ -1030,15 +1031,22 @@ names or descriptions. The pattern argument is usually an | |||
| 1030 | ;; ther is available). | 1031 | ;; ther is available). |
| 1031 | (when (or window-system | 1032 | (when (or window-system |
| 1032 | (not (or (getenv "MANWIDTH") (getenv "COLUMNS")))) | 1033 | (not (or (getenv "MANWIDTH") (getenv "COLUMNS")))) |
| 1033 | ;; This isn't strictly correct, since we don't know how | 1034 | ;; Since the page buffer is displayed beforehand, |
| 1034 | ;; the page will actually be displayed, but it seems | 1035 | ;; we can select its window and get the window/frame width. |
| 1035 | ;; reasonable. | ||
| 1036 | (setenv "COLUMNS" (number-to-string | 1036 | (setenv "COLUMNS" (number-to-string |
| 1037 | (cond | 1037 | (cond |
| 1038 | ((and (integerp Man-width) (> Man-width 0)) | 1038 | ((and (integerp Man-width) (> Man-width 0)) |
| 1039 | Man-width) | 1039 | Man-width) |
| 1040 | (Man-width (frame-width)) | 1040 | (Man-width |
| 1041 | ((window-width)))))) | 1041 | (if (window-live-p (get-buffer-window (current-buffer) t)) |
| 1042 | (with-selected-window (get-buffer-window (current-buffer) t) | ||
| 1043 | (frame-width)) | ||
| 1044 | (frame-width))) | ||
| 1045 | (t | ||
| 1046 | (if (window-live-p (get-buffer-window (current-buffer) t)) | ||
| 1047 | (with-selected-window (get-buffer-window (current-buffer) t) | ||
| 1048 | (window-width)) | ||
| 1049 | (window-width))))))) | ||
| 1042 | ;; Since man-db 2.4.3-1, man writes plain text with no escape | 1050 | ;; Since man-db 2.4.3-1, man writes plain text with no escape |
| 1043 | ;; sequences when stdout is not a tty. In 2.5.0, the following | 1051 | ;; sequences when stdout is not a tty. In 2.5.0, the following |
| 1044 | ;; env-var was added to allow control of this (see Debian Bug#340673). | 1052 | ;; env-var was added to allow control of this (see Debian Bug#340673). |
| @@ -1057,33 +1065,45 @@ Return the buffer in which the manpage will appear." | |||
| 1057 | (message "Invoking %s %s in the background" manual-program man-args) | 1065 | (message "Invoking %s %s in the background" manual-program man-args) |
| 1058 | (setq buffer (generate-new-buffer bufname)) | 1066 | (setq buffer (generate-new-buffer bufname)) |
| 1059 | (with-current-buffer buffer | 1067 | (with-current-buffer buffer |
| 1068 | (Man-notify-when-ready buffer) | ||
| 1060 | (setq buffer-undo-list t) | 1069 | (setq buffer-undo-list t) |
| 1061 | (setq Man-original-frame (selected-frame)) | 1070 | (setq Man-original-frame (selected-frame)) |
| 1062 | (setq Man-arguments man-args)) | 1071 | (setq Man-arguments man-args) |
| 1063 | (Man-start-calling | 1072 | (Man-mode) |
| 1064 | (if (fboundp 'start-process) | 1073 | (setq mode-line-process |
| 1065 | (set-process-sentinel | 1074 | (concat " " (propertize (if Man-fontify-manpage-flag |
| 1066 | (start-process manual-program buffer | 1075 | "[formatting...]" |
| 1067 | (if (memq system-type '(cygwin windows-nt)) | 1076 | "[cleaning...]") |
| 1068 | shell-file-name | 1077 | 'face 'mode-line-emphasis))) |
| 1069 | "sh") | 1078 | (Man-start-calling |
| 1070 | shell-command-switch | 1079 | (if (fboundp 'start-process) |
| 1071 | (format (Man-build-man-command) man-args)) | 1080 | (let ((proc (start-process |
| 1072 | 'Man-bgproc-sentinel) | 1081 | manual-program buffer |
| 1073 | (let ((exit-status | 1082 | (if (memq system-type '(cygwin windows-nt)) |
| 1074 | (call-process shell-file-name nil (list buffer nil) nil | 1083 | shell-file-name |
| 1075 | shell-command-switch | 1084 | "sh") |
| 1076 | (format (Man-build-man-command) man-args))) | 1085 | shell-command-switch |
| 1077 | (msg "")) | 1086 | (format (Man-build-man-command) man-args)))) |
| 1078 | (or (and (numberp exit-status) | 1087 | (set-process-sentinel proc 'Man-bgproc-sentinel) |
| 1079 | (= exit-status 0)) | 1088 | (set-process-filter proc 'Man-bgproc-filter)) |
| 1080 | (and (numberp exit-status) | 1089 | (let* ((inhibit-read-only t) |
| 1081 | (setq msg | 1090 | (exit-status |
| 1082 | (format "exited abnormally with code %d" | 1091 | (call-process shell-file-name nil (list buffer nil) nil |
| 1083 | exit-status))) | 1092 | shell-command-switch |
| 1084 | (setq msg exit-status)) | 1093 | (format (Man-build-man-command) man-args))) |
| 1085 | (Man-bgproc-sentinel bufname msg))))) | 1094 | (msg "")) |
| 1086 | buffer)) | 1095 | (or (and (numberp exit-status) |
| 1096 | (= exit-status 0)) | ||
| 1097 | (and (numberp exit-status) | ||
| 1098 | (setq msg | ||
| 1099 | (format "exited abnormally with code %d" | ||
| 1100 | exit-status))) | ||
| 1101 | (setq msg exit-status)) | ||
| 1102 | (if Man-fontify-manpage-flag | ||
| 1103 | (Man-fontify-manpage) | ||
| 1104 | (Man-cleanup-manpage)) | ||
| 1105 | (Man-bgproc-sentinel bufname msg)))))) | ||
| 1106 | buffer)) | ||
| 1087 | 1107 | ||
| 1088 | (defun Man-update-manpage () | 1108 | (defun Man-update-manpage () |
| 1089 | "Reformat current manpage by calling the man command again synchronously." | 1109 | "Reformat current manpage by calling the man command again synchronously." |
| @@ -1168,7 +1188,6 @@ See the variable `Man-notify-method' for the different notification behaviors." | |||
| 1168 | "Convert overstriking and underlining to the correct fonts. | 1188 | "Convert overstriking and underlining to the correct fonts. |
| 1169 | Same for the ANSI bold and normal escape sequences." | 1189 | Same for the ANSI bold and normal escape sequences." |
| 1170 | (interactive) | 1190 | (interactive) |
| 1171 | (message "Please wait: formatting the %s man page..." Man-arguments) | ||
| 1172 | (goto-char (point-min)) | 1191 | (goto-char (point-min)) |
| 1173 | ;; Fontify ANSI escapes. | 1192 | ;; Fontify ANSI escapes. |
| 1174 | (let ((ansi-color-apply-face-function | 1193 | (let ((ansi-color-apply-face-function |
| @@ -1183,7 +1202,7 @@ Same for the ANSI bold and normal escape sequences." | |||
| 1183 | ;; Multibyte characters exist. | 1202 | ;; Multibyte characters exist. |
| 1184 | (progn | 1203 | (progn |
| 1185 | (goto-char (point-min)) | 1204 | (goto-char (point-min)) |
| 1186 | (while (search-forward "__\b\b" nil t) | 1205 | (while (and (search-forward "__\b\b" nil t) (not (eobp))) |
| 1187 | (backward-delete-char 4) | 1206 | (backward-delete-char 4) |
| 1188 | (put-text-property (point) (1+ (point)) 'face 'Man-underline)) | 1207 | (put-text-property (point) (1+ (point)) 'face 'Man-underline)) |
| 1189 | (goto-char (point-min)) | 1208 | (goto-char (point-min)) |
| @@ -1191,7 +1210,7 @@ Same for the ANSI bold and normal escape sequences." | |||
| 1191 | (backward-delete-char 4) | 1210 | (backward-delete-char 4) |
| 1192 | (put-text-property (1- (point)) (point) 'face 'Man-underline)))) | 1211 | (put-text-property (1- (point)) (point) 'face 'Man-underline)))) |
| 1193 | (goto-char (point-min)) | 1212 | (goto-char (point-min)) |
| 1194 | (while (search-forward "_\b" nil t) | 1213 | (while (and (search-forward "_\b" nil t) (not (eobp))) |
| 1195 | (backward-delete-char 2) | 1214 | (backward-delete-char 2) |
| 1196 | (put-text-property (point) (1+ (point)) 'face 'Man-underline)) | 1215 | (put-text-property (point) (1+ (point)) 'face 'Man-underline)) |
| 1197 | (goto-char (point-min)) | 1216 | (goto-char (point-min)) |
| @@ -1223,8 +1242,7 @@ Same for the ANSI bold and normal escape sequences." | |||
| 1223 | (while (re-search-forward Man-heading-regexp nil t) | 1242 | (while (re-search-forward Man-heading-regexp nil t) |
| 1224 | (put-text-property (match-beginning 0) | 1243 | (put-text-property (match-beginning 0) |
| 1225 | (match-end 0) | 1244 | (match-end 0) |
| 1226 | 'face 'Man-overstrike))) | 1245 | 'face 'Man-overstrike)))) |
| 1227 | (message "%s man page formatted" (Man-page-from-arguments Man-arguments))) | ||
| 1228 | 1246 | ||
| 1229 | (defun Man-highlight-references (&optional xref-man-type) | 1247 | (defun Man-highlight-references (&optional xref-man-type) |
| 1230 | "Highlight the references on mouse-over. | 1248 | "Highlight the references on mouse-over. |
| @@ -1286,8 +1304,6 @@ Normally skip any jobs that should have been done by the sed script, | |||
| 1286 | but when called interactively, do those jobs even if the sed | 1304 | but when called interactively, do those jobs even if the sed |
| 1287 | script would have done them." | 1305 | script would have done them." |
| 1288 | (interactive "p") | 1306 | (interactive "p") |
| 1289 | (message "Please wait: cleaning up the %s man page..." | ||
| 1290 | Man-arguments) | ||
| 1291 | (if (or interactive (not Man-sed-script)) | 1307 | (if (or interactive (not Man-sed-script)) |
| 1292 | (progn | 1308 | (progn |
| 1293 | (goto-char (point-min)) | 1309 | (goto-char (point-min)) |
| @@ -1309,8 +1325,35 @@ script would have done them." | |||
| 1309 | ;; their preceding chars (but don't put Man-overstrike). (Bug#5566) | 1325 | ;; their preceding chars (but don't put Man-overstrike). (Bug#5566) |
| 1310 | (goto-char (point-min)) | 1326 | (goto-char (point-min)) |
| 1311 | (while (re-search-forward ".\b" nil t) (backward-delete-char 2)) | 1327 | (while (re-search-forward ".\b" nil t) (backward-delete-char 2)) |
| 1312 | (Man-softhyphen-to-minus) | 1328 | (Man-softhyphen-to-minus)) |
| 1313 | (message "%s man page cleaned up" Man-arguments)) | 1329 | |
| 1330 | (defun Man-bgproc-filter (process string) | ||
| 1331 | "Manpage background process filter. | ||
| 1332 | When manpage command is run asynchronously, PROCESS is the process | ||
| 1333 | object for the manpage command; when manpage command is run | ||
| 1334 | synchronously, PROCESS is the name of the buffer where the manpage | ||
| 1335 | command is run. Second argument STRING is the entire string of output." | ||
| 1336 | (save-excursion | ||
| 1337 | (let ((Man-buffer (process-buffer process))) | ||
| 1338 | (if (null (buffer-name Man-buffer)) ;; deleted buffer | ||
| 1339 | (set-process-buffer process nil) | ||
| 1340 | |||
| 1341 | (with-current-buffer Man-buffer | ||
| 1342 | (let ((inhibit-read-only t) | ||
| 1343 | (beg (marker-position (process-mark process)))) | ||
| 1344 | (save-excursion | ||
| 1345 | (goto-char beg) | ||
| 1346 | (insert string) | ||
| 1347 | (save-restriction | ||
| 1348 | (narrow-to-region | ||
| 1349 | (save-excursion | ||
| 1350 | (goto-char beg) | ||
| 1351 | (line-beginning-position)) | ||
| 1352 | (point)) | ||
| 1353 | (if Man-fontify-manpage-flag | ||
| 1354 | (Man-fontify-manpage) | ||
| 1355 | (Man-cleanup-manpage))) | ||
| 1356 | (set-marker (process-mark process) (point-max))))))))) | ||
| 1314 | 1357 | ||
| 1315 | (defun Man-bgproc-sentinel (process msg) | 1358 | (defun Man-bgproc-sentinel (process msg) |
| 1316 | "Manpage background process sentinel. | 1359 | "Manpage background process sentinel. |
| @@ -1329,63 +1372,75 @@ manpage command." | |||
| 1329 | (set-process-buffer process nil)) | 1372 | (set-process-buffer process nil)) |
| 1330 | 1373 | ||
| 1331 | (with-current-buffer Man-buffer | 1374 | (with-current-buffer Man-buffer |
| 1332 | (let ((case-fold-search nil)) | 1375 | (save-excursion |
| 1333 | (goto-char (point-min)) | 1376 | (let ((case-fold-search nil)) |
| 1334 | (cond ((or (looking-at "No \\(manual \\)*entry for") | 1377 | (goto-char (point-min)) |
| 1335 | (looking-at "[^\n]*: nothing appropriate$")) | 1378 | (cond ((or (looking-at "No \\(manual \\)*entry for") |
| 1336 | (setq err-mess (buffer-substring (point) | 1379 | (looking-at "[^\n]*: nothing appropriate$")) |
| 1337 | (progn | 1380 | (setq err-mess (buffer-substring (point) |
| 1338 | (end-of-line) (point))) | 1381 | (progn |
| 1339 | delete-buff t)) | 1382 | (end-of-line) (point))) |
| 1340 | 1383 | delete-buff t)) | |
| 1341 | ;; "-k foo", successful exit, but no output (from man-db) | 1384 | |
| 1342 | ;; ENHANCE-ME: share the check for -k with | 1385 | ;; "-k foo", successful exit, but no output (from man-db) |
| 1343 | ;; `Man-highlight-references'. The \\s- bits here are | 1386 | ;; ENHANCE-ME: share the check for -k with |
| 1344 | ;; meant to allow for multiple options with -k among them. | 1387 | ;; `Man-highlight-references'. The \\s- bits here are |
| 1345 | ((and (string-match "\\(\\`\\|\\s-\\)-k\\s-" Man-arguments) | 1388 | ;; meant to allow for multiple options with -k among them. |
| 1346 | (eq (process-status process) 'exit) | 1389 | ((and (string-match "\\(\\`\\|\\s-\\)-k\\s-" Man-arguments) |
| 1347 | (= (process-exit-status process) 0) | 1390 | (eq (process-status process) 'exit) |
| 1348 | (= (point-min) (point-max))) | 1391 | (= (process-exit-status process) 0) |
| 1349 | (setq err-mess (format "%s: no matches" Man-arguments) | 1392 | (= (point-min) (point-max))) |
| 1350 | delete-buff t)) | 1393 | (setq err-mess (format "%s: no matches" Man-arguments) |
| 1351 | 1394 | delete-buff t)) | |
| 1352 | ((or (stringp process) | 1395 | |
| 1353 | (not (and (eq (process-status process) 'exit) | 1396 | ((or (stringp process) |
| 1354 | (= (process-exit-status process) 0)))) | 1397 | (not (and (eq (process-status process) 'exit) |
| 1355 | (or (zerop (length msg)) | 1398 | (= (process-exit-status process) 0)))) |
| 1356 | (progn | 1399 | (or (zerop (length msg)) |
| 1357 | (setq err-mess | 1400 | (progn |
| 1358 | (concat (buffer-name Man-buffer) | 1401 | (setq err-mess |
| 1359 | ": process " | 1402 | (concat (buffer-name Man-buffer) |
| 1360 | (let ((eos (1- (length msg)))) | 1403 | ": process " |
| 1361 | (if (= (aref msg eos) ?\n) | 1404 | (let ((eos (1- (length msg)))) |
| 1362 | (substring msg 0 eos) msg)))) | 1405 | (if (= (aref msg eos) ?\n) |
| 1363 | (goto-char (point-max)) | 1406 | (substring msg 0 eos) msg)))) |
| 1364 | (insert (format "\nprocess %s" msg)))) | 1407 | (goto-char (point-max)) |
| 1365 | )) | 1408 | (insert (format "\nprocess %s" msg)))) |
| 1366 | (if delete-buff | 1409 | )) |
| 1367 | (kill-buffer Man-buffer) | 1410 | (if delete-buff |
| 1368 | (if Man-fontify-manpage-flag | 1411 | (if (window-live-p (get-buffer-window Man-buffer t)) |
| 1369 | (Man-fontify-manpage) | 1412 | (quit-restore-window |
| 1370 | (Man-cleanup-manpage)) | 1413 | (get-buffer-window Man-buffer t) 'kill) |
| 1371 | 1414 | (kill-buffer Man-buffer)) | |
| 1372 | (run-hooks 'Man-cooked-hook) | 1415 | |
| 1373 | (Man-mode) | 1416 | (run-hooks 'Man-cooked-hook) |
| 1374 | 1417 | ||
| 1375 | (if (not Man-page-list) | 1418 | (Man-build-page-list) |
| 1376 | (let ((args Man-arguments)) | 1419 | (Man-strip-page-headers) |
| 1377 | (kill-buffer (current-buffer)) | 1420 | (Man-unindent) |
| 1378 | (user-error "Can't find the %s manpage" | 1421 | (Man-goto-page 1 t) |
| 1379 | (Man-page-from-arguments args))) | 1422 | |
| 1380 | (set-buffer-modified-p nil)))) | 1423 | (if (not Man-page-list) |
| 1381 | ;; Restore case-fold-search before calling | 1424 | (let ((args Man-arguments)) |
| 1382 | ;; Man-notify-when-ready because it may switch buffers. | 1425 | (if (window-live-p (get-buffer-window (current-buffer) t)) |
| 1383 | 1426 | (quit-restore-window | |
| 1384 | (if (not delete-buff) | 1427 | (get-buffer-window (current-buffer) t) 'kill) |
| 1385 | (Man-notify-when-ready Man-buffer)) | 1428 | (kill-buffer (current-buffer))) |
| 1429 | (message "Can't find the %s manpage" | ||
| 1430 | (Man-page-from-arguments args))) | ||
| 1431 | |||
| 1432 | (if Man-fontify-manpage-flag | ||
| 1433 | (message "%s man page formatted" | ||
| 1434 | (Man-page-from-arguments Man-arguments)) | ||
| 1435 | (message "%s man page cleaned up" | ||
| 1436 | (Man-page-from-arguments Man-arguments))) | ||
| 1437 | (unless (and (processp process) | ||
| 1438 | (not (eq (process-status process) 'exit))) | ||
| 1439 | (setq mode-line-process nil)) | ||
| 1440 | (set-buffer-modified-p nil))))) | ||
| 1386 | 1441 | ||
| 1387 | (if err-mess | 1442 | (if err-mess |
| 1388 | (error "%s" err-mess)) | 1443 | (message "%s" err-mess)) |
| 1389 | )))) | 1444 | )))) |
| 1390 | 1445 | ||
| 1391 | (defun Man-page-from-arguments (args) | 1446 | (defun Man-page-from-arguments (args) |
| @@ -1429,7 +1484,7 @@ The following man commands are available in the buffer. Try | |||
| 1429 | The following variables may be of some use. Try | 1484 | The following variables may be of some use. Try |
| 1430 | \"\\[describe-variable] <variable-name> RET\" for more information: | 1485 | \"\\[describe-variable] <variable-name> RET\" for more information: |
| 1431 | 1486 | ||
| 1432 | `Man-notify-method' What happens when manpage formatting is done. | 1487 | `Man-notify-method' What happens when manpage is ready to display. |
| 1433 | `Man-downcase-section-letters-flag' Force section letters to lower case. | 1488 | `Man-downcase-section-letters-flag' Force section letters to lower case. |
| 1434 | `Man-circular-pages-flag' Treat multiple manpage list as circular. | 1489 | `Man-circular-pages-flag' Treat multiple manpage list as circular. |
| 1435 | `Man-section-translations-alist' List of section numbers and their Un*x equiv. | 1490 | `Man-section-translations-alist' List of section numbers and their Un*x equiv. |
| @@ -1458,11 +1513,7 @@ The following key bindings are currently in effect in the buffer: | |||
| 1458 | (set (make-local-variable 'outline-regexp) Man-heading-regexp) | 1513 | (set (make-local-variable 'outline-regexp) Man-heading-regexp) |
| 1459 | (set (make-local-variable 'outline-level) (lambda () 1)) | 1514 | (set (make-local-variable 'outline-level) (lambda () 1)) |
| 1460 | (set (make-local-variable 'bookmark-make-record-function) | 1515 | (set (make-local-variable 'bookmark-make-record-function) |
| 1461 | 'Man-bookmark-make-record) | 1516 | 'Man-bookmark-make-record)) |
| 1462 | (Man-build-page-list) | ||
| 1463 | (Man-strip-page-headers) | ||
| 1464 | (Man-unindent) | ||
| 1465 | (Man-goto-page 1 t)) | ||
| 1466 | 1517 | ||
| 1467 | (defsubst Man-build-section-alist () | 1518 | (defsubst Man-build-section-alist () |
| 1468 | "Build the list of manpage sections." | 1519 | "Build the list of manpage sections." |
| @@ -1516,7 +1567,6 @@ The following key bindings are currently in effect in the buffer: | |||
| 1516 | (page-end (point-max)) | 1567 | (page-end (point-max)) |
| 1517 | (header "")) | 1568 | (header "")) |
| 1518 | (goto-char page-start) | 1569 | (goto-char page-start) |
| 1519 | ;; (switch-to-buffer (current-buffer))(debug) | ||
| 1520 | (while (not (eobp)) | 1570 | (while (not (eobp)) |
| 1521 | (setq header | 1571 | (setq header |
| 1522 | (if (looking-at Man-page-header-regexp) | 1572 | (if (looking-at Man-page-header-regexp) |
diff --git a/lisp/mouse.el b/lisp/mouse.el index 7beea8e26e6..d3bcf02f217 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -1079,7 +1079,7 @@ regardless of where you click." | |||
| 1079 | (unless primary | 1079 | (unless primary |
| 1080 | (error "No selection is available")) | 1080 | (error "No selection is available")) |
| 1081 | (push-mark (point)) | 1081 | (push-mark (point)) |
| 1082 | (insert primary))) | 1082 | (insert-for-yank primary))) |
| 1083 | 1083 | ||
| 1084 | (defun mouse-kill-ring-save (click) | 1084 | (defun mouse-kill-ring-save (click) |
| 1085 | "Copy the region between point and the mouse click in the kill ring. | 1085 | "Copy the region between point and the mouse click in the kill ring. |
| @@ -1361,7 +1361,7 @@ regardless of where you click." | |||
| 1361 | (or mouse-yank-at-point (mouse-set-point click)) | 1361 | (or mouse-yank-at-point (mouse-set-point click)) |
| 1362 | (let ((secondary (x-get-selection 'SECONDARY))) | 1362 | (let ((secondary (x-get-selection 'SECONDARY))) |
| 1363 | (if secondary | 1363 | (if secondary |
| 1364 | (insert secondary) | 1364 | (insert-for-yank secondary) |
| 1365 | (error "No secondary selection")))) | 1365 | (error "No secondary selection")))) |
| 1366 | 1366 | ||
| 1367 | (defun mouse-kill-secondary () | 1367 | (defun mouse-kill-secondary () |
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index 66170dafef8..582f54faf4e 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el | |||
| @@ -544,6 +544,10 @@ placed in the queue. | |||
| 544 | 544 | ||
| 545 | `:already-owner': Service is already the primary owner." | 545 | `:already-owner': Service is already the primary owner." |
| 546 | 546 | ||
| 547 | ;; Add Peer handler. | ||
| 548 | (dbus-register-method | ||
| 549 | bus service nil dbus-interface-peer "Ping" 'dbus-peer-handler 'dont-register) | ||
| 550 | |||
| 547 | ;; Add ObjectManager handler. | 551 | ;; Add ObjectManager handler. |
| 548 | (dbus-register-method | 552 | (dbus-register-method |
| 549 | bus service nil dbus-interface-objectmanager "GetManagedObjects" | 553 | bus service nil dbus-interface-objectmanager "GetManagedObjects" |
| @@ -1151,6 +1155,22 @@ apply | |||
| 1151 | bus service dbus-path-dbus dbus-interface-peer "Ping"))) | 1155 | bus service dbus-path-dbus dbus-interface-peer "Ping"))) |
| 1152 | (dbus-error nil))) | 1156 | (dbus-error nil))) |
| 1153 | 1157 | ||
| 1158 | (defun dbus-peer-handler () | ||
| 1159 | "Default handler for the \"org.freedesktop.DBus.Peer\" interface. | ||
| 1160 | It will be registered for all objects created by `dbus-register-service'." | ||
| 1161 | (let* ((last-input-event last-input-event) | ||
| 1162 | (method (dbus-event-member-name last-input-event))) | ||
| 1163 | (cond | ||
| 1164 | ;; "Ping" does not return an output parameter. | ||
| 1165 | ((string-equal method "Ping") | ||
| 1166 | :ignore) | ||
| 1167 | ;; "GetMachineId" returns "s". | ||
| 1168 | ((string-equal method "GetMachineId") | ||
| 1169 | (signal | ||
| 1170 | 'dbus-error | ||
| 1171 | (list | ||
| 1172 | (format "%s.GetMachineId not implemented" dbus-interface-peer))))))) | ||
| 1173 | |||
| 1154 | 1174 | ||
| 1155 | ;;; D-Bus introspection. | 1175 | ;;; D-Bus introspection. |
| 1156 | 1176 | ||
| @@ -1672,7 +1692,7 @@ and \"org.freedesktop.DBus.Properties.GetAll\", which is slow." | |||
| 1672 | 1692 | ||
| 1673 | (defun dbus-managed-objects-handler () | 1693 | (defun dbus-managed-objects-handler () |
| 1674 | "Default handler for the \"org.freedesktop.DBus.ObjectManager\" interface. | 1694 | "Default handler for the \"org.freedesktop.DBus.ObjectManager\" interface. |
| 1675 | It will be registered for all objects created by `dbus-register-method'." | 1695 | It will be registered for all objects created by `dbus-register-service'." |
| 1676 | (let* ((last-input-event last-input-event) | 1696 | (let* ((last-input-event last-input-event) |
| 1677 | (bus (dbus-event-bus-name last-input-event)) | 1697 | (bus (dbus-event-bus-name last-input-event)) |
| 1678 | (path (dbus-event-path-name last-input-event))) | 1698 | (path (dbus-event-path-name last-input-event))) |
diff --git a/lisp/net/gnutls.el b/lisp/net/gnutls.el index ea4c0351be7..0c650f38d95 100644 --- a/lisp/net/gnutls.el +++ b/lisp/net/gnutls.el | |||
| @@ -214,7 +214,7 @@ defaults to GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT." | |||
| 214 | (cl-mapcan | 214 | (cl-mapcan |
| 215 | (lambda (check) | 215 | (lambda (check) |
| 216 | (when (string-match (car check) hostname) | 216 | (when (string-match (car check) hostname) |
| 217 | (cdr check))) | 217 | (copy-sequence (cdr check)))) |
| 218 | gnutls-verify-error)) | 218 | gnutls-verify-error)) |
| 219 | ;; else it's nil | 219 | ;; else it's nil |
| 220 | (t nil)))) | 220 | (t nil)))) |
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el index 4f6d5807ba5..16017eebba3 100644 --- a/lisp/net/tramp-adb.el +++ b/lisp/net/tramp-adb.el | |||
| @@ -458,9 +458,7 @@ Emacs dired can't find files." | |||
| 458 | (insert " " (mapconcat 'identity sorted-lines "\n "))) | 458 | (insert " " (mapconcat 'identity sorted-lines "\n "))) |
| 459 | ;; Add final newline. | 459 | ;; Add final newline. |
| 460 | (goto-char (point-max)) | 460 | (goto-char (point-max)) |
| 461 | (unless (= (point) (line-beginning-position)) | 461 | (unless (bolp) (insert "\n")))) |
| 462 | (insert "\n")))) | ||
| 463 | |||
| 464 | 462 | ||
| 465 | (defun tramp-adb-ls-output-time-less-p (a b) | 463 | (defun tramp-adb-ls-output-time-less-p (a b) |
| 466 | "Sort \"ls\" output by time, descending." | 464 | "Sort \"ls\" output by time, descending." |
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 68f1ef472f1..315bc08d0ef 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el | |||
| @@ -1265,8 +1265,7 @@ target of the symlink differ." | |||
| 1265 | (format "%s -ild %s" | 1265 | (format "%s -ild %s" |
| 1266 | (tramp-get-ls-command v) | 1266 | (tramp-get-ls-command v) |
| 1267 | (tramp-shell-quote-argument localname))) | 1267 | (tramp-shell-quote-argument localname))) |
| 1268 | (setq attr (buffer-substring (point) | 1268 | (setq attr (buffer-substring (point) (point-at-eol)))) |
| 1269 | (progn (end-of-line) (point))))) | ||
| 1270 | (tramp-set-file-property | 1269 | (tramp-set-file-property |
| 1271 | v localname "visited-file-modtime-ild" attr)) | 1270 | v localname "visited-file-modtime-ild" attr)) |
| 1272 | (when (boundp 'last-coding-system-used) | 1271 | (when (boundp 'last-coding-system-used) |
| @@ -1317,8 +1316,7 @@ of." | |||
| 1317 | (tramp-get-ls-command v) | 1316 | (tramp-get-ls-command v) |
| 1318 | (tramp-shell-quote-argument localname))) | 1317 | (tramp-shell-quote-argument localname))) |
| 1319 | (with-current-buffer (tramp-get-buffer v) | 1318 | (with-current-buffer (tramp-get-buffer v) |
| 1320 | (setq attr (buffer-substring | 1319 | (setq attr (buffer-substring (point) (point-at-eol)))) |
| 1321 | (point) (progn (end-of-line) (point))))) | ||
| 1322 | (equal | 1320 | (equal |
| 1323 | attr | 1321 | attr |
| 1324 | (tramp-get-file-property | 1322 | (tramp-get-file-property |
| @@ -3964,15 +3962,16 @@ process to set up. VEC specifies the connection." | |||
| 3964 | ;; Try to set up the coding system correctly. | 3962 | ;; Try to set up the coding system correctly. |
| 3965 | ;; CCC this can't be the right way to do it. Hm. | 3963 | ;; CCC this can't be the right way to do it. Hm. |
| 3966 | (tramp-message vec 5 "Determining coding system") | 3964 | (tramp-message vec 5 "Determining coding system") |
| 3967 | (tramp-send-command vec "echo foo ; echo bar" t) | ||
| 3968 | (with-current-buffer (process-buffer proc) | 3965 | (with-current-buffer (process-buffer proc) |
| 3969 | (goto-char (point-min)) | ||
| 3970 | (if (featurep 'mule) | 3966 | (if (featurep 'mule) |
| 3971 | ;; Use MULE to select the right EOL convention for communicating | 3967 | ;; Use MULE to select the right EOL convention for communicating |
| 3972 | ;; with the process. | 3968 | ;; with the process. |
| 3973 | (let* ((cs (or (tramp-compat-funcall 'process-coding-system proc) | 3969 | (let ((cs (or (when (string-match |
| 3974 | (cons 'undecided 'undecided))) | 3970 | "utf8" (or (tramp-get-remote-locale vec) "")) |
| 3975 | cs-decode cs-encode) | 3971 | (cons 'utf-8 'utf-8)) |
| 3972 | (tramp-compat-funcall 'process-coding-system proc) | ||
| 3973 | (cons 'undecided 'undecided))) | ||
| 3974 | cs-decode cs-encode) | ||
| 3976 | (when (symbolp cs) (setq cs (cons cs cs))) | 3975 | (when (symbolp cs) (setq cs (cons cs cs))) |
| 3977 | (setq cs-decode (car cs)) | 3976 | (setq cs-decode (car cs)) |
| 3978 | (setq cs-encode (cdr cs)) | 3977 | (setq cs-encode (cdr cs)) |
| @@ -3980,6 +3979,8 @@ process to set up. VEC specifies the connection." | |||
| 3980 | (unless cs-encode (setq cs-encode 'undecided)) | 3979 | (unless cs-encode (setq cs-encode 'undecided)) |
| 3981 | (setq cs-encode (tramp-compat-coding-system-change-eol-conversion | 3980 | (setq cs-encode (tramp-compat-coding-system-change-eol-conversion |
| 3982 | cs-encode 'unix)) | 3981 | cs-encode 'unix)) |
| 3982 | (tramp-send-command vec "echo foo ; echo bar" t) | ||
| 3983 | (goto-char (point-min)) | ||
| 3983 | (when (search-forward "\r" nil t) | 3984 | (when (search-forward "\r" nil t) |
| 3984 | (setq cs-decode (tramp-compat-coding-system-change-eol-conversion | 3985 | (setq cs-decode (tramp-compat-coding-system-change-eol-conversion |
| 3985 | cs-decode 'dos))) | 3986 | cs-decode 'dos))) |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 6be737eb3f0..921c70135df 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -4127,10 +4127,9 @@ ALIST is of the form ((FROM . TO) ...)." | |||
| 4127 | (defun tramp-call-process | 4127 | (defun tramp-call-process |
| 4128 | (vec program &optional infile destination display &rest args) | 4128 | (vec program &optional infile destination display &rest args) |
| 4129 | "Calls `call-process' on the local host. | 4129 | "Calls `call-process' on the local host. |
| 4130 | This is needed because for some Emacs flavors Tramp has | 4130 | It always returns a return code. The Lisp error raised when |
| 4131 | defadvised `call-process' to behave like `process-file'. The | 4131 | PROGRAM is nil is trapped also, returning 1. Furthermore, traces |
| 4132 | Lisp error raised when PROGRAM is nil is trapped also, returning 1. | 4132 | are written with verbosity of 6." |
| 4133 | Furthermore, traces are written with verbosity of 6." | ||
| 4134 | (let ((v (or vec | 4133 | (let ((v (or vec |
| 4135 | (vector tramp-current-method tramp-current-user | 4134 | (vector tramp-current-method tramp-current-user |
| 4136 | tramp-current-host nil nil))) | 4135 | tramp-current-host nil nil))) |
| @@ -4144,6 +4143,9 @@ Furthermore, traces are written with verbosity of 6." | |||
| 4144 | (setq result | 4143 | (setq result |
| 4145 | (apply | 4144 | (apply |
| 4146 | 'call-process program infile (or destination t) display args)) | 4145 | 'call-process program infile (or destination t) display args)) |
| 4146 | ;; `result' could also be an error string. | ||
| 4147 | (when (stringp result) | ||
| 4148 | (signal 'file-error (list result))) | ||
| 4147 | (with-current-buffer | 4149 | (with-current-buffer |
| 4148 | (if (bufferp destination) destination (current-buffer)) | 4150 | (if (bufferp destination) destination (current-buffer)) |
| 4149 | (tramp-message v 6 "%d\n%s" result (buffer-string)))) | 4151 | (tramp-message v 6 "%d\n%s" result (buffer-string)))) |
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el index 9c0beb114bc..065c3f33ebe 100644 --- a/lisp/net/trampver.el +++ b/lisp/net/trampver.el | |||
| @@ -24,14 +24,14 @@ | |||
| 24 | 24 | ||
| 25 | ;;; Code: | 25 | ;;; Code: |
| 26 | 26 | ||
| 27 | ;; In the Tramp CVS repository, the version number and the bug report | 27 | ;; In the Tramp GIT repository, the version number and the bug report |
| 28 | ;; address are auto-frobbed from configure.ac, so you should edit that | 28 | ;; address are auto-frobbed from configure.ac, so you should edit that |
| 29 | ;; file and run "autoconf && ./configure" to change them. (X)Emacs | 29 | ;; file and run "autoconf && ./configure" to change them. (X)Emacs |
| 30 | ;; version check is defined in macro AC_EMACS_INFO of aclocal.m4; | 30 | ;; version check is defined in macro AC_EMACS_INFO of aclocal.m4; |
| 31 | ;; should be changed only there. | 31 | ;; should be changed only there. |
| 32 | 32 | ||
| 33 | ;;;###tramp-autoload | 33 | ;;;###tramp-autoload |
| 34 | (defconst tramp-version "2.2.10" | 34 | (defconst tramp-version "2.2.11-pre" |
| 35 | "This version of Tramp.") | 35 | "This version of Tramp.") |
| 36 | 36 | ||
| 37 | ;;;###tramp-autoload | 37 | ;;;###tramp-autoload |
| @@ -44,7 +44,7 @@ | |||
| 44 | (= emacs-major-version 21) | 44 | (= emacs-major-version 21) |
| 45 | (>= emacs-minor-version 4))) | 45 | (>= emacs-minor-version 4))) |
| 46 | "ok" | 46 | "ok" |
| 47 | (format "Tramp 2.2.10 is not fit for %s" | 47 | (format "Tramp 2.2.11-pre is not fit for %s" |
| 48 | (when (string-match "^.*$" (emacs-version)) | 48 | (when (string-match "^.*$" (emacs-version)) |
| 49 | (match-string 0 (emacs-version))))))) | 49 | (match-string 0 (emacs-version))))))) |
| 50 | (unless (string-match "\\`ok\\'" x) (error "%s" x))) | 50 | (unless (string-match "\\`ok\\'" x) (error "%s" x))) |
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index 6431fa4aaf2..c7f018f5f15 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el | |||
| @@ -71,8 +71,8 @@ | |||
| 71 | ;; For example: | 71 | ;; For example: |
| 72 | ;; (add-to-list 'auto-mode-alist '("\\.f\\'" . f90-mode)) | 72 | ;; (add-to-list 'auto-mode-alist '("\\.f\\'" . f90-mode)) |
| 73 | 73 | ||
| 74 | ;; Once you have entered f90-mode, you may get more info by using | 74 | ;; Once you have entered f90-mode, you can get more info by using |
| 75 | ;; the command describe-mode (C-h m). For online help use | 75 | ;; the command describe-mode (C-h m). For help use |
| 76 | ;; C-h f <Name of function you want described>, or | 76 | ;; C-h f <Name of function you want described>, or |
| 77 | ;; C-h v <Name of variable you want described>. | 77 | ;; C-h v <Name of variable you want described>. |
| 78 | 78 | ||
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el index 6585668b927..f6562f32e94 100644 --- a/lisp/progmodes/hideif.el +++ b/lisp/progmodes/hideif.el | |||
| @@ -138,7 +138,8 @@ | |||
| 138 | 138 | ||
| 139 | (defcustom hide-ifdef-exclude-define-regexp nil | 139 | (defcustom hide-ifdef-exclude-define-regexp nil |
| 140 | "Ignore #define names if those names match this exclusion pattern." | 140 | "Ignore #define names if those names match this exclusion pattern." |
| 141 | :type 'string) | 141 | :type 'string |
| 142 | :version "24.5") | ||
| 142 | 143 | ||
| 143 | (defvar hide-ifdef-mode-submap | 144 | (defvar hide-ifdef-mode-submap |
| 144 | ;; Set up the submap that goes after the prefix key. | 145 | ;; Set up the submap that goes after the prefix key. |
diff --git a/lisp/progmodes/idlw-complete-structtag.el b/lisp/progmodes/idlw-complete-structtag.el index 39951730ab3..6cb04a03b7e 100644 --- a/lisp/progmodes/idlw-complete-structtag.el +++ b/lisp/progmodes/idlw-complete-structtag.el | |||
| @@ -49,14 +49,14 @@ | |||
| 49 | ;; | 49 | ;; |
| 50 | ;; New versions of IDLWAVE, documentation, and more information available | 50 | ;; New versions of IDLWAVE, documentation, and more information available |
| 51 | ;; from: | 51 | ;; from: |
| 52 | ;; http://idlwave.org | 52 | ;; http://github.com/jdtsmith/idlwave |
| 53 | ;; | 53 | ;; |
| 54 | ;; INSTALLATION | 54 | ;; INSTALLATION |
| 55 | ;; ============ | 55 | ;; ============ |
| 56 | ;; Put this file on the emacs load path and load it with the following | 56 | ;; Put this file on the emacs load path and load it with the following |
| 57 | ;; line in your init file: | 57 | ;; line in your init file: |
| 58 | ;; | 58 | ;; |
| 59 | ;; (add-hook 'idlwave-load-hook | 59 | ;; (add-hook 'idlwave-load-hook |
| 60 | ;; (lambda () (require 'idlw-complete-structtag))) | 60 | ;; (lambda () (require 'idlw-complete-structtag))) |
| 61 | ;; | 61 | ;; |
| 62 | ;; DESCRIPTION | 62 | ;; DESCRIPTION |
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el index b9c41c9d699..3d42fe231bd 100644 --- a/lisp/progmodes/idlw-help.el +++ b/lisp/progmodes/idlw-help.el | |||
| @@ -32,7 +32,7 @@ | |||
| 32 | ;; along with new versions of IDLWAVE, documentation, and more | 32 | ;; along with new versions of IDLWAVE, documentation, and more |
| 33 | ;; information, at: | 33 | ;; information, at: |
| 34 | ;; | 34 | ;; |
| 35 | ;; http://idlwave.org | 35 | ;; http://github.com/jdtsmith/idlwave |
| 36 | ;; | 36 | ;; |
| 37 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 37 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 38 | 38 | ||
diff --git a/lisp/progmodes/idlw-shell.el b/lisp/progmodes/idlw-shell.el index a0683d1c409..876695b0809 100644 --- a/lisp/progmodes/idlw-shell.el +++ b/lisp/progmodes/idlw-shell.el | |||
| @@ -40,7 +40,7 @@ | |||
| 40 | ;; | 40 | ;; |
| 41 | ;; New versions of IDLWAVE, documentation, and more information | 41 | ;; New versions of IDLWAVE, documentation, and more information |
| 42 | ;; available from: | 42 | ;; available from: |
| 43 | ;; http://idlwave.org | 43 | ;; http://github.com/jdtsmith/idlwave |
| 44 | ;; | 44 | ;; |
| 45 | ;; INSTALLATION: | 45 | ;; INSTALLATION: |
| 46 | ;; ============= | 46 | ;; ============= |
| @@ -58,7 +58,7 @@ | |||
| 58 | ;; The newest version of this file can be found on the maintainers | 58 | ;; The newest version of this file can be found on the maintainers |
| 59 | ;; web site. | 59 | ;; web site. |
| 60 | ;; | 60 | ;; |
| 61 | ;; http://idlwave.org | 61 | ;; http://github.com/jdtsmith/idlwave |
| 62 | ;; | 62 | ;; |
| 63 | ;; DOCUMENTATION | 63 | ;; DOCUMENTATION |
| 64 | ;; ============= | 64 | ;; ============= |
| @@ -923,7 +923,7 @@ IDL has currently stepped.") | |||
| 923 | Info documentation for this package is available. Use \\[idlwave-info] | 923 | Info documentation for this package is available. Use \\[idlwave-info] |
| 924 | to display (complain to your sysadmin if that does not work). | 924 | to display (complain to your sysadmin if that does not work). |
| 925 | For PostScript and HTML versions of the documentation, check IDLWAVE's | 925 | For PostScript and HTML versions of the documentation, check IDLWAVE's |
| 926 | homepage at URL `http://idlwave.org'. | 926 | homepage at URL `http://github.com/jdtsmith/idlwave'. |
| 927 | IDLWAVE has customize support - see the group `idlwave'. | 927 | IDLWAVE has customize support - see the group `idlwave'. |
| 928 | 928 | ||
| 929 | 8. Keybindings | 929 | 8. Keybindings |
diff --git a/lisp/progmodes/idlw-toolbar.el b/lisp/progmodes/idlw-toolbar.el index 7844890c22a..45672be7d97 100644 --- a/lisp/progmodes/idlw-toolbar.el +++ b/lisp/progmodes/idlw-toolbar.el | |||
| @@ -29,7 +29,7 @@ | |||
| 29 | 29 | ||
| 30 | ;; New versions of IDLWAVE, documentation, and more information | 30 | ;; New versions of IDLWAVE, documentation, and more information |
| 31 | ;; available from: | 31 | ;; available from: |
| 32 | ;; http://idlwave.org | 32 | ;; http://github.com/jdtsmith/idlwave |
| 33 | 33 | ||
| 34 | 34 | ||
| 35 | ;;; Code: | 35 | ;;; Code: |
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index 86a16036e10..e66c9655df1 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el | |||
| @@ -44,7 +44,7 @@ | |||
| 44 | ;; | 44 | ;; |
| 45 | ;; New versions of IDLWAVE, documentation, and more information | 45 | ;; New versions of IDLWAVE, documentation, and more information |
| 46 | ;; available from: | 46 | ;; available from: |
| 47 | ;; http://idlwave.org | 47 | ;; http://github.com/jdtsmith/idlwave |
| 48 | ;; | 48 | ;; |
| 49 | ;; INSTALLATION | 49 | ;; INSTALLATION |
| 50 | ;; ============ | 50 | ;; ============ |
| @@ -64,7 +64,7 @@ | |||
| 64 | ;; The newest version of this file is available from the maintainer's | 64 | ;; The newest version of this file is available from the maintainer's |
| 65 | ;; Webpage: | 65 | ;; Webpage: |
| 66 | ;; | 66 | ;; |
| 67 | ;; http://idlwave.org | 67 | ;; http://github.com/jdtsmith/idlwave |
| 68 | ;; | 68 | ;; |
| 69 | ;; DOCUMENTATION | 69 | ;; DOCUMENTATION |
| 70 | ;; ============= | 70 | ;; ============= |
| @@ -179,7 +179,7 @@ | |||
| 179 | "Major mode for editing IDL .pro files." | 179 | "Major mode for editing IDL .pro files." |
| 180 | :tag "IDLWAVE" | 180 | :tag "IDLWAVE" |
| 181 | :link '(url-link :tag "Home Page" | 181 | :link '(url-link :tag "Home Page" |
| 182 | "http://idlwave.org") | 182 | "http://github.com/jdtsmith/idlwave") |
| 183 | :link '(emacs-commentary-link :tag "Commentary in idlw-shell.el" | 183 | :link '(emacs-commentary-link :tag "Commentary in idlw-shell.el" |
| 184 | "idlw-shell.el") | 184 | "idlw-shell.el") |
| 185 | :link '(emacs-commentary-link :tag "Commentary in idlwave.el" "idlwave.el") | 185 | :link '(emacs-commentary-link :tag "Commentary in idlwave.el" "idlwave.el") |
| @@ -1878,7 +1878,8 @@ The main features of this mode are | |||
| 1878 | Info documentation for this package is available. Use | 1878 | Info documentation for this package is available. Use |
| 1879 | \\[idlwave-info] to display (complain to your sysadmin if that does | 1879 | \\[idlwave-info] to display (complain to your sysadmin if that does |
| 1880 | not work). For Postscript, PDF, and HTML versions of the | 1880 | not work). For Postscript, PDF, and HTML versions of the |
| 1881 | documentation, check IDLWAVE's homepage at URL `http://idlwave.org'. | 1881 | documentation, check IDLWAVE's homepage at URL |
| 1882 | `http://github.com/jdtsmith/idlwave'. | ||
| 1882 | IDLWAVE has customize support - see the group `idlwave'. | 1883 | IDLWAVE has customize support - see the group `idlwave'. |
| 1883 | 1884 | ||
| 1884 | 10.Keybindings | 1885 | 10.Keybindings |
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index cedc2986eda..f32d4641af0 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el | |||
| @@ -26,8 +26,8 @@ | |||
| 26 | ;; ===== | 26 | ;; ===== |
| 27 | 27 | ||
| 28 | ;; Emacs should enter Pascal mode when you find a Pascal source file. | 28 | ;; Emacs should enter Pascal mode when you find a Pascal source file. |
| 29 | ;; When you have entered Pascal mode, you may get more info by pressing | 29 | ;; When you have entered Pascal mode, you can get more info by pressing |
| 30 | ;; C-h m. You may also get online help describing various functions by: | 30 | ;; C-h m. You can also get help describing various functions by: |
| 31 | ;; C-h f <Name of function you want described> | 31 | ;; C-h f <Name of function you want described> |
| 32 | 32 | ||
| 33 | ;; If you want to customize Pascal mode to fit you better, you may add | 33 | ;; If you want to customize Pascal mode to fit you better, you may add |
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 743981b3714..065a182904f 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el | |||
| @@ -1096,16 +1096,28 @@ the line will be re-indented automatically if needed." | |||
| 1096 | (when (and electric-indent-mode | 1096 | (when (and electric-indent-mode |
| 1097 | (eq (char-before) last-command-event)) | 1097 | (eq (char-before) last-command-event)) |
| 1098 | (cond | 1098 | (cond |
| 1099 | ((and (not (bolp)) | 1099 | ;; Electric indent inside parens |
| 1100 | (memq (char-after) '(?\) ?\] ?\}))) | 1100 | ((and |
| 1101 | (not (bolp)) | ||
| 1102 | (let ((paren-start (python-syntax-context 'paren))) | ||
| 1103 | ;; Check that point is inside parens. | ||
| 1104 | (when paren-start | ||
| 1105 | (not | ||
| 1106 | ;; Filter the case where input is happening in the same | ||
| 1107 | ;; line where the open paren is. | ||
| 1108 | (= (line-number-at-pos) | ||
| 1109 | (line-number-at-pos paren-start))))) | ||
| 1110 | ;; When content has been added before the closing paren or a | ||
| 1111 | ;; comma has been inserted, it's ok to do the trick. | ||
| 1112 | (or | ||
| 1113 | (memq (char-after) '(?\) ?\] ?\})) | ||
| 1114 | (eq (char-before) ?,))) | ||
| 1101 | (save-excursion | 1115 | (save-excursion |
| 1102 | (goto-char (line-beginning-position)) | 1116 | (goto-char (line-beginning-position)) |
| 1103 | ;; If after going to the beginning of line the point | 1117 | (let ((indentation (python-indent-calculate-indentation))) |
| 1104 | ;; is still inside a paren it's ok to do the trick | 1118 | (when (< (current-indentation) indentation) |
| 1105 | (when (python-syntax-context 'paren) | 1119 | (indent-line-to indentation))))) |
| 1106 | (let ((indentation (python-indent-calculate-indentation))) | 1120 | ;; Electric colon |
| 1107 | (when (< (current-indentation) indentation) | ||
| 1108 | (indent-line-to indentation)))))) | ||
| 1109 | ((and (eq ?: last-command-event) | 1121 | ((and (eq ?: last-command-event) |
| 1110 | (memq ?: electric-indent-chars) | 1122 | (memq ?: electric-indent-chars) |
| 1111 | (not current-prefix-arg) | 1123 | (not current-prefix-arg) |
diff --git a/lisp/ps-def.el b/lisp/ps-def.el index 92a2e0b38cd..db0694549e1 100644 --- a/lisp/ps-def.el +++ b/lisp/ps-def.el | |||
| @@ -325,8 +325,6 @@ | |||
| 325 | ;; Emacs | 325 | ;; Emacs |
| 326 | (property-change from) | 326 | (property-change from) |
| 327 | (overlay-change from) | 327 | (overlay-change from) |
| 328 | (save-buffer-invisibility-spec buffer-invisibility-spec) | ||
| 329 | (buffer-invisibility-spec nil) | ||
| 330 | before-string after-string) | 328 | before-string after-string) |
| 331 | (while (< from to) | 329 | (while (< from to) |
| 332 | (and (< property-change to) ; Don't search for property change | 330 | (and (< property-change to) ; Don't search for property change |
diff --git a/lisp/rect.el b/lisp/rect.el index ac861a0824b..a2f8e4f6371 100644 --- a/lisp/rect.el +++ b/lisp/rect.el | |||
| @@ -719,7 +719,7 @@ Ignores `line-move-visual'." | |||
| 719 | ((not rectangle-mark-mode) | 719 | ((not rectangle-mark-mode) |
| 720 | (funcall orig start end window rol)) | 720 | (funcall orig start end window rol)) |
| 721 | (rectangle--inhibit-region-highlight | 721 | (rectangle--inhibit-region-highlight |
| 722 | (rectangle--unhighlight-for-redisplay orig rol) | 722 | (funcall redisplay-unhighlight-region-function rol) |
| 723 | nil) | 723 | nil) |
| 724 | ((and (eq 'rectangle (car-safe rol)) | 724 | ((and (eq 'rectangle (car-safe rol)) |
| 725 | (eq (nth 1 rol) (buffer-chars-modified-tick)) | 725 | (eq (nth 1 rol) (buffer-chars-modified-tick)) |
diff --git a/lisp/simple.el b/lisp/simple.el index a8689aaf2e3..6fd50197a10 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -4527,9 +4527,11 @@ run `deactivate-mark-hook'." | |||
| 4527 | (when mark-active (force-mode-line-update)) ;Refresh toolbar (bug#16382). | 4527 | (when mark-active (force-mode-line-update)) ;Refresh toolbar (bug#16382). |
| 4528 | (cond | 4528 | (cond |
| 4529 | ((eq (car-safe transient-mark-mode) 'only) | 4529 | ((eq (car-safe transient-mark-mode) 'only) |
| 4530 | (setq transient-mark-mode (cdr transient-mark-mode))) | 4530 | (setq transient-mark-mode (cdr transient-mark-mode)) |
| 4531 | (if (eq transient-mark-mode (default-value 'transient-mark-mode)) | ||
| 4532 | (kill-local-variable 'transient-mark-mode))) | ||
| 4531 | ((eq transient-mark-mode 'lambda) | 4533 | ((eq transient-mark-mode 'lambda) |
| 4532 | (setq transient-mark-mode nil))) | 4534 | (kill-local-variable 'transient-mark-mode))) |
| 4533 | (setq mark-active nil) | 4535 | (setq mark-active nil) |
| 4534 | (run-hooks 'deactivate-mark-hook) | 4536 | (run-hooks 'deactivate-mark-hook) |
| 4535 | (redisplay--update-region-highlight (selected-window)))) | 4537 | (redisplay--update-region-highlight (selected-window)))) |
| @@ -4756,7 +4758,7 @@ Novice Emacs Lisp programmers often try to use the mark for the wrong | |||
| 4756 | purposes. See the documentation of `set-mark' for more information." | 4758 | purposes. See the documentation of `set-mark' for more information." |
| 4757 | (interactive "P") | 4759 | (interactive "P") |
| 4758 | (cond ((eq transient-mark-mode 'lambda) | 4760 | (cond ((eq transient-mark-mode 'lambda) |
| 4759 | (setq transient-mark-mode nil)) | 4761 | (kill-local-variable 'transient-mark-mode)) |
| 4760 | ((eq (car-safe transient-mark-mode) 'only) | 4762 | ((eq (car-safe transient-mark-mode) 'only) |
| 4761 | (deactivate-mark))) | 4763 | (deactivate-mark))) |
| 4762 | (cond | 4764 | (cond |
| @@ -4894,6 +4896,8 @@ its earlier value." | |||
| 4894 | (push-mark nil nil t))) | 4896 | (push-mark nil nil t))) |
| 4895 | ((eq (car-safe transient-mark-mode) 'only) | 4897 | ((eq (car-safe transient-mark-mode) 'only) |
| 4896 | (setq transient-mark-mode (cdr transient-mark-mode)) | 4898 | (setq transient-mark-mode (cdr transient-mark-mode)) |
| 4899 | (if (eq transient-mark-mode (default-value 'transient-mark-mode)) | ||
| 4900 | (kill-local-variable 'transient-mark-mode)) | ||
| 4897 | (deactivate-mark)))) | 4901 | (deactivate-mark)))) |
| 4898 | 4902 | ||
| 4899 | (define-minor-mode transient-mark-mode | 4903 | (define-minor-mode transient-mark-mode |
diff --git a/lisp/vc/ediff-mult.el b/lisp/vc/ediff-mult.el index 9837c20b84d..56ff13fbbb6 100644 --- a/lisp/vc/ediff-mult.el +++ b/lisp/vc/ediff-mult.el | |||
| @@ -140,7 +140,7 @@ Useful commands (type ? to hide them and free up screen): | |||
| 140 | uh/um:\tunmark all sessions marked for hiding/operation | 140 | uh/um:\tunmark all sessions marked for hiding/operation |
| 141 | n,SPC:\tnext session | 141 | n,SPC:\tnext session |
| 142 | p,DEL:\tprevious session | 142 | p,DEL:\tprevious session |
| 143 | E:\tbrowse Ediff on-line manual | 143 | E:\tbrowse Ediff manual |
| 144 | T:\ttoggle truncation of long file names | 144 | T:\ttoggle truncation of long file names |
| 145 | q:\tquit this session group | 145 | q:\tquit this session group |
| 146 | ") | 146 | ") |
| @@ -1464,7 +1464,7 @@ Useful commands: | |||
| 1464 | R in any Ediff session: display session registry | 1464 | R in any Ediff session: display session registry |
| 1465 | n,SPC: next session | 1465 | n,SPC: next session |
| 1466 | p,DEL: previous session | 1466 | p,DEL: previous session |
| 1467 | E: browse Ediff on-line manual | 1467 | E: browse Ediff manual |
| 1468 | q: bury registry | 1468 | q: bury registry |
| 1469 | 1469 | ||
| 1470 | 1470 | ||
diff --git a/lisp/vc/ediff-ptch.el b/lisp/vc/ediff-ptch.el index d1332351a74..bb6ab1062c1 100644 --- a/lisp/vc/ediff-ptch.el +++ b/lisp/vc/ediff-ptch.el | |||
| @@ -735,7 +735,7 @@ The second problem might be due to an incompatibility among these settings: | |||
| 735 | ediff-patch-program = %S ediff-patch-options = %S | 735 | ediff-patch-program = %S ediff-patch-options = %S |
| 736 | ediff-backup-extension = %S ediff-backup-specs = %S | 736 | ediff-backup-extension = %S ediff-backup-specs = %S |
| 737 | 737 | ||
| 738 | See Ediff on-line manual for more details on these variables. | 738 | See Ediff manual for more details on these variables. |
| 739 | In particular, check the documentation for `ediff-backup-specs'. | 739 | In particular, check the documentation for `ediff-backup-specs'. |
| 740 | 740 | ||
| 741 | In any of the above cases, Ediff doesn't compare files automatically. | 741 | In any of the above cases, Ediff doesn't compare files automatically. |
diff --git a/lisp/vc/ediff.el b/lisp/vc/ediff.el index 927a3ba7fb6..5418039143f 100644 --- a/lisp/vc/ediff.el +++ b/lisp/vc/ediff.el | |||
| @@ -64,7 +64,7 @@ | |||
| 64 | ;; compressed files. Details are given below. | 64 | ;; compressed files. Details are given below. |
| 65 | 65 | ||
| 66 | ;; Finally, Ediff supports directory-level comparison, merging and patching. | 66 | ;; Finally, Ediff supports directory-level comparison, merging and patching. |
| 67 | ;; See the on-line manual for details. | 67 | ;; See the Ediff manual for details. |
| 68 | 68 | ||
| 69 | ;; This package builds upon the ideas borrowed from emerge.el and several | 69 | ;; This package builds upon the ideas borrowed from emerge.el and several |
| 70 | ;; Ediff's functions are adaptations from emerge.el. Much of the functionality | 70 | ;; Ediff's functions are adaptations from emerge.el. Much of the functionality |
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index e6bd897f4ac..1d75411ec1f 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el | |||
| @@ -132,6 +132,8 @@ This applies when its SETUP argument is non-nil." | |||
| 132 | log-edit-insert-changelog | 132 | log-edit-insert-changelog |
| 133 | log-edit-show-files) | 133 | log-edit-show-files) |
| 134 | "Hook run at the end of `log-edit'." | 134 | "Hook run at the end of `log-edit'." |
| 135 | ;; Added log-edit-insert-message-template, moved log-edit-show-files. | ||
| 136 | :version "24.4" | ||
| 135 | :group 'log-edit | 137 | :group 'log-edit |
| 136 | :type '(hook :options (log-edit-insert-message-template | 138 | :type '(hook :options (log-edit-insert-message-template |
| 137 | log-edit-insert-cvs-rcstemplate | 139 | log-edit-insert-cvs-rcstemplate |
| @@ -355,9 +357,15 @@ The first subexpression is the actual text of the field.") | |||
| 355 | (set-match-data (list start (point))) | 357 | (set-match-data (list start (point))) |
| 356 | (point)))) | 358 | (point)))) |
| 357 | 359 | ||
| 360 | (defun log-edit-goto-eoh () ;FIXME: Almost rfc822-goto-eoh! | ||
| 361 | (goto-char (point-min)) | ||
| 362 | (when (re-search-forward | ||
| 363 | "^\\([^[:alpha:]]\\|[[:alnum:]-]+[^[:alnum:]-:]\\)" nil 'move) | ||
| 364 | (goto-char (match-beginning 0)))) | ||
| 365 | |||
| 358 | (defun log-edit--match-first-line (limit) | 366 | (defun log-edit--match-first-line (limit) |
| 359 | (let ((start (point))) | 367 | (let ((start (point))) |
| 360 | (rfc822-goto-eoh) | 368 | (log-edit-goto-eoh) |
| 361 | (skip-chars-forward "\n") | 369 | (skip-chars-forward "\n") |
| 362 | (and (< start (line-end-position)) | 370 | (and (< start (line-end-position)) |
| 363 | (< (point) limit) | 371 | (< (point) limit) |
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index c7cae8359bf..9c8ab3ba393 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el | |||
| @@ -674,7 +674,7 @@ It is based on `log-edit-mode', and has Git-specific extensions.") | |||
| 674 | (cl-flet ((boolean-arg-fn | 674 | (cl-flet ((boolean-arg-fn |
| 675 | (argument) | 675 | (argument) |
| 676 | (lambda (value) (when (equal value "yes") (list argument))))) | 676 | (lambda (value) (when (equal value "yes") (list argument))))) |
| 677 | ;; When operating on the whole tree, better pass nil than ".", since "." | 677 | ;; When operating on the whole tree, better pass "-a" than ".", since "." |
| 678 | ;; fails when we're committing a merge. | 678 | ;; fails when we're committing a merge. |
| 679 | (apply 'vc-git-command nil 0 (if only files) | 679 | (apply 'vc-git-command nil 0 (if only files) |
| 680 | (nconc (list "commit" "-m") | 680 | (nconc (list "commit" "-m") |
| @@ -684,7 +684,7 @@ It is based on `log-edit-mode', and has Git-specific extensions.") | |||
| 684 | ("Amend" . ,(boolean-arg-fn "--amend")) | 684 | ("Amend" . ,(boolean-arg-fn "--amend")) |
| 685 | ("Sign-Off" . ,(boolean-arg-fn "--signoff"))) | 685 | ("Sign-Off" . ,(boolean-arg-fn "--signoff"))) |
| 686 | comment) | 686 | comment) |
| 687 | (if only (list "--only" "--"))))))) | 687 | (if only (list "--only" "--") '("-a"))))))) |
| 688 | 688 | ||
| 689 | (defun vc-git-find-revision (file rev buffer) | 689 | (defun vc-git-find-revision (file rev buffer) |
| 690 | (let* (process-file-side-effects | 690 | (let* (process-file-side-effects |
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el index f9e89880dae..e5e77405b02 100644 --- a/lisp/xt-mouse.el +++ b/lisp/xt-mouse.el | |||
| @@ -312,7 +312,8 @@ terminals that support it.") | |||
| 312 | "Enable xterm mouse tracking on TERMINAL." | 312 | "Enable xterm mouse tracking on TERMINAL." |
| 313 | (when (and xterm-mouse-mode (eq t (terminal-live-p terminal)) | 313 | (when (and xterm-mouse-mode (eq t (terminal-live-p terminal)) |
| 314 | ;; Avoid the initial terminal which is not a termcap device. | 314 | ;; Avoid the initial terminal which is not a termcap device. |
| 315 | ;; FIXME: is there more elegant way to detect the initial terminal? | 315 | ;; FIXME: is there more elegant way to detect the initial |
| 316 | ;; terminal? | ||
| 316 | (not (string= (terminal-name terminal) "initial_terminal"))) | 317 | (not (string= (terminal-name terminal) "initial_terminal"))) |
| 317 | (unless (terminal-parameter terminal 'xterm-mouse-mode) | 318 | (unless (terminal-parameter terminal 'xterm-mouse-mode) |
| 318 | ;; Simulate selecting a terminal by selecting one of its frames | 319 | ;; Simulate selecting a terminal by selecting one of its frames |
| @@ -320,7 +321,13 @@ terminals that support it.") | |||
| 320 | (with-selected-frame (car (frames-on-display-list terminal)) | 321 | (with-selected-frame (car (frames-on-display-list terminal)) |
| 321 | (define-key input-decode-map "\e[M" 'xterm-mouse-translate) | 322 | (define-key input-decode-map "\e[M" 'xterm-mouse-translate) |
| 322 | (define-key input-decode-map "\e[<" 'xterm-mouse-translate-extended)) | 323 | (define-key input-decode-map "\e[<" 'xterm-mouse-translate-extended)) |
| 323 | (send-string-to-terminal xterm-mouse-tracking-enable-sequence terminal) | 324 | (condition-case err |
| 325 | (send-string-to-terminal xterm-mouse-tracking-enable-sequence | ||
| 326 | terminal) | ||
| 327 | ;; FIXME: This should use a dedicated error signal. | ||
| 328 | (error (if (equal (cadr err) "Terminal is currently suspended") | ||
| 329 | nil ;The sequence will be sent upon resume. | ||
| 330 | (signal (car err) (cdr err))))) | ||
| 324 | (push xterm-mouse-tracking-enable-sequence | 331 | (push xterm-mouse-tracking-enable-sequence |
| 325 | (terminal-parameter nil 'tty-mode-set-strings)) | 332 | (terminal-parameter nil 'tty-mode-set-strings)) |
| 326 | (push xterm-mouse-tracking-disable-sequence | 333 | (push xterm-mouse-tracking-disable-sequence |
| @@ -338,7 +345,13 @@ terminals that support it.") | |||
| 338 | ;; command too many times (or to catch an unintended key sequence), than | 345 | ;; command too many times (or to catch an unintended key sequence), than |
| 339 | ;; to send it too few times (or to fail to let xterm-mouse events | 346 | ;; to send it too few times (or to fail to let xterm-mouse events |
| 340 | ;; pass by untranslated). | 347 | ;; pass by untranslated). |
| 341 | (send-string-to-terminal xterm-mouse-tracking-disable-sequence terminal) | 348 | (condition-case err |
| 349 | (send-string-to-terminal xterm-mouse-tracking-disable-sequence | ||
| 350 | terminal) | ||
| 351 | ;; FIXME: This should use a dedicated error signal. | ||
| 352 | (error (if (equal (cadr err) "Terminal is currently suspended") | ||
| 353 | nil | ||
| 354 | (signal (car err) (cdr err))))) | ||
| 342 | (setf (terminal-parameter nil 'tty-mode-set-strings) | 355 | (setf (terminal-parameter nil 'tty-mode-set-strings) |
| 343 | (remq xterm-mouse-tracking-enable-sequence | 356 | (remq xterm-mouse-tracking-enable-sequence |
| 344 | (terminal-parameter nil 'tty-mode-set-strings))) | 357 | (terminal-parameter nil 'tty-mode-set-strings))) |