Now on revision 105875. Conflicting tags: mh-e-doc-8.3 mh-e-8.3 ------------------------------------------------------------ revno: 105875 committer: Michael Albinus branch nick: trunk timestamp: Thu 2011-09-22 12:00:07 +0200 message: * files.el (copy-directory): Set directory attributes only in case they could be retrieved from the source directory. (Bug#9565) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-22 09:28:57 +0000 +++ lisp/ChangeLog 2011-09-22 10:00:07 +0000 @@ -1,3 +1,8 @@ +2011-09-22 Michael Albinus + + * files.el (copy-directory): Set directory attributes only in case + they could be retrieved from the source directory. (Bug#9565) + 2011-09-22 Dima Kogan (tiny change) * progmodes/hideshow.el (hs-looking-at-block-start-p) === modified file 'lisp/files.el' --- lisp/files.el 2011-09-18 15:30:10 +0000 +++ lisp/files.el 2011-09-22 10:00:07 +0000 @@ -4941,9 +4941,10 @@ (copy-file file target t keep-time))))) ;; Set directory attributes. - (set-file-modes newname (file-modes directory)) - (if keep-time - (set-file-times newname (nth 5 (file-attributes directory))))))) + (let ((modes (file-modes directory)) + (times (and keep-time (nth 5 (file-attributes directory))))) + (if modes (set-file-modes newname modes)) + (if times (set-file-times newname times)))))) (put 'revert-buffer-function 'permanent-local t) (defvar revert-buffer-function nil ------------------------------------------------------------ revno: 105874 committer: martin rudalics branch nick: trunk timestamp: Thu 2011-09-22 11:28:57 +0200 message: In special-display-popup-frame reset new frame's previous buffers to nil. * window.el (special-display-popup-frame): When popping up a new frame reset its previous buffers to nil. Simplify code. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-22 07:24:08 +0000 +++ lisp/ChangeLog 2011-09-22 09:28:57 +0000 @@ -14,6 +14,8 @@ * window.el (quit-window): Undedicate window when switching to previous buffer. Reported by Thierry Volpiatto . + (special-display-popup-frame): When popping up a new frame reset + its previous buffers to nil. Simplify code. 2011-09-21 Michael Albinus === modified file 'lisp/window.el' --- lisp/window.el 2011-09-22 06:56:19 +0000 +++ lisp/window.el 2011-09-22 09:28:57 +0000 @@ -4104,14 +4104,16 @@ special-display-buffer-names special-display-regexps) (display-buffer buffer))) ;; If no window yet, make one in a new frame. - (let ((frame - (with-current-buffer buffer - (make-frame (append args special-display-frame-alist))))) - (display-buffer-record-window - 'frame (frame-selected-window frame) buffer) - (set-window-buffer (frame-selected-window frame) buffer) - (set-window-dedicated-p (frame-selected-window frame) t) - (frame-selected-window frame)))))) + (let* ((frame + (with-current-buffer buffer + (make-frame (append args special-display-frame-alist)))) + (window (frame-selected-window frame))) + (display-buffer-record-window 'frame window buffer) + (set-window-buffer window buffer) + ;; Reset list of WINDOW's previous buffers to nil. + (set-window-prev-buffers window nil) + (set-window-dedicated-p window t) + window))))) (defcustom special-display-function 'special-display-popup-frame "Function to call for displaying special buffers. ------------------------------------------------------------ revno: 105873 fixes bug(s): http://debbugs.gnu.org/9502 author: Dima Kogan committer: Glenn Morris branch nick: trunk timestamp: Thu 2011-09-22 00:24:08 -0700 message: Small hideshow fix - ignore strings as well as comments (tiny change) * lisp/progmodes/hideshow.el (hs-looking-at-block-start-p) (hs-find-block-beginning, hs-hide-level-recursive): Ignore strings as well as comments. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-22 07:05:40 +0000 +++ lisp/ChangeLog 2011-09-22 07:24:08 +0000 @@ -1,3 +1,9 @@ +2011-09-22 Dima Kogan (tiny change) + + * progmodes/hideshow.el (hs-looking-at-block-start-p) + (hs-find-block-beginning, hs-hide-level-recursive): + Ignore strings as well as comments. (Bug#9502) + 2011-09-22 Andrew Schein (tiny change) * progmodes/sql.el (sql-comint-postgres): === modified file 'lisp/progmodes/hideshow.el' --- lisp/progmodes/hideshow.el 2011-05-28 18:35:29 +0000 +++ lisp/progmodes/hideshow.el 2011-09-22 07:24:08 +0000 @@ -539,7 +539,7 @@ (defun hs-looking-at-block-start-p () "Return non-nil if the point is at the block start." (and (looking-at hs-block-start-regexp) - (save-match-data (not (nth 4 (syntax-ppss)))))) + (save-match-data (not (nth 8 (syntax-ppss)))))) (defun hs-forward-sexp (match-data arg) "Adjust point based on MATCH-DATA and call `hs-forward-sexp-func' w/ ARG. @@ -693,8 +693,8 @@ (point) ;; look backward for the start of a block that contains the cursor (while (and (re-search-backward hs-block-start-regexp nil t) - ;; go again if in a comment - (or (save-match-data (nth 4 (syntax-ppss))) + ;; go again if in a comment or a string + (or (save-match-data (nth 8 (syntax-ppss))) (not (setq done (< here (save-excursion (hs-forward-sexp (match-data t) 1) @@ -718,7 +718,7 @@ (and (< (point) maxp) (re-search-forward hs-block-start-regexp maxp t))) (when (save-match-data - (not (nth 4 (syntax-ppss)))) ; not inside comments + (not (nth 8 (syntax-ppss)))) ; not inside comments or strings (if (> arg 1) (hs-hide-level-recursive (1- arg) minp maxp) (goto-char (match-beginning hs-block-start-mdata-select)) ------------------------------------------------------------ revno: 105872 fixes bug(s): http://debbugs.gnu.org/9556 author: Andrew Schein committer: Glenn Morris branch nick: trunk timestamp: Thu 2011-09-22 00:05:40 -0700 message: Small sql.el fix (tiny change) * lisp/progmodes/sql.el (sql-comint-postgres): Convert port number to a string. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-22 06:56:19 +0000 +++ lisp/ChangeLog 2011-09-22 07:05:40 +0000 @@ -1,3 +1,8 @@ +2011-09-22 Andrew Schein (tiny change) + + * progmodes/sql.el (sql-comint-postgres): + Convert port number to a string. (Bug#9566) + 2011-09-22 Martin Rudalics * window.el (quit-window): Undedicate window when switching to === modified file 'lisp/progmodes/sql.el' --- lisp/progmodes/sql.el 2011-07-06 03:51:48 +0000 +++ lisp/progmodes/sql.el 2011-09-22 07:05:40 +0000 @@ -4725,7 +4725,7 @@ (if (not (string= "" sql-user)) (setq params (append (list "-U" sql-user) params))) (if (not (= 0 sql-port)) - (setq params (append (list "-p" sql-port) params))) + (setq params (append (list "-p" (number-to-string sql-port)) params))) (sql-comint product params))) (defun sql-postgres-completion-object (sqlbuf schema) ------------------------------------------------------------ revno: 105871 committer: martin rudalics branch nick: trunk timestamp: Thu 2011-09-22 08:56:19 +0200 message: Undedicate window when quitting should switch to previous buffer. * window.el (quit-window): Undedicate window when switching to previous buffer. Reported by Thierry Volpiatto . diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-09-21 10:42:55 +0000 +++ lisp/ChangeLog 2011-09-22 06:56:19 +0000 @@ -1,3 +1,9 @@ +2011-09-22 Martin Rudalics + + * window.el (quit-window): Undedicate window when switching to + previous buffer. Reported by Thierry Volpiatto + . + 2011-09-21 Michael Albinus * net/tramp.el (tramp-handle-shell-command): Set process sentinel === modified file 'lisp/window.el' --- lisp/window.el 2011-09-21 08:20:21 +0000 +++ lisp/window.el 2011-09-22 06:56:19 +0000 @@ -2937,6 +2937,8 @@ ;; Show some other buffer in WINDOW and reset the quit-restore ;; parameter. (set-window-parameter window 'quit-restore nil) + ;; Make sure that WINDOW is no more dedicated. + (set-window-dedicated-p window nil) (switch-to-prev-buffer window 'bury-or-kill))) ;; Kill WINDOW's old-buffer if requested ------------------------------------------------------------ revno: 105870 committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2011-09-22 04:43:36 +0000 message: mml.el (mml-inhibit-compute-boundary): New internal variable. (mml-compute-boundary): Don't check collision if it is non-nil. (mml-compute-boundary-1): Use mml-generate-mime-1 to encode part before checking collision. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-09-21 22:34:54 +0000 +++ lisp/gnus/ChangeLog 2011-09-22 04:43:36 +0000 @@ -1,3 +1,10 @@ +2011-09-22 Katsumi Yamaoka + + * mml.el (mml-inhibit-compute-boundary): New internal variable. + (mml-compute-boundary): Don't check collision if it is non-nil. + (mml-compute-boundary-1): Use mml-generate-mime-1 to encode part + before checking collision. + 2011-09-21 Lars Magne Ingebrigtsen * message.el (message-indent-citation): Really make sure there's a === modified file 'lisp/gnus/mml.el' --- lisp/gnus/mml.el 2011-09-10 08:26:12 +0000 +++ lisp/gnus/mml.el 2011-09-22 04:43:36 +0000 @@ -461,6 +461,7 @@ (defvar mml-boundary nil) (defvar mml-base-boundary "-=-=") (defvar mml-multipart-number 0) +(defvar mml-inhibit-compute-boundary nil) (defun mml-generate-mime () "Generate a MIME message based on the current MML document." @@ -710,34 +711,30 @@ "Return a unique boundary that does not exist in CONT." (let ((mml-boundary (funcall mml-boundary-function (incf mml-multipart-number)))) - ;; This function tries again and again until it has found - ;; a unique boundary. - (while (not (catch 'not-unique - (mml-compute-boundary-1 cont)))) + (unless mml-inhibit-compute-boundary + ;; This function tries again and again until it has found + ;; a unique boundary. + (while (not (catch 'not-unique + (mml-compute-boundary-1 cont))))) mml-boundary)) (defun mml-compute-boundary-1 (cont) - (let (filename) - (cond - ((member (car cont) '(part mml)) - (with-temp-buffer - (cond - ((cdr (assq 'buffer cont)) - (insert-buffer-substring (cdr (assq 'buffer cont)))) - ((and (setq filename (cdr (assq 'filename cont))) - (not (equal (cdr (assq 'nofile cont)) "yes"))) - (mm-insert-file-contents filename nil nil nil nil t)) - (t - (insert (cdr (assq 'contents cont))))) - (goto-char (point-min)) - (when (re-search-forward (concat "^--" (regexp-quote mml-boundary)) - nil t) - (setq mml-boundary (funcall mml-boundary-function - (incf mml-multipart-number))) - (throw 'not-unique nil)))) - ((eq (car cont) 'multipart) - (mapc 'mml-compute-boundary-1 (cddr cont)))) - t)) + (cond + ((member (car cont) '(part mml)) + (mm-with-multibyte-buffer + (let ((mml-inhibit-compute-boundary t) + (mml-multipart-number 0) + mml-sign-alist mml-encrypt-alist) + (mml-generate-mime-1 cont)) + (goto-char (point-min)) + (when (re-search-forward (concat "^--" (regexp-quote mml-boundary)) + nil t) + (setq mml-boundary (funcall mml-boundary-function + (incf mml-multipart-number))) + (throw 'not-unique nil)))) + ((eq (car cont) 'multipart) + (mapc 'mml-compute-boundary-1 (cddr cont)))) + t) (defun mml-make-boundary (number) (concat (make-string (% number 60) ?=) ------------------------------------------------------------ revno: 105869 author: Lars Magne Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-09-21 22:34:54 +0000 message: Merge changes made in Gnus trunk. gnus.texi (Archived Messages): Note the default (bug#9552). message.el (message-indent-citation): Really make sure there's a newline at the end. nnimap.el (nnimap-parse-flags): Make regexp less prone to overflows. Fix suggested by John Wiegley. pop3.el (pop3-open-server): Fix +OK end-of-command regexp. gnus-art.el (gnus-treat-hide-citation): Add doc. message.el (message-default-send-rename-function): Break out into its own function. ecomplete.el (ecomplete-display-matches): Revert patch since it doesn't work under XEmacs. nnimap.el (nnimap-map-port): New function to connect to 993 instead of "imaps" to word around Windows problems. (nnimap-open-connection-1): Use it. message.el (message-indent-citation): Revert last change which made `F' not work. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2011-09-21 05:22:17 +0000 +++ doc/misc/ChangeLog 2011-09-21 22:34:54 +0000 @@ -1,3 +1,7 @@ +2011-09-21 Lars Magne Ingebrigtsen + + * gnus.texi (Archived Messages): Note the default (bug#9552). + 2011-09-21 Bill Wohler Release MH-E manual version 8.3. === modified file 'doc/misc/gnus.texi' --- doc/misc/gnus.texi 2011-09-11 22:50:22 +0000 +++ doc/misc/gnus.texi 2011-09-21 22:34:54 +0000 @@ -12617,7 +12617,7 @@ When a key ``matches'', the result is used. @item @code{nil} -No message archiving will take place. This is the default. +No message archiving will take place. @end table Let's illustrate: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-09-21 12:23:49 +0000 +++ lisp/gnus/ChangeLog 2011-09-21 22:34:54 +0000 @@ -1,3 +1,28 @@ +2011-09-21 Lars Magne Ingebrigtsen + + * message.el (message-indent-citation): Really make sure there's a + newline at the end. + + * nnimap.el (nnimap-parse-flags): Make regexp less prone to overflows. + Fix suggested by John Wiegley. + + * pop3.el (pop3-open-server): Fix +OK end-of-command regexp. + + * gnus-art.el (gnus-treat-hide-citation): Add doc. + + * message.el (message-default-send-rename-function): Break out into its + own function. + + * ecomplete.el (ecomplete-display-matches): Revert patch since it + doesn't work under XEmacs. + + * nnimap.el (nnimap-map-port): New function to connect to 993 instead + of "imaps" to word around Windows problems. + (nnimap-open-connection-1): Use it. + + * message.el (message-indent-citation): Revert last change which made + `F' not work. + 2011-09-13 Kan-Ru Chen * ecomplete.el (ecomplete-display-matches): Intercept key sequence from === modified file 'lisp/gnus/ecomplete.el' --- lisp/gnus/ecomplete.el 2011-09-21 12:23:49 +0000 +++ lisp/gnus/ecomplete.el 2011-09-21 22:34:54 +0000 @@ -123,15 +123,14 @@ (message "%s" matches) nil) (setq highlight (ecomplete-highlight-match-line matches line)) - (while (not (member (setq command (read-key-sequence-vector highlight)) - '([? ] [return] [?\r] [?\n] [?\C-g]))) + (while (not (memq (setq command (read-event highlight)) '(? return))) (cond - ((member command '([27 ?n] [?\M-n])) + ((eq command ?\M-n) (setq line (min (1+ line) max-lines))) - ((member command '([27 ?p] [?\M-p])) + ((eq command ?\M-p) (setq line (max (1- line) 0)))) (setq highlight (ecomplete-highlight-match-line matches line))) - (when (member command '([return] [?\r] [?\n])) + (when (eq command 'return) (nth line (split-string matches "\n"))))))) (defun ecomplete-highlight-match-line (matches line) === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2011-09-10 23:30:53 +0000 +++ lisp/gnus/gnus-art.el 2011-09-21 22:34:54 +0000 @@ -1231,7 +1231,10 @@ (defcustom gnus-treat-hide-citation nil "Hide cited text. Valid values are nil, t, `head', `first', `last', an integer or a -predicate. See Info node `(gnus)Customizing Articles'." +predicate. See Info node `(gnus)Customizing Articles'. + +See `gnus-article-highlight-citation' for variables used to +control what it hides." :group 'gnus-article-treat :link '(custom-manual "(gnus)Customizing Articles") :type gnus-article-treat-custom) === modified file 'lisp/gnus/message.el' --- lisp/gnus/message.el 2011-09-20 22:14:36 +0000 +++ lisp/gnus/message.el 2011-09-21 22:34:54 +0000 @@ -3679,9 +3679,10 @@ (message-delete-line)) ;; Delete blank lines at the end of the buffer. (goto-char (point-max)) - (beginning-of-line) - (while (and (looking-at "$") - (zerop (forward-line -1))) + (unless (eq (preceding-char) ?\n) + (insert "\n")) + (while (and (zerop (forward-line -1)) + (looking-at "$")) (message-delete-line))) ;; Do the indentation. (if (null message-yank-prefix) @@ -6357,35 +6358,38 @@ ;; Rename the buffer. (if message-send-rename-function (funcall message-send-rename-function) - ;; Note: mail-abbrevs of XEmacs renames buffer name behind Gnus. - (when (string-match - "\\`\\*\\(sent \\|unsent \\)?\\(.+\\)\\*[^\\*]*\\|\\`mail to " - (buffer-name)) - (let ((name (match-string 2 (buffer-name))) - to group) - (if (not (or (null name) - (string-equal name "mail") - (string-equal name "posting"))) - (setq name (concat "*sent " name "*")) - (message-narrow-to-headers) - (setq to (message-fetch-field "to")) - (setq group (message-fetch-field "newsgroups")) - (widen) - (setq name - (cond - (to (concat "*sent mail to " - (or (car (mail-extract-address-components to)) - to) "*")) - ((and group (not (string= group ""))) - (concat "*sent posting on " group "*")) - (t "*sent mail*")))) - (unless (string-equal name (buffer-name)) - (rename-buffer name t))))) + (message-default-send-rename-function)) ;; Push the current buffer onto the list. (when message-max-buffers (setq message-buffer-list (nconc message-buffer-list (list (current-buffer)))))) +(defun message-default-send-rename-function () + ;; Note: mail-abbrevs of XEmacs renames buffer name behind Gnus. + (when (string-match + "\\`\\*\\(sent \\|unsent \\)?\\(.+\\)\\*[^\\*]*\\|\\`mail to " + (buffer-name)) + (let ((name (match-string 2 (buffer-name))) + to group) + (if (not (or (null name) + (string-equal name "mail") + (string-equal name "posting"))) + (setq name (concat "*sent " name "*")) + (message-narrow-to-headers) + (setq to (message-fetch-field "to")) + (setq group (message-fetch-field "newsgroups")) + (widen) + (setq name + (cond + (to (concat "*sent mail to " + (or (car (mail-extract-address-components to)) + to) "*")) + ((and group (not (string= group ""))) + (concat "*sent posting on " group "*")) + (t "*sent mail*")))) + (unless (string-equal name (buffer-name)) + (rename-buffer name t))))) + (defun message-mail-user-agent () (let ((mua (cond ((not message-mail-user-agent) nil) === modified file 'lisp/gnus/nnimap.el' --- lisp/gnus/nnimap.el 2011-09-10 23:30:53 +0000 +++ lisp/gnus/nnimap.el 2011-09-21 22:34:54 +0000 @@ -345,6 +345,11 @@ nil stream))) +(defun nnimap-map-port (port) + (if (equal port "imaps") + "993" + port)) + (defun nnimap-open-connection-1 (buffer) (unless nnimap-keepalive-timer (setq nnimap-keepalive-timer (run-at-time (* 60 15) (* 60 15) @@ -373,7 +378,8 @@ (push nnimap-server-port ports)) (let* ((stream-list (open-protocol-stream - "*nnimap*" (current-buffer) nnimap-address (car ports) + "*nnimap*" (current-buffer) nnimap-address + (nnimap-map-port (car ports)) :type nnimap-stream :return-list t :shell-command nnimap-shell-program @@ -1551,7 +1557,7 @@ (goto-char start) (setq vanished (and (eq flag-sequence 'qresync) - (re-search-forward "^\\* VANISHED .* \\([0-9:,]+\\)" + (re-search-forward "^\\* VANISHED .*? \\([0-9:,]+\\)" (or end (point-min)) t) (match-string 1))) (goto-char start) === modified file 'lisp/gnus/pop3.el' --- lisp/gnus/pop3.el 2011-08-21 09:39:07 +0000 +++ lisp/gnus/pop3.el 2011-09-21 22:34:54 +0000 @@ -308,7 +308,7 @@ (t (or pop3-stream-type 'network))) :capability-command "CAPA\r\n" - :end-of-command "^\\(-ERR\\|+OK \\).*\n" + :end-of-command "^\\(-ERR\\|+OK\\).*\n" :end-of-capability "^\\.\r?\n\\|^-ERR" :success "^\\+OK.*\n" :return-list t ------------------------------------------------------------ revno: 105868 author: Kan-Ru Chen committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-09-21 12:23:49 +0000 message: ecomplete.el (ecomplete-display-matches): Intercept key sequence from terminal as well. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-09-21 02:13:03 +0000 +++ lisp/gnus/ChangeLog 2011-09-21 12:23:49 +0000 @@ -1,3 +1,8 @@ +2011-09-13 Kan-Ru Chen + + * ecomplete.el (ecomplete-display-matches): Intercept key sequence from + terminal as well. + 2011-09-21 Katsumi Yamaoka * mm-view.el (mm-display-inline-fontify): Don't run doc-view-mode === modified file 'lisp/gnus/ecomplete.el' --- lisp/gnus/ecomplete.el 2011-01-26 08:36:39 +0000 +++ lisp/gnus/ecomplete.el 2011-09-21 12:23:49 +0000 @@ -123,14 +123,15 @@ (message "%s" matches) nil) (setq highlight (ecomplete-highlight-match-line matches line)) - (while (not (memq (setq command (read-event highlight)) '(? return))) + (while (not (member (setq command (read-key-sequence-vector highlight)) + '([? ] [return] [?\r] [?\n] [?\C-g]))) (cond - ((eq command ?\M-n) + ((member command '([27 ?n] [?\M-n])) (setq line (min (1+ line) max-lines))) - ((eq command ?\M-p) + ((member command '([27 ?p] [?\M-p])) (setq line (max (1- line) 0)))) (setq highlight (ecomplete-highlight-match-line matches line))) - (when (eq command 'return) + (when (member command '([return] [?\r] [?\n])) (nth line (split-string matches "\n"))))))) (defun ecomplete-highlight-match-line (matches line)