aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorJoakim Verona2013-02-13 00:04:17 +0100
committerJoakim Verona2013-02-13 00:04:17 +0100
commite46029ad6dda065541c8de40de0fe9d5800ac770 (patch)
tree891ff36967b0ef02459ee46b6363b75bf810d524 /lisp
parente0444a0966fa001953bb97cfb60451c42220be8e (diff)
parentc4131562319d3529841136d236ac39fb1e3d2b7c (diff)
downloademacs-e46029ad6dda065541c8de40de0fe9d5800ac770.tar.gz
emacs-e46029ad6dda065541c8de40de0fe9d5800ac770.zip
auto upstream
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog42
-rw-r--r--lisp/calc/calc-graph.el1
-rw-r--r--lisp/calendar/calendar.el1
-rw-r--r--lisp/cus-edit.el1
-rw-r--r--lisp/doc-view.el19
-rw-r--r--lisp/ehelp.el1
-rw-r--r--lisp/emulation/vip.el1
-rw-r--r--lisp/epa.el1
-rw-r--r--lisp/erc/ChangeLog5
-rw-r--r--lisp/files.el55
-rw-r--r--lisp/info.el1
-rw-r--r--lisp/mail/rmail.el3
-rw-r--r--lisp/mail/rmailsum.el1
-rw-r--r--lisp/man.el1
-rw-r--r--lisp/net/newst-plainview.el3
-rw-r--r--lisp/net/tramp-adb.el96
-rw-r--r--lisp/net/tramp-compat.el3
-rw-r--r--lisp/net/tramp-sh.el8
-rw-r--r--lisp/progmodes/cpp.el1
-rw-r--r--lisp/progmodes/grep.el1
-rw-r--r--lisp/progmodes/idlw-help.el1
-rw-r--r--lisp/simple.el1
-rw-r--r--lisp/startup.el1
-rw-r--r--lisp/view.el5
24 files changed, 187 insertions, 66 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fd2186fcfb2..18c11debf0d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,7 +1,47 @@
12013-02-12 Michael Albinus <michael.albinus@gmx.de>
2
3 * net/tramp-adb.el (tramp-adb-handle-start-file-process): Rewrite.
4
5 * net/tramp-compat.el (top): Declare `remote-file-name-inhibit-cache'
6 only if it doesn't exist.
7
8 * net/tramp-sh.el (tramp-sh-handle-start-file-process): Set
9 process marker.
10
112013-02-12 Tassilo Horn <tsdh@gnu.org>
12
13 * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate
14 UserInstallation when calling soffice to work around LibreOffice
15 bug 37531.
16
172013-02-12 Glenn Morris <rgm@gnu.org>
18
19 * files.el (basic-save-buffer):
20 Offer to create a non-existing directory. (Bug#3016)
21
22 * calc/calc-graph.el (calc-graph-show-dumb):
23 * calendar/calendar.el (calendar-mode-map):
24 * cus-edit.el (custom-mode-map):
25 * ehelp.el (electric-help-map):
26 * emulation/vip.el (vip-mode-map):
27 * epa.el (epa-key-list-mode-map):
28 * info.el (Info-mode-map):
29 * mail/rmail.el (rmail-mode-map):
30 * mail/rmailsum.el (rmail-summary-mode-map):
31 * man.el (Man-mode-map):
32 * net/newst-plainview.el (newsticker-mode-map):
33 * progmodes/cpp.el (cpp-edit-mode-map):
34 * progmodes/grep.el (grep-mode-map):
35 * progmodes/idlw-help.el (idlwave-help-mode-map):
36 * simple.el (special-mode-map):
37 * startup.el (splash-screen-keymap):
38 * view.el (view-mode-map):
39 Make S-SPC scroll in the opposite sense to SPC. (Bug#2145)
40
12013-02-11 Elias Pipping <pipping@lavabit.com> 412013-02-11 Elias Pipping <pipping@lavabit.com>
2 42
3 * doc-view.el (doc-view-current-cache-dir): Beware % escapes 43 * doc-view.el (doc-view-current-cache-dir): Beware % escapes
4 (bug#13689). 44 (bug#13679).
5 45
62013-02-11 Stefan Monnier <monnier@iro.umontreal.ca> 462013-02-11 Stefan Monnier <monnier@iro.umontreal.ca>
7 47
diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el
index 4376e21b4ca..c84c7fdf949 100644
--- a/lisp/calc/calc-graph.el
+++ b/lisp/calc/calc-graph.el
@@ -948,6 +948,7 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
948 (setq calc-dumb-map (make-sparse-keymap)) 948 (setq calc-dumb-map (make-sparse-keymap))
949 (define-key calc-dumb-map "\n" 'scroll-up-command) 949 (define-key calc-dumb-map "\n" 'scroll-up-command)
950 (define-key calc-dumb-map " " 'scroll-up-command) 950 (define-key calc-dumb-map " " 'scroll-up-command)
951 (define-key calc-dump-map [?\S-\ ] 'scroll-down-command)
951 (define-key calc-dumb-map "\177" 'scroll-down-command) 952 (define-key calc-dumb-map "\177" 'scroll-down-command)
952 (define-key calc-dumb-map "<" 'scroll-left) 953 (define-key calc-dumb-map "<" 'scroll-left)
953 (define-key calc-dumb-map ">" 'scroll-right) 954 (define-key calc-dumb-map ">" 'scroll-right)
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el
index 74d3ce80338..20a8684e387 100644
--- a/lisp/calendar/calendar.el
+++ b/lisp/calendar/calendar.el
@@ -1635,6 +1635,7 @@ line."
1635 (define-key map "S" 'calendar-sunrise-sunset) 1635 (define-key map "S" 'calendar-sunrise-sunset)
1636 (define-key map "M" 'calendar-lunar-phases) 1636 (define-key map "M" 'calendar-lunar-phases)
1637 (define-key map " " 'scroll-other-window) 1637 (define-key map " " 'scroll-other-window)
1638 (define-key map [?\S-\ ] 'scroll-other-window-down)
1638 (define-key map "\d" 'scroll-other-window-down) 1639 (define-key map "\d" 'scroll-other-window-down)
1639 (define-key map "\C-c\C-l" 'calendar-redraw) 1640 (define-key map "\C-c\C-l" 'calendar-redraw)
1640 (define-key map "." 'calendar-goto-today) 1641 (define-key map "." 'calendar-goto-today)
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 6d1ebe5a962..d19e2ded00c 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -443,6 +443,7 @@
443 (define-key map [remap self-insert-command] 'Custom-no-edit) 443 (define-key map [remap self-insert-command] 'Custom-no-edit)
444 (define-key map "\^m" 'Custom-newline) 444 (define-key map "\^m" 'Custom-newline)
445 (define-key map " " 'scroll-up-command) 445 (define-key map " " 'scroll-up-command)
446 (define-key map [?\S-\ ] 'scroll-down-command)
446 (define-key map "\177" 'scroll-down-command) 447 (define-key map "\177" 'scroll-down-command)
447 (define-key map "\C-c\C-c" 'Custom-set) 448 (define-key map "\C-c\C-c" 'Custom-set)
448 (define-key map "\C-x\C-s" 'Custom-save) 449 (define-key map "\C-x\C-s" 'Custom-save)
diff --git a/lisp/doc-view.el b/lisp/doc-view.el
index edd59a7b518..dcc28a52322 100644
--- a/lisp/doc-view.el
+++ b/lisp/doc-view.el
@@ -939,10 +939,21 @@ is named like ODF with the extension turned to pdf."
939 "Convert ODF to PDF asynchronously and call CALLBACK when finished. 939 "Convert ODF to PDF asynchronously and call CALLBACK when finished.
940The converted PDF is put into the current cache directory, and it 940The converted PDF is put into the current cache directory, and it
941is named like ODF with the extension turned to pdf." 941is named like ODF with the extension turned to pdf."
942 (doc-view-start-process "odf->pdf" doc-view-odf->pdf-converter-program 942 ;; FIXME: soffice doesn't work when there's another running
943 (list "--headless" "--convert-to" "pdf" 943 ;; LibreOffice instance, in which case it returns success without
944 "--outdir" (doc-view-current-cache-dir) odf) 944 ;; actually doing anything. See LibreOffice bug
945 callback)) 945 ;; https://bugs.freedesktop.org/show_bug.cgi?id=37531. A workaround
946 ;; is to start soffice with a separate UserInstallation directory.
947 (let ((tmp-user-install-dir (make-temp-file "libreoffice-docview" t)))
948 (doc-view-start-process "odf->pdf" doc-view-odf->pdf-converter-program
949 (list
950 (concat "-env:UserInstallation=file://"
951 tmp-user-install-dir)
952 "--headless" "--convert-to" "pdf"
953 "--outdir" (doc-view-current-cache-dir) odf)
954 (lambda ()
955 (delete-directory tmp-user-install-dir t)
956 (funcall callback)))))
946 957
947(defun doc-view-pdf/ps->png (pdf-ps png) 958(defun doc-view-pdf/ps->png (pdf-ps png)
948 ;; FIXME: Fix name and docstring to account for djvu&tiff. 959 ;; FIXME: Fix name and docstring to account for djvu&tiff.
diff --git a/lisp/ehelp.el b/lisp/ehelp.el
index 416666f918c..88fc87b5b7a 100644
--- a/lisp/ehelp.el
+++ b/lisp/ehelp.el
@@ -80,6 +80,7 @@
80 (define-key map (char-to-string help-char) 'electric-help-help) 80 (define-key map (char-to-string help-char) 'electric-help-help)
81 (define-key map "?" 'electric-help-help) 81 (define-key map "?" 'electric-help-help)
82 (define-key map " " 'scroll-up) 82 (define-key map " " 'scroll-up)
83 (define-key map [?\S-\ ] 'scroll-down)
83 (define-key map "\^?" 'scroll-down) 84 (define-key map "\^?" 'scroll-down)
84 (define-key map "." 'beginning-of-buffer) 85 (define-key map "." 'beginning-of-buffer)
85 (define-key map "<" 'beginning-of-buffer) 86 (define-key map "<" 'beginning-of-buffer)
diff --git a/lisp/emulation/vip.el b/lisp/emulation/vip.el
index 4e6749d9cfb..e086f26e8ab 100644
--- a/lisp/emulation/vip.el
+++ b/lisp/emulation/vip.el
@@ -183,6 +183,7 @@ If nil then it is bound to `delete-backward-char'."
183 (define-key map "\C-z" 'vip-change-mode-to-emacs) 183 (define-key map "\C-z" 'vip-change-mode-to-emacs)
184 (define-key map "\e" 'vip-ESC) 184 (define-key map "\e" 'vip-ESC)
185 185
186 (define-key map [?\S-\ ] 'vip-scroll-back)
186 (define-key map " " 'vip-scroll) 187 (define-key map " " 'vip-scroll)
187 (define-key map "!" 'vip-command-argument) 188 (define-key map "!" 'vip-command-argument)
188 (define-key map "\"" 'vip-command-argument) 189 (define-key map "\"" 'vip-command-argument)
diff --git a/lisp/epa.el b/lisp/epa.el
index 61a1378aa22..852d10b1cf7 100644
--- a/lisp/epa.el
+++ b/lisp/epa.el
@@ -169,6 +169,7 @@ You should bind this variable with `let', but do not set it globally.")
169 (define-key keymap "n" 'next-line) 169 (define-key keymap "n" 'next-line)
170 (define-key keymap "p" 'previous-line) 170 (define-key keymap "p" 'previous-line)
171 (define-key keymap " " 'scroll-up-command) 171 (define-key keymap " " 'scroll-up-command)
172 (define-key keymap [?\S-\ ] 'scroll-down-command)
172 (define-key keymap [delete] 'scroll-down-command) 173 (define-key keymap [delete] 'scroll-down-command)
173 (define-key keymap "q" 'epa-exit-buffer) 174 (define-key keymap "q" 'epa-exit-buffer)
174 (define-key keymap [menu-bar epa-key-list-mode] (cons "Keys" menu-map)) 175 (define-key keymap [menu-bar epa-key-list-mode] (cons "Keys" menu-map))
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index cc7624dee03..3245c31384a 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,8 @@
12013-02-12 Aidan Gauland <aidalgol@no8wireless.co.nz>
2
3 * erc-match.el (erc-match-message):
4 Don't truncate action messages. (Bug#13689)
5
12013-02-09 Eli Zaretskii <eliz@gnu.org> 62013-02-09 Eli Zaretskii <eliz@gnu.org>
2 7
3 * erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type. 8 * erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type.
diff --git a/lisp/files.el b/lisp/files.el
index 890834d4af0..f9ed65b8ac0 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -4563,28 +4563,39 @@ Before and after saving the buffer, this function runs
4563 (not (file-exists-p buffer-file-name)))) 4563 (not (file-exists-p buffer-file-name))))
4564 (let ((recent-save (recent-auto-save-p)) 4564 (let ((recent-save (recent-auto-save-p))
4565 setmodes) 4565 setmodes)
4566 ;; If buffer has no file name, ask user for one. 4566 (if buffer-file-name
4567 (or buffer-file-name 4567 (let ((dir (file-name-directory
4568 (let ((filename 4568 (expand-file-name buffer-file-name))))
4569 (expand-file-name 4569 (unless (file-exists-p dir)
4570 (read-file-name "File to save in: " 4570 (if (y-or-n-p
4571 nil (expand-file-name (buffer-name)))))) 4571 (format "Directory `%s' does not exist; create? " dir))
4572 (if (file-exists-p filename) 4572 (make-directory dir t)
4573 (if (file-directory-p filename) 4573 (error "Canceled"))))
4574 ;; Signal an error if the user specified the name of an 4574 ;; If buffer has no file name, ask user for one.
4575 ;; existing directory. 4575 (let ((filename
4576 (error "%s is a directory" filename) 4576 (expand-file-name
4577 (unless (y-or-n-p (format "File `%s' exists; overwrite? " 4577 (read-file-name "File to save in: "
4578 filename)) 4578 nil (expand-file-name (buffer-name))))))
4579 (error "Canceled"))) 4579 (if (file-exists-p filename)
4580 ;; Signal an error if the specified name refers to a 4580 (if (file-directory-p filename)
4581 ;; non-existing directory. 4581 ;; Signal an error if the user specified the name of an
4582 (let ((dir (file-name-directory filename))) 4582 ;; existing directory.
4583 (unless (file-directory-p dir) 4583 (error "%s is a directory" filename)
4584 (if (file-exists-p dir) 4584 (unless (y-or-n-p (format "File `%s' exists; overwrite? "
4585 (error "%s is not a directory" dir) 4585 filename))
4586 (error "%s: no such directory" dir))))) 4586 (error "Canceled")))
4587 (set-visited-file-name filename))) 4587 ;; Signal an error if the specified name refers to a
4588 ;; non-existing directory.
4589 (let ((dir (file-name-directory filename)))
4590 (unless (file-directory-p dir)
4591 (if (file-exists-p dir)
4592 (error "%s is not a directory" dir)
4593 (if (y-or-n-p
4594 (format "Directory `%s' does not exist; create? "
4595 dir))
4596 (make-directory dir t)
4597 (error "Canceled"))))))
4598 (set-visited-file-name filename)))
4588 (or (verify-visited-file-modtime (current-buffer)) 4599 (or (verify-visited-file-modtime (current-buffer))
4589 (not (file-exists-p buffer-file-name)) 4600 (not (file-exists-p buffer-file-name))
4590 (yes-or-no-p 4601 (yes-or-no-p
diff --git a/lisp/info.el b/lisp/info.el
index c276420fb7d..a6db9f3f4dc 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -3874,6 +3874,7 @@ If FORK is non-nil, it is passed to `Info-goto-node'."
3874 (suppress-keymap map) 3874 (suppress-keymap map)
3875 (define-key map "." 'beginning-of-buffer) 3875 (define-key map "." 'beginning-of-buffer)
3876 (define-key map " " 'Info-scroll-up) 3876 (define-key map " " 'Info-scroll-up)
3877 (define-key map [?\S-\ ] 'Info-scroll-down)
3877 (define-key map "\C-m" 'Info-follow-nearest-node) 3878 (define-key map "\C-m" 'Info-follow-nearest-node)
3878 (define-key map "\t" 'Info-next-reference) 3879 (define-key map "\t" 'Info-next-reference)
3879 (define-key map "\e\t" 'Info-prev-reference) 3880 (define-key map "\e\t" 'Info-prev-reference)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 96d341c30d2..02703026e84 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -1085,6 +1085,7 @@ The buffer is expected to be narrowed to just the header of the message."
1085 (define-key map "<" 'rmail-first-message) 1085 (define-key map "<" 'rmail-first-message)
1086 (define-key map ">" 'rmail-last-message) 1086 (define-key map ">" 'rmail-last-message)
1087 (define-key map " " 'scroll-up-command) 1087 (define-key map " " 'scroll-up-command)
1088 (define-key map [?\S-\ ] 'scroll-down-command)
1088 (define-key map "\177" 'scroll-down-command) 1089 (define-key map "\177" 'scroll-down-command)
1089 (define-key map "?" 'describe-mode) 1090 (define-key map "?" 'describe-mode)
1090 (define-key map "\C-c\C-s\C-d" 'rmail-sort-by-date) 1091 (define-key map "\C-c\C-s\C-d" 'rmail-sort-by-date)
@@ -4751,7 +4752,7 @@ If prefix argument REVERSE is non-nil, sorts in reverse order.
4751 4752
4752;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic 4753;;;### (autoloads (rmail-summary-by-senders rmail-summary-by-topic
4753;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels 4754;;;;;; rmail-summary-by-regexp rmail-summary-by-recipients rmail-summary-by-labels
4754;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "341825201e892b8fc875c1ae49ffd560") 4755;;;;;; rmail-summary) "rmailsum" "rmailsum.el" "119ce8b431f01e7f54bb6fa99603b3d9")
4755;;; Generated autoloads from rmailsum.el 4756;;; Generated autoloads from rmailsum.el
4756 4757
4757(autoload 'rmail-summary "rmailsum" "\ 4758(autoload 'rmail-summary "rmailsum" "\
diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 5b906719c39..13cd7c3f05e 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -118,6 +118,7 @@ Setting this option to nil might speed up the generation of summaries."
118 (define-key map "<" 'rmail-summary-first-message) 118 (define-key map "<" 'rmail-summary-first-message)
119 (define-key map ">" 'rmail-summary-last-message) 119 (define-key map ">" 'rmail-summary-last-message)
120 (define-key map " " 'rmail-summary-scroll-msg-up) 120 (define-key map " " 'rmail-summary-scroll-msg-up)
121 (define-key map [?\S-\ ] 'rmail-summary-scroll-msg-down)
121 (define-key map "\177" 'rmail-summary-scroll-msg-down) 122 (define-key map "\177" 'rmail-summary-scroll-msg-down)
122 (define-key map "?" 'describe-mode) 123 (define-key map "?" 'describe-mode)
123 (define-key map "\C-c\C-n" 'rmail-summary-next-same-subject) 124 (define-key map "\C-c\C-n" 'rmail-summary-next-same-subject)
diff --git a/lisp/man.el b/lisp/man.el
index 93a67128de4..04abc3d4d88 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -426,6 +426,7 @@ Otherwise, the value is whatever the function
426 (suppress-keymap map) 426 (suppress-keymap map)
427 (set-keymap-parent map button-buffer-map) 427 (set-keymap-parent map button-buffer-map)
428 428
429 (define-key map [?\S-\ ] 'scroll-down-command)
429 (define-key map " " 'scroll-up-command) 430 (define-key map " " 'scroll-up-command)
430 (define-key map "\177" 'scroll-down-command) 431 (define-key map "\177" 'scroll-down-command)
431 (define-key map "n" 'Man-next-section) 432 (define-key map "n" 'Man-next-section)
diff --git a/lisp/net/newst-plainview.el b/lisp/net/newst-plainview.el
index 2eb04787bea..c7a3a107078 100644
--- a/lisp/net/newst-plainview.el
+++ b/lisp/net/newst-plainview.el
@@ -5,7 +5,7 @@
5;; Author: Ulf Jasper <ulf.jasper@web.de> 5;; Author: Ulf Jasper <ulf.jasper@web.de>
6;; Filename: newst-plainview.el 6;; Filename: newst-plainview.el
7;; URL: http://www.nongnu.org/newsticker 7;; URL: http://www.nongnu.org/newsticker
8;; Time-stamp: "13. Mai 2011, 19:28:34 (ulf)" 8;; Time-stamp: "Mon 11-Feb-2013 20:27:11 gm on skiddaw"
9;; Package: newsticker 9;; Package: newsticker
10 10
11;; ====================================================================== 11;; ======================================================================
@@ -405,6 +405,7 @@ images."
405 (define-key map "sx" 'newsticker-show-extra) 405 (define-key map "sx" 'newsticker-show-extra)
406 (define-key map "hx" 'newsticker-hide-extra) 406 (define-key map "hx" 'newsticker-hide-extra)
407 407
408 (define-key map [?\S-\ ] 'scroll-down-command)
408 (define-key map " " 'scroll-up-command) 409 (define-key map " " 'scroll-up-command)
409 (define-key map "q" 'newsticker-close-buffer) 410 (define-key map "q" 'newsticker-close-buffer)
410 (define-key map "p" 'newsticker-previous-item) 411 (define-key map "p" 'newsticker-previous-item)
diff --git a/lisp/net/tramp-adb.el b/lisp/net/tramp-adb.el
index 17802d39fa4..0974c62c56e 100644
--- a/lisp/net/tramp-adb.el
+++ b/lisp/net/tramp-adb.el
@@ -902,42 +902,76 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
902(defun tramp-adb-handle-start-file-process (name buffer program &rest args) 902(defun tramp-adb-handle-start-file-process (name buffer program &rest args)
903 "Like `start-file-process' for Tramp files." 903 "Like `start-file-process' for Tramp files."
904 (with-parsed-tramp-file-name default-directory nil 904 (with-parsed-tramp-file-name default-directory nil
905 ;; When PROGRAM is nil, we just provide a tty. 905 ;; When PROGRAM is nil, we should provide a tty. This is not
906 ;; possible here.
907 (unless (stringp program)
908 (tramp-error v 'file-error "PROGRAM must be a string"))
909
906 (let ((command 910 (let ((command
907 (when (stringp program) 911 (format "cd %s; %s"
908 (format "cd %s; %s" 912 (tramp-shell-quote-argument localname)
909 (tramp-shell-quote-argument localname) 913 (mapconcat 'tramp-shell-quote-argument
910 (mapconcat 'tramp-shell-quote-argument 914 (cons program args) " ")))
911 (cons program args) " "))))
912 (tramp-process-connection-type 915 (tramp-process-connection-type
913 (or (null program) tramp-process-connection-type)) 916 (or (null program) tramp-process-connection-type))
917 (bmp (and (buffer-live-p buffer) (buffer-modified-p buffer)))
914 (name1 name) 918 (name1 name)
915 (i 0)) 919 (i 0))
916 (unwind-protect 920
917 (save-excursion 921 (unless buffer
918 (save-restriction 922 ;; BUFFER can be nil. We use a temporary buffer.
919 (while (get-process name1) 923 (setq buffer (generate-new-buffer tramp-temp-buffer-name)))
920 ;; NAME must be unique as process name. 924 (while (get-process name1)
921 (setq i (1+ i) 925 ;; NAME must be unique as process name.
922 name1 (format "%s<%d>" name i))) 926 (setq i (1+ i)
923 (setq name name1) 927 name1 (format "%s<%d>" name i)))
924 ;; Set the new process properties. 928 (setq name name1)
925 (tramp-set-connection-property v "process-name" name) 929 ;; Set the new process properties.
926 (when command 930 (tramp-set-connection-property v "process-name" name)
927 (let* ((host (tramp-file-name-host v)) 931 (tramp-set-connection-property v "process-buffer" buffer)
928 (devices (mapcar 'cadr (tramp-adb-parse-device-names nil))) 932
929 (args (if (> (length host) 0) 933 (with-current-buffer (tramp-get-connection-buffer v)
930 (list "-s" host "shell" command) 934 (unwind-protect
931 (list "shell" command))) 935 ;; We catch this event. Otherwise, `start-process' could
932 (p (apply 'start-process (tramp-get-connection-name v) buffer 936 ;; be called on the local host.
933 (tramp-adb-program) args))) 937 (save-excursion
934 ;; Set sentinel and query flag for this process. 938 (save-restriction
935 (tramp-set-connection-property p "vector" v) 939 ;; Activate narrowing in order to save BUFFER
936 (set-process-sentinel p 'tramp-process-sentinel) 940 ;; contents. Clear also the modification time;
937 (tramp-compat-set-process-query-on-exit-flag p t) 941 ;; otherwise we might be interrupted by
938 ;; Return process. 942 ;; `verify-visited-file-modtime'.
939 p)))) 943 (let ((buffer-undo-list t)
940 (tramp-set-connection-property v "process-name" nil))))) 944 (buffer-read-only nil)
945 (mark (point)))
946 (clear-visited-file-modtime)
947 (narrow-to-region (point-max) (point-max))
948 ;; We call `tramp-adb-maybe-open-connection', in
949 ;; order to cleanup the prompt afterwards.
950 (tramp-adb-maybe-open-connection v)
951 (widen)
952 (delete-region mark (point))
953 (narrow-to-region (point-max) (point-max))
954 ;; Send the command.
955 (let ((tramp-adb-prompt (regexp-quote command)))
956 (tramp-adb-send-command v command))
957 (let ((p (tramp-get-connection-process v)))
958 ;; Set query flag and process marker for this
959 ;; process. We ignore errors, because the process
960 ;; could have finished already.
961 (ignore-errors
962 (tramp-compat-set-process-query-on-exit-flag p t)
963 (set-marker (process-mark p) (point)))
964 ;; Return process.
965 p))))
966
967 ;; Save exit.
968 (if (string-match tramp-temp-buffer-name (buffer-name))
969 (ignore-errors
970 (set-process-buffer (tramp-get-connection-process v) nil)
971 (kill-buffer (current-buffer)))
972 (set-buffer-modified-p bmp))
973 (tramp-set-connection-property v "process-name" nil)
974 (tramp-set-connection-property v "process-buffer" nil))))))
941 975
942;; Helper functions. 976;; Helper functions.
943 977
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index 00ef43b1a66..12510bf7fab 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -96,7 +96,8 @@
96 ;; `remote-file-name-inhibit-cache' has been introduced with Emacs 24.1. 96 ;; `remote-file-name-inhibit-cache' has been introduced with Emacs 24.1.
97 ;; Besides `t', `nil', and integer, we use also timestamps (as 97 ;; Besides `t', `nil', and integer, we use also timestamps (as
98 ;; returned by `current-time') internally. 98 ;; returned by `current-time') internally.
99 (defvar remote-file-name-inhibit-cache nil) 99 (unless (boundp 'remote-file-name-inhibit-cache)
100 (defvar remote-file-name-inhibit-cache nil))
100 101
101 ;; For not existing functions, or functions with a changed argument 102 ;; For not existing functions, or functions with a changed argument
102 ;; list, there are compiler warnings. We want to avoid them in 103 ;; list, there are compiler warnings. We want to avoid them in
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index bfa145ac780..0c2a0aa385a 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -2856,10 +2856,12 @@ the result will be a local, non-Tramp, filename."
2856 v 'file-error 2856 v 'file-error
2857 "pty association is not supported for `%s'" name)))) 2857 "pty association is not supported for `%s'" name))))
2858 (let ((p (tramp-get-connection-process v))) 2858 (let ((p (tramp-get-connection-process v)))
2859 ;; Set query flag for this process. We ignore errors, 2859 ;; Set query flag and process marker for this
2860 ;; because the process could have finished already. 2860 ;; process. We ignore errors, because the process
2861 ;; could have finished already.
2861 (ignore-errors 2862 (ignore-errors
2862 (tramp-compat-set-process-query-on-exit-flag p t)) 2863 (tramp-compat-set-process-query-on-exit-flag p t)
2864 (set-marker (process-mark p) (point)))
2863 ;; Return process. 2865 ;; Return process.
2864 p)))) 2866 p))))
2865 2867
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el
index 340b97e80bd..674d98b8dc3 100644
--- a/lisp/progmodes/cpp.el
+++ b/lisp/progmodes/cpp.el
@@ -420,6 +420,7 @@ A prefix arg suppresses display of that buffer."
420 (define-key map [ down-mouse-2 ] 'cpp-push-button) 420 (define-key map [ down-mouse-2 ] 'cpp-push-button)
421 (define-key map [ mouse-2 ] 'ignore) 421 (define-key map [ mouse-2 ] 'ignore)
422 (define-key map " " 'scroll-up-command) 422 (define-key map " " 'scroll-up-command)
423 (define-key map [?\S-\ ] 'scroll-down-command)
423 (define-key map "\C-?" 'scroll-down-command) 424 (define-key map "\C-?" 'scroll-down-command)
424 (define-key map [ delete ] 'scroll-down) 425 (define-key map [ delete ] 'scroll-down)
425 (define-key map "\C-c\C-c" 'cpp-edit-apply) 426 (define-key map "\C-c\C-c" 'cpp-edit-apply)
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index d8c39f2ddef..1e152c6d751 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -246,6 +246,7 @@ See `compilation-error-screen-columns'"
246 (let ((map (make-sparse-keymap))) 246 (let ((map (make-sparse-keymap)))
247 (set-keymap-parent map compilation-minor-mode-map) 247 (set-keymap-parent map compilation-minor-mode-map)
248 (define-key map " " 'scroll-up-command) 248 (define-key map " " 'scroll-up-command)
249 (define-key map [?\S-\ ] 'scroll-down-command)
249 (define-key map "\^?" 'scroll-down-command) 250 (define-key map "\^?" 'scroll-down-command)
250 (define-key map "\C-c\C-f" 'next-error-follow-minor-mode) 251 (define-key map "\C-c\C-f" 'next-error-follow-minor-mode)
251 252
diff --git a/lisp/progmodes/idlw-help.el b/lisp/progmodes/idlw-help.el
index 0e44e5366ca..749b0b65576 100644
--- a/lisp/progmodes/idlw-help.el
+++ b/lisp/progmodes/idlw-help.el
@@ -227,6 +227,7 @@ support."
227 (interactive "p") 227 (interactive "p")
228 (scroll-up arg))) 228 (scroll-up arg)))
229 (define-key map " " 'scroll-up-command) 229 (define-key map " " 'scroll-up-command)
230 (define-key map [?\S-\ ] 'scroll-down-command)
230 (define-key map [delete] 'scroll-down-command) 231 (define-key map [delete] 'scroll-down-command)
231 (define-key map "h" 'idlwave-help-find-header) 232 (define-key map "h" 'idlwave-help-find-header)
232 (define-key map "H" 'idlwave-help-find-first-header) 233 (define-key map "H" 'idlwave-help-find-first-header)
diff --git a/lisp/simple.el b/lisp/simple.el
index 9587d3c006c..849f7dac55c 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -358,6 +358,7 @@ Other major modes are defined by comparison with this one."
358 (suppress-keymap map) 358 (suppress-keymap map)
359 (define-key map "q" 'quit-window) 359 (define-key map "q" 'quit-window)
360 (define-key map " " 'scroll-up-command) 360 (define-key map " " 'scroll-up-command)
361 (define-key map [?\S-\ ] 'scroll-down-command)
361 (define-key map "\C-?" 'scroll-down-command) 362 (define-key map "\C-?" 'scroll-down-command)
362 (define-key map "?" 'describe-mode) 363 (define-key map "?" 'describe-mode)
363 (define-key map "h" 'describe-mode) 364 (define-key map "h" 'describe-mode)
diff --git a/lisp/startup.el b/lisp/startup.el
index 741c5aa9b46..ad31a7a2a45 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1466,6 +1466,7 @@ Each element in the list should be a list of strings or pairs
1466 (suppress-keymap map) 1466 (suppress-keymap map)
1467 (set-keymap-parent map button-buffer-map) 1467 (set-keymap-parent map button-buffer-map)
1468 (define-key map "\C-?" 'scroll-down-command) 1468 (define-key map "\C-?" 'scroll-down-command)
1469 (define-key map [?\S-\ ] 'scroll-down-command)
1469 (define-key map " " 'scroll-up-command) 1470 (define-key map " " 'scroll-up-command)
1470 (define-key map "q" 'exit-splash-screen) 1471 (define-key map "q" 'exit-splash-screen)
1471 map) 1472 map)
diff --git a/lisp/view.el b/lisp/view.el
index 2717c915c71..f9326399a26 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -199,6 +199,7 @@ This is local in each buffer, once it is used.")
199 (define-key map "\C-?" 'View-scroll-page-backward) 199 (define-key map "\C-?" 'View-scroll-page-backward)
200 ;; (define-key map "f" 'View-scroll-page-forward) 200 ;; (define-key map "f" 'View-scroll-page-forward)
201 (define-key map " " 'View-scroll-page-forward) 201 (define-key map " " 'View-scroll-page-forward)
202 (define-key map [?\S-\ ] 'View-scroll-page-backward)
202 (define-key map "o" 'View-scroll-to-buffer-end) 203 (define-key map "o" 'View-scroll-to-buffer-end)
203 (define-key map ">" 'end-of-buffer) 204 (define-key map ">" 'end-of-buffer)
204 (define-key map "<" 'beginning-of-buffer) 205 (define-key map "<" 'beginning-of-buffer)
@@ -407,8 +408,8 @@ Digits provide prefix arguments.
407\\[View-scroll-to-buffer-end] scroll so that buffer end is at last line of window. 408\\[View-scroll-to-buffer-end] scroll so that buffer end is at last line of window.
408SPC scroll forward \"page size\" lines. 409SPC scroll forward \"page size\" lines.
409 With prefix scroll forward prefix lines. 410 With prefix scroll forward prefix lines.
410DEL scroll backward \"page size\" lines. 411DEL, S-SPC scroll backward \"page size\" lines.
411 With prefix scroll backward prefix lines. 412 With prefix scroll backward prefix lines.
412\\[View-scroll-page-forward-set-page-size] like \\[View-scroll-page-forward] but with prefix sets \"page size\" to prefix. 413\\[View-scroll-page-forward-set-page-size] like \\[View-scroll-page-forward] but with prefix sets \"page size\" to prefix.
413\\[View-scroll-page-backward-set-page-size] like \\[View-scroll-page-backward] but with prefix sets \"page size\" to prefix. 414\\[View-scroll-page-backward-set-page-size] like \\[View-scroll-page-backward] but with prefix sets \"page size\" to prefix.
414\\[View-scroll-half-page-forward] scroll forward \"half page size\" lines. With prefix, sets 415\\[View-scroll-half-page-forward] scroll forward \"half page size\" lines. With prefix, sets