Now on revision 111364. ------------------------------------------------------------ revno: 111364 committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-12-29 14:14:55 +0800 message: Fix ChangeLog entry for last commit. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-29 06:14:00 +0000 +++ lisp/ChangeLog 2012-12-29 06:14:55 +0000 @@ -1,6 +1,6 @@ 2012-12-29 Damien Cassou - * info.el (info-other-window): + * info.el (info-other-window): New arg, for consistency with info. 2012-12-28 Martin Rudalics ------------------------------------------------------------ revno: 111363 author: Damien Cassou committer: Chong Yidong branch nick: trunk timestamp: Sat 2012-12-29 14:14:00 +0800 message: * info.el (info-other-window): New arg, for consistency with info. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-28 10:24:04 +0000 +++ lisp/ChangeLog 2012-12-29 06:14:00 +0000 @@ -1,3 +1,7 @@ +2012-12-29 Damien Cassou + + * info.el (info-other-window): + 2012-12-28 Martin Rudalics * mail/rmail.el (rmail-maybe-display-summary): Rewrite === modified file 'lisp/info.el' --- lisp/info.el 2012-12-27 20:42:02 +0000 +++ lisp/info.el 2012-12-29 06:14:00 +0000 @@ -746,11 +746,15 @@ (push dir Info-directory-list))))))) ;;;###autoload -(defun info-other-window (&optional file-or-node) +(defun info-other-window (&optional file-or-node buffer) "Like `info' but show the Info buffer in another window." - (interactive (if current-prefix-arg - (list (read-file-name "Info file name: " nil nil t)))) - (info-setup file-or-node (switch-to-buffer-other-window "*info*"))) + (interactive (list + (if (and current-prefix-arg (not (numberp current-prefix-arg))) + (read-file-name "Info file name: " nil nil t)) + (if (numberp current-prefix-arg) + (format "*info*<%s>" current-prefix-arg)))) + (info-setup file-or-node + (switch-to-buffer-other-window (or buffer "*info*")))) ;;;###autoload (put 'info 'info-file (purecopy "emacs")) ;;;###autoload @@ -767,8 +771,9 @@ In interactive use, a non-numeric prefix argument directs this command to read a file name from the minibuffer. -A numeric prefix argument selects an Info buffer with the prefix number -appended to the Info buffer name. + +A numeric prefix argument N selects an Info buffer named +\"*info*<%s>\". The search path for Info files is in the variable `Info-directory-list'. The top-level Info directory is made by combining all the files named `dir' ------------------------------------------------------------ revno: 111362 committer: martin rudalics branch nick: trunk timestamp: Fri 2012-12-28 15:35:33 +0100 message: Simplify and fix last fix of rmail-maybe-display-summary. diff: === modified file 'lisp/mail/rmail.el' --- lisp/mail/rmail.el 2012-12-28 10:24:04 +0000 +++ lisp/mail/rmail.el 2012-12-28 14:35:33 +0000 @@ -4224,17 +4224,15 @@ ;; Put the summary buffer back on the screen, if user wants that. (defun rmail-maybe-display-summary () - (let (window size) - ;; If requested, make sure the summary is displayed. - (and rmail-summary-buffer (buffer-name rmail-summary-buffer) - rmail-redisplay-summary - (setq window - (display-buffer - rmail-summary-buffer '(nil (reusable-frames . visible)))) - rmail-summary-window-size - (setq size (- rmail-summary-window-size (window-height window))) - (window--resizable-p window size) - (window-resize window size)))) + ;; If requested, make sure the summary is displayed. + (when (and rmail-summary-buffer (buffer-name rmail-summary-buffer) + rmail-redisplay-summary) + (display-buffer + rmail-summary-buffer + `(nil + (reusable-frames . 0) + ,(when rmail-summary-window-size + `(window-height . ,rmail-summary-window-size)))))) ;;;; *** Rmail Local Fontification *** ------------------------------------------------------------ revno: 111361 author: Lars Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Fri 2012-12-28 12:26:54 +0000 message: lisp/gnus/nntp.el (nntp-open-connection): Fix nntp connection problems with the Typhoon server diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-12-27 22:51:46 +0000 +++ lisp/gnus/ChangeLog 2012-12-28 12:26:54 +0000 @@ -1,3 +1,9 @@ +2012-12-27 Lars Ingebrigtsen + + * nntp.el (nntp-open-connection): Use HELP as the capability command + instead of CAPABILITY because Typhoon v2.2.2.503 chokes completely on + unknown commands. And CAPABILITY is an unknown command (bug#12763). + 2012-12-27 Wolfgang Jenkner * gnus-spec.el (gnus-face-face-function): Don't use nil as no-op face === modified file 'lisp/gnus/nntp.el' --- lisp/gnus/nntp.el 2012-07-24 22:17:17 +0000 +++ lisp/gnus/nntp.el 2012-12-28 12:26:54 +0000 @@ -1282,7 +1282,7 @@ "nntpd" pbuffer nntp-address nntp-port-number :type (cadr (assoc nntp-open-connection-function map)) :end-of-command "^\\([2345]\\|[.]\\).*\n" - :capability-command "CAPABILITIES\r\n" + :capability-command "HELP\r\n" :success "^3" :starttls-function (lambda (capabilities) ------------------------------------------------------------ revno: 111360 committer: Glenn Morris branch nick: trunk timestamp: Fri 2012-12-28 06:17:36 -0500 message: Auto-commit of generated files. diff: === modified file 'autogen/configure' --- autogen/configure 2012-12-27 11:17:38 +0000 +++ autogen/configure 2012-12-28 11:17:36 +0000 @@ -3330,6 +3330,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu +emacs_config_options="$@" ac_config_headers="$ac_config_headers src/config.h:src/config.in" @@ -16106,9 +16107,10 @@ #define EMACS_CONFIGURATION "${canonical}" _ACEOF +emacs_config_options=`echo "$emacs_config_options" | sed -e "s/\"/'/g"` cat >>confdefs.h <<_ACEOF -#define EMACS_CONFIG_OPTIONS "${ac_configure_args}" +#define EMACS_CONFIG_OPTIONS "${emacs_config_options}" _ACEOF ------------------------------------------------------------ revno: 111359 committer: martin rudalics branch nick: trunk timestamp: Fri 2012-12-28 11:24:04 +0100 message: Rewrite rmail-maybe-display-summary (Bug#13066). * mail/rmail.el (rmail-maybe-display-summary): Rewrite (Bug#13066). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-28 09:49:59 +0000 +++ lisp/ChangeLog 2012-12-28 10:24:04 +0000 @@ -1,3 +1,8 @@ +2012-12-28 Martin Rudalics + + * mail/rmail.el (rmail-maybe-display-summary): Rewrite + (Bug#13066). + 2012-12-28 Andreas Schwab * epg.el (epg--start): Modify process-environment locally. === modified file 'lisp/mail/rmail.el' --- lisp/mail/rmail.el 2012-12-10 12:08:02 +0000 +++ lisp/mail/rmail.el 2012-12-28 10:24:04 +0000 @@ -4224,31 +4224,17 @@ ;; Put the summary buffer back on the screen, if user wants that. (defun rmail-maybe-display-summary () - (let ((selected (selected-window)) - (buffer (current-buffer)) - window) + (let (window size) ;; If requested, make sure the summary is displayed. (and rmail-summary-buffer (buffer-name rmail-summary-buffer) rmail-redisplay-summary - (if (get-buffer-window rmail-summary-buffer 0) - ;; It's already in some frame; show that one. - (let ((frame (window-frame - (get-buffer-window rmail-summary-buffer 0)))) - (make-frame-visible frame) - (raise-frame frame)) - (display-buffer rmail-summary-buffer))) - ;; If requested, set the height of the summary window. - (and rmail-summary-buffer (buffer-name rmail-summary-buffer) + (setq window + (display-buffer + rmail-summary-buffer '(nil (reusable-frames . visible)))) rmail-summary-window-size - (setq window (get-buffer-window rmail-summary-buffer)) - ;; Don't try to change the size if just one window in frame. - (not (eq window (frame-root-window (window-frame window)))) - (unwind-protect - (progn - (select-window window) - (enlarge-window (- rmail-summary-window-size (window-height)))) - (select-window selected) - (set-buffer buffer))))) + (setq size (- rmail-summary-window-size (window-height window))) + (window--resizable-p window size) + (window-resize window size)))) ;;;; *** Rmail Local Fontification *** ------------------------------------------------------------ revno: 111358 committer: Andreas Schwab branch nick: emacs timestamp: Fri 2012-12-28 10:49:59 +0100 message: * epg.el (epg--start): Modify process-environment locally. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-28 03:51:20 +0000 +++ lisp/ChangeLog 2012-12-28 09:49:59 +0000 @@ -1,3 +1,7 @@ +2012-12-28 Andreas Schwab + + * epg.el (epg--start): Modify process-environment locally. + 2012-12-28 Daiki Ueno * epg.el: Support pinentry-curses. === modified file 'lisp/epg.el' --- lisp/epg.el 2012-12-28 03:51:20 +0000 +++ lisp/epg.el 2012-12-28 09:49:59 +0000 @@ -1156,6 +1156,7 @@ (coding-system-for-write 'binary) (coding-system-for-read 'binary) process-connection-type + (process-environment process-environment) (orig-mode (default-file-modes)) (buffer (generate-new-buffer " *epg*")) process @@ -1170,8 +1171,9 @@ (delete-backward-char 1) (setq terminal-name (buffer-string)))) (when terminal-name - (setenv "GPG_TTY" terminal-name) - (setenv "TERM" "xterm")) + (setq process-environment + (cons (concat "GPG_TTY=" terminal-name) + (cons "TERM=xterm" process-environment)))) ;; Record modified time of gpg-agent socket to restore the Emacs ;; frame on text terminal in `epg-wait-for-completion'. ;; See ------------------------------------------------------------ revno: 111357 committer: Daiki Ueno branch nick: trunk timestamp: Fri 2012-12-28 12:51:20 +0900 message: epg: Support pinentry-curses diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-12-27 20:42:02 +0000 +++ lisp/ChangeLog 2012-12-28 03:51:20 +0000 @@ -1,3 +1,13 @@ +2012-12-28 Daiki Ueno + + * epg.el: Support pinentry-curses. + Suggested by Werner Koch in + . + (epg-agent-file, epg-agent-mtime): New variable. + (epg--start): Record the modified time of gpg-agent socket file, + to restore Emacs frame after pinentry-curses termination. + (epg-wait-for-completion): Restore Emacs frame here. + 2012-12-27 Juri Linkov * info.el (Info-file-completions): New variable. === modified file 'lisp/epg.el' --- lisp/epg.el 2012-12-26 04:20:21 +0000 +++ lisp/epg.el 2012-12-28 03:51:20 +0000 @@ -37,6 +37,8 @@ (defvar epg-key-id nil) (defvar epg-context nil) (defvar epg-debug-buffer nil) +(defvar epg-agent-file nil) +(defvar epg-agent-mtime nil) ;; from gnupg/include/cipher.h (defconst epg-cipher-algorithm-alist @@ -1156,7 +1158,28 @@ process-connection-type (orig-mode (default-file-modes)) (buffer (generate-new-buffer " *epg*")) - process) + process + terminal-name + agent-file + (agent-mtime '(0 0 0 0))) + ;; Set GPG_TTY and TERM for pinentry-curses. Note that we can't + ;; use `terminal-name' here to get the real pty name for the child + ;; process, though /dev/fd/0" is not portable. + (with-temp-buffer + (when (= (call-process "tty" "/dev/fd/0" t) 0) + (delete-backward-char 1) + (setq terminal-name (buffer-string)))) + (when terminal-name + (setenv "GPG_TTY" terminal-name) + (setenv "TERM" "xterm")) + ;; Record modified time of gpg-agent socket to restore the Emacs + ;; frame on text terminal in `epg-wait-for-completion'. + ;; See + ;; + ;; for more details. + (when (and agent-info (string-match "\\(.*\\):[0-9]+:[0-9]+" agent-info)) + (setq agent-file (match-string 1 agent-info) + agent-mtime (or (nth 5 (file-attributes agent-file)) '(0 0 0 0)))) (if epg-debug (save-excursion (unless epg-debug-buffer @@ -1185,7 +1208,11 @@ (make-local-variable 'epg-key-id) (setq epg-key-id nil) (make-local-variable 'epg-context) - (setq epg-context context)) + (setq epg-context context) + (make-local-variable 'epg-agent-file) + (setq epg-agent-file agent-file) + (make-local-variable 'epg-agent-mtime) + (setq epg-agent-mtime agent-mtime)) (unwind-protect (progn (set-default-file-modes 448) @@ -1262,6 +1289,13 @@ (accept-process-output (epg-context-process context) 1)) ;; This line is needed to run the process-filter right now. (sleep-for 0.1) + ;; Restore Emacs frame on text terminal, when pinentry-curses has terminated. + (if (with-current-buffer (process-buffer (epg-context-process context)) + (and epg-agent-file + (> (float-time (or (nth 5 (file-attributes epg-agent-file)) + '(0 0 0 0))) + (float-time epg-agent-mtime)))) + (redraw-frame)) (epg-context-set-result-for context 'error (nreverse (epg-context-result-for context 'error))))