diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1555dfc43b6..1897e48d715 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,41 @@ +2013-02-23 Peter Kleiweg + + * progmodes/ps-mode.el (ps-mode-version): Bump to 1.1i. + (ps-mode-octal-region): Use string-make-unibyte. + +2013-02-23 Glenn Morris + + * emulation/viper-cmd.el (viper-submit-report): + * progmodes/ps-mode.el (ps-mode-maintainer-address): + * progmodes/vera-mode.el (vera-mode-help-address): + * textmodes/artist.el (artist-maintainer-address): + * textmodes/reftex.el (reftex-report-bug): + * vc/ediff-util.el (ediff-submit-report): + Add bug-gnu-emacs to bug report address. + + * progmodes/simula.el (simula-mode-menu, simula-mode-map): + Remove bug report entries. + (simula-mode-help-address, simula-submit-bug-report): Make obsolete. + + * emacs-lisp/bytecomp.el (byte-compile-level): New. + (byte-compile-file, byte-compile-from-buffer): + Use separate input/output buffers for each level of recursive + byte-compile-file calls. (Bug#13787) + +2013-02-23 Michael Albinus + + * net/tramp.el (tramp-methods): Fix docstring. + (tramp-ssh-controlmaster-options): Rename it from + `tramp-ssh-controlmaster-template'. Return a string. + (tramp-default-method): Adapt check for + `tramp-ssh-controlmaster-options'. + + * net/tramp-sh.el (tramp-methods): Replace + `tramp-ssh-controlmaster-template' by "%c". + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): Use it in format spec. Ensure, + that it is applied for the first hop only. + 2013-02-22 Juri Linkov * isearch.el (isearch-lazy-highlight-new-loop): diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 280a1bbc2dd..f5861550c9a 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -1675,6 +1675,9 @@ If compilation is needed, this functions returns the result of (load (if (file-exists-p dest) dest filename))) 'no-byte-compile))) +(defvar byte-compile-level 0 ; bug#13787 + "Depth of a recursive byte compilation.") + ;;;###autoload (defun byte-compile-file (filename &optional load) "Compile a file of Lisp code named FILENAME into a file of byte code. @@ -1717,7 +1720,13 @@ The value is non-nil if there were no errors, nil if errors." (setq target-file (byte-compile-dest-file filename)) (setq byte-compile-dest-file target-file) (with-current-buffer - (setq input-buffer (get-buffer-create " *Compiler Input*")) + ;; It would be cleaner to use a temp buffer, but if there was + ;; an error, we leave this buffer around for diagnostics. + ;; Its name is documented in the lispref. + (setq input-buffer (get-buffer-create + (concat " *Compiler Input*" + (if (zerop byte-compile-level) "" + (format "-%s" byte-compile-level))))) (erase-buffer) (setq buffer-file-coding-system nil) ;; Always compile an Emacs Lisp file as multibyte @@ -1770,12 +1779,15 @@ The value is non-nil if there were no errors, nil if errors." (when byte-compile-verbose (message "Compiling %s..." filename)) (setq byte-compiler-error-flag nil) + (setq byte-compile-level (1+ byte-compile-level)) ;; It is important that input-buffer not be current at this call, ;; so that the value of point set in input-buffer ;; within byte-compile-from-buffer lingers in that buffer. (setq output-buffer (save-current-buffer - (byte-compile-from-buffer input-buffer))) + (unwind-protect + (byte-compile-from-buffer input-buffer) + (setq byte-compile-level (1- byte-compile-level))))) (if byte-compiler-error-flag nil (when byte-compile-verbose @@ -1881,7 +1893,10 @@ With argument ARG, insert value in current buffer after the form." (byte-compile-close-variables (with-current-buffer (setq byte-compile--outbuffer - (get-buffer-create " *Compiler Output*")) + (get-buffer-create + (concat " *Compiler Output*" + (if (<= byte-compile-level 1) "" + (format "-%s" (1- byte-compile-level)))))) (set-buffer-multibyte t) (erase-buffer) ;; (emacs-lisp-mode) diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el index 6945e870604..3813c304de1 100644 --- a/lisp/emulation/viper-cmd.el +++ b/lisp/emulation/viper-cmd.el @@ -5085,12 +5085,12 @@ Mail anyway (y or n)? ") (require 'reporter) (set-window-configuration window-config) - (reporter-submit-bug-report "kifer@cs.stonybrook.edu" - (viper-version) - varlist - nil 'delete-other-windows - salutation) - )) + (reporter-submit-bug-report + "kifer@cs.stonybrook.edu, bug-gnu-emacs@gnu.org" + (viper-version) + varlist + nil 'delete-other-windows + salutation))) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index f2dc514116a..e63acb6b40e 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -109,17 +109,15 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-copy-keep-date t))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("scp" + '("scp" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") - (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r") - ,tramp-ssh-controlmaster-template)) + (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r") ("%c"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") @@ -128,17 +126,16 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-default-port 22))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("scp1" + '("scp1" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-1") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") - (tramp-copy-args (("-1") ("-P" "%p") ("-p" "%k") ("-q") ("-r") - ,tramp-ssh-controlmaster-template)) + (tramp-copy-args (("-1") ("-P" "%p") ("-p" "%k") + ("-q") ("-r") ("%c"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") @@ -147,17 +144,16 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-default-port 22))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("scp2" + '("scp2" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-2") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") - (tramp-copy-args (("-2") ("-P" "%p") ("-p" "%k") ("-q") ("-r") - ,tramp-ssh-controlmaster-template)) + (tramp-copy-args (("-2") ("-P" "%p") ("-p" "%k") + ("-q") ("-r") ("%c"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") @@ -166,17 +162,16 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-default-port 22))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("scpx" + '("scpx" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("-t" "-t") ("%h") ("/bin/sh"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "scp") - (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") ("-r") - ,tramp-ssh-controlmaster-template)) + (tramp-copy-args (("-P" "%p") ("-p" "%k") + ("-q") ("-r") ("%c"))) (tramp-copy-keep-date t) (tramp-copy-recursive t) (tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null") @@ -185,34 +180,27 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-default-port 22))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("sftp" + '("sftp" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "sftp") - (tramp-copy-args ,tramp-ssh-controlmaster-template))) + (tramp-copy-args ("%c")))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("rsync" + '("rsync" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") (tramp-remote-shell-args ("-c")) (tramp-copy-program "rsync") (tramp-copy-args (("-t" "%k") ("-r"))) - (tramp-copy-env (("RSYNC_RSH") - (,(mapconcat - 'identity - (append - '("ssh") tramp-ssh-controlmaster-template) - " ")))) + (tramp-copy-env (("RSYNC_RSH") ("ssh" "%c"))) (tramp-copy-keep-date t) (tramp-copy-keep-tmpfile t) (tramp-copy-recursive t))) @@ -232,10 +220,9 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-remote-shell-args ("-c")))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("ssh" + '("ssh" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") @@ -246,10 +233,9 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-default-port 22))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("ssh1" + '("ssh1" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-1") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") @@ -260,10 +246,9 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-default-port 22))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("ssh2" + '("ssh2" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-2") ("-e" "none") ("%h"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") @@ -274,10 +259,9 @@ detected as prompt when being sent on echoing hosts, therefore.") (tramp-default-port 22))) ;;;###tramp-autoload (add-to-list 'tramp-methods - `("sshx" + '("sshx" (tramp-login-program "ssh") - (tramp-login-args (("-l" "%u") ("-p" "%p") - ,tramp-ssh-controlmaster-template + (tramp-login-args (("-l" "%u") ("-p" "%p") ("%c") ("-e" "none") ("-t" "-t") ("%h") ("/bin/sh"))) (tramp-async-args (("-q"))) (tramp-remote-shell "/bin/sh") @@ -2274,7 +2258,7 @@ The method used must be an out-of-band method." (t2 (tramp-tramp-file-p newname)) (orig-vec (tramp-dissect-file-name (if t1 filename newname))) copy-program copy-args copy-env copy-keep-date port spec - source target) + options source target) (with-parsed-tramp-file-name (if t1 filename newname) nil (if (and t1 t2) @@ -2342,9 +2326,11 @@ The method used must be an out-of-band method." user (or user "") port (or port "") spec (format-spec-make - ?h host ?u user ?p port ?t (tramp-get-connection-property - (tramp-get-connection-process v) "temp-file" "") + (tramp-get-connection-process v) "temp-file" "")) + options (format-spec tramp-ssh-controlmaster-options spec) + spec (format-spec-make + ?h host ?u user ?p port ?c options ?k (if keep-date " " "")) copy-program (tramp-get-method-parameter method 'tramp-copy-program) @@ -4404,6 +4390,9 @@ connection if a previous connection has died for some reason." (setenv "PROMPT_COMMAND") (setenv "PS1" tramp-initial-end-of-output) (let* ((target-alist (tramp-compute-multi-hops vec)) + ;; We will apply `tramp-ssh-controlmaster-options' + ;; only for the first hop. + (options tramp-ssh-controlmaster-options) (process-connection-type tramp-process-connection-type) (process-adaptive-read-buffering nil) (coding-system-for-read nil) @@ -4508,8 +4497,10 @@ connection if a previous connection has died for some reason." l-host (or l-host "") l-user (or l-user "") l-port (or l-port "") + spec (format-spec-make ?t tmpfile) + options (format-spec options spec) spec (format-spec-make - ?h l-host ?u l-user ?p l-port ?t tmpfile) + ?h l-host ?u l-user ?p l-port ?c options) command (concat ;; We do not want to see the trailing local @@ -4536,7 +4527,8 @@ connection if a previous connection has died for some reason." (tramp-message vec 3 "Found remote shell prompt on `%s'" l-host)) ;; Next hop. - (setq target-alist (cdr target-alist))) + (setq options "" + target-alist (cdr target-alist))) ;; Make initial shell settings. (tramp-open-connection-setup-interactive-shell p vec)))) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index fe4959715d5..e5e69492130 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -220,7 +220,8 @@ pair of the form (KEY VALUE). The following KEYs are defined: argument. By this, arguments like (\"-l\" \"%u\") are optional. \"%t\" is replaced by the temporary file name produced with `tramp-make-tramp-temp-file'. \"%k\" indicates the keep-date - parameter of a program, if exists. + parameter of a program, if exists. \"%c\" adds additional + `tramp-ssh-controlmaster-options' options for the first hop. * `tramp-async-args' When an asynchronous process is started, we know already that the connection works. Therefore, we can pass additional @@ -281,25 +282,23 @@ started on the local host. You should specify a remote host useful only in combination with `tramp-default-proxies-alist'.") ;;;###tramp-autoload -(defconst tramp-ssh-controlmaster-template - (let (result) +(defconst tramp-ssh-controlmaster-options + (let ((result "")) (ignore-errors (with-temp-buffer (call-process "ssh" nil t nil "-o" "ControlMaster") (goto-char (point-min)) (when (search-forward-regexp "Missing ControlMaster argument" nil t) - (setq result - '("-o" "ControlPath=%t.%%r@%%h:%%p" - "-o" "ControlMaster=auto")))) + (setq result "-o ControlPath=%t.%%r@%%h:%%p -o ControlMaster=auto"))) (when result (with-temp-buffer (call-process "ssh" nil t nil "-o" "ControlPersist") (goto-char (point-min)) (when (search-forward-regexp "Missing ControlPersist argument" nil t) - (setq result (append result '("-o" "ControlPersist=no"))))))) + (setq result (concat result " -o ControlPersist=no")))))) result) "Call ssh to detect whether it supports the Control* arguments. -Return a template to be used in `tramp-methods'.") +Return a string to be used in `tramp-methods'.") (defcustom tramp-default-method ;; An external copy method seems to be preferred, because it performs @@ -333,7 +332,7 @@ Return a template to be used in `tramp-methods'.") (getenv "SSH_AUTH_SOCK") (getenv "SSH_AGENT_PID") ;; We could reuse the connection. - tramp-ssh-controlmaster-template) + (> (length tramp-ssh-controlmaster-options) 0)) "scp" "ssh")) ;; Fallback. diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el index 184de99302e..0f994a8422b 100644 --- a/lisp/progmodes/ps-mode.el +++ b/lisp/progmodes/ps-mode.el @@ -5,7 +5,7 @@ ;; Author: Peter Kleiweg ;; Maintainer: Peter Kleiweg ;; Created: 20 Aug 1997 -;; Version: 1.1h +;; Version: 1.1i ;; Keywords: PostScript, languages ;; Yoni Rabkin contacted the maintainer of this @@ -35,8 +35,9 @@ ;;; Code: -(defconst ps-mode-version "1.1h, 16 Jun 2005") -(defconst ps-mode-maintainer-address "Peter Kleiweg ") +(defconst ps-mode-version "1.1i, 17 May 2008") +(defconst ps-mode-maintainer-address + "Peter Kleiweg , bug-gnu-emacs@gnu.org") (require 'comint) (require 'easymenu) @@ -805,7 +806,7 @@ Only one `%' is removed, and it has to be in the first column." (while (re-search-forward "[\200-\377]" (marker-position endm) t) (setq i (1+ i)) (backward-char) - (insert (format "\\%03o" (string-to-char (buffer-substring (point) (1+ (point)))))) + (insert (format "\\%03o" (string-to-char (string-make-unibyte (buffer-substring (point) (1+ (point))))))) (delete-char 1)) (message "%d change%s made" i (if (= i 1) "" "s")) (set-marker endm nil))))) diff --git a/lisp/progmodes/simula.el b/lisp/progmodes/simula.el index d71c9adbef4..77732ed3241 100644 --- a/lisp/progmodes/simula.el +++ b/lisp/progmodes/simula.el @@ -244,8 +244,7 @@ for SIMULA mode to function correctly." ; it determines the flavor of the Emacs running (defvar simula-mode-menu - '(["Report Bug" simula-submit-bug-report t] - ["Indent Line" simula-indent-line t] + '(["Indent Line" simula-indent-line t] ["Backward Statement" simula-previous-statement t] ["Forward Statement" simula-next-statement t] ["Backward Up Level" simula-backward-up-level t] @@ -286,10 +285,6 @@ for SIMULA mode to function correctly." ;; Emacs 19 defines menus in the mode map (define-key map [menu-bar simula] (cons "SIMULA" (make-sparse-keymap "SIMULA"))) - (define-key map [menu-bar simula bug-report] - '("Submit Bug Report" . simula-submit-bug-report)) - (define-key map [menu-bar simula separator-indent] - '("--")) (define-key map [menu-bar simula indent-exp] '("Indent Expression" . simula-indent-exp)) (define-key map [menu-bar simula indent-line] @@ -1622,28 +1617,11 @@ If not nil and not t, move to limit of search and return nil." (defconst simula-mode-help-address "bug-gnu-emacs@gnu.org" "Address accepting submission of `simula-mode' bug reports.") -(defun simula-submit-bug-report () - "Submit via mail a bug report on `simula-mode'." - (interactive) - (and - (y-or-n-p "Do you want to submit a report on simula-mode? ") - (reporter-submit-bug-report - simula-mode-help-address - (concat "simula-mode from Emacs " emacs-version) - (list - ;; report only the vars that affect indentation - 'simula-indent-level - 'simula-substatement-offset - 'simula-continued-statement-offset - 'simula-label-offset - 'simula-if-indent - 'simula-inspect-indent - 'simula-electric-indent - 'simula-abbrev-keyword - 'simula-abbrev-stdproc - 'simula-abbrev-file - 'simula-tab-always-indent - )))) +(make-obsolete-variable 'simula-mode-help-address 'report-emacs-bug-address + "24.4") + +(define-obsolete-function-alias 'simula-submit-bug-report + 'report-emacs-bug "24.4") (provide 'simula) diff --git a/lisp/progmodes/vera-mode.el b/lisp/progmodes/vera-mode.el index 0c456d3b944..7b59faca261 100644 --- a/lisp/progmodes/vera-mode.el +++ b/lisp/progmodes/vera-mode.el @@ -1423,7 +1423,8 @@ If `vera-intelligent-tab' is nil, always indent line." ;;; Bug reports ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defconst vera-mode-help-address "Reto Zimmermann " +(defconst vera-mode-help-address + "Reto Zimmermann , bug-gnu-emacs@gnu.org" "Address for Vera Mode bug reports.") ;; get reporter-submit-bug-report when byte-compiling diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index c2978b0ea40..2bd7283676e 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el @@ -198,7 +198,7 @@ ;; Variables (defconst artist-version "1.2.6") -(defconst artist-maintainer-address "tab@lysator.liu.se") +(defconst artist-maintainer-address "tab@lysator.liu.se, bug-gnu-emacs@gnu.org") (defvar x-pointer-crosshair) diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el index a41409fc897..d5bb0170cd9 100644 --- a/lisp/textmodes/reftex.el +++ b/lisp/textmodes/reftex.el @@ -2464,7 +2464,7 @@ information about your RefTeX version and configuration." (require 'reporter) (let ((reporter-prompt-for-summary-p "Bug report subject: ")) (reporter-submit-bug-report - "bug-auctex@gnu.org" + "bug-auctex@gnu.org, bug-gnu-emacs@gnu.org" reftex-version (list 'window-system 'reftex-plug-into-AUCTeX) diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el index fd53aabd33c..81146c0c931 100644 --- a/lisp/vc/ediff-util.el +++ b/lisp/vc/ediff-util.el @@ -4024,7 +4024,7 @@ Mail anyway? (y or n) ") (set-buffer ctl-buf)) (setq buffer-name (buffer-name)) (require 'reporter) - (reporter-submit-bug-report "kifer@cs.stonybrook.edu" + (reporter-submit-bug-report "kifer@cs.stonybrook.edu, bug-gnu-emacs@gnu.org" (ediff-version) varlist nil