Now on revision 105300. ------------------------------------------------------------ revno: 105300 committer: martin rudalics branch nick: trunk timestamp: Thu 2011-07-21 10:27:44 +0200 message: Fix size adjustment calls in display-buffer subroutines. * window.el (display-buffer-pop-up-window) (display-buffer-pop-up-side-window) (display-buffer-in-side-window): Call display-buffer-set-height and display-buffer-set-width after setting the new window's buffer so `fit-window-to-buffer' and friends work on the right buffer. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-20 16:45:00 +0000 +++ lisp/ChangeLog 2011-07-21 08:27:44 +0000 @@ -1,3 +1,12 @@ +2011-07-21 Martin Rudalics + + * window.el (display-buffer-pop-up-window) + (display-buffer-pop-up-side-window) + (display-buffer-in-side-window): Call display-buffer-set-height + and display-buffer-set-width after setting the new window's + buffer so `fit-window-to-buffer' and friends work on the right + buffer. + 2011-07-20 Sam Steingold * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) === modified file 'lisp/window.el' --- lisp/window.el 2011-07-19 07:05:51 +0000 +++ lisp/window.el 2011-07-21 08:27:44 +0000 @@ -5051,14 +5051,22 @@ (funcall side window))))) (when (window-live-p window) - ;; Adjust sizes if asked for. - (display-buffer-set-height window specifiers) - (display-buffer-set-width window specifiers) + ;; In `quit-restore' parameter record that we popped up + ;; this window, its buffer and which window was selected. (set-window-parameter window 'quit-restore (list 'new-window buffer selected-window)) + ;; For `display-buffer-window' mark window as new. (setq display-buffer-window (cons window 'new-window)) + ;; Install BUFFER in the new window. (display-buffer-in-window buffer window specifiers) + ;; Adjust sizes if asked for (for `fit-window-to-buffer' + ;; and friends BUFFER must be already shown in the new + ;; window). + (display-buffer-set-height window specifiers) + (display-buffer-set-width window specifiers) + ;; Reset list of window's previous buffers to nil. (set-window-prev-buffers window nil) + ;; Return the new window. (throw 'done window)))))))) (defun display-buffer-pop-up-frame (buffer &optional graphic-only specifiers) @@ -5113,26 +5121,33 @@ (display-buffer-split-window main-or-root on-side specifiers)) fun) (when window + ;; We were able to split off a new window. (unless main (walk-window-subtree (lambda (window) ;; Make all main-or-root subwindows main windows. (set-window-parameter window 'window-side 'none)) main-or-root t)) - ;; Make sure that parent's window-side is nil. + ;; Reset window-side parameter of new window's parent to nil. (set-window-parameter (window-parent window) 'window-side nil) - ;; Initialize side. + ;; Initialize window-side parameter of new window to SIDE. (set-window-parameter window 'window-side side) - ;; Adjust sizes if asked for. - (display-buffer-set-height window specifiers) - (display-buffer-set-width window specifiers) - ;; Set window parameters. + ;; Install window-slot parameter of new window. + (set-window-parameter window 'window-slot slot) + ;; In `quit-restore' parameter record that we popped up a new + ;; window. (set-window-parameter window 'quit-restore (list 'new-window buffer selected-window)) + ;; For `display-buffer-window' mark window as new. (setq display-buffer-window (cons window 'new-window)) - (set-window-parameter window 'window-slot slot) + ;; Install BUFFER in new window. (display-buffer-in-window buffer window specifiers) + ;; Adjust sizes of new window if asked for. + (display-buffer-set-height window specifiers) + (display-buffer-set-width window specifiers) + ;; Reset list of new window's previous buffers to nil. (set-window-prev-buffers window nil) + ;; Return the new window. window))) (defun display-buffer-in-side-window (buffer side &optional slot specifiers) @@ -5160,7 +5175,7 @@ window-sides-slots)) (selected-window (selected-window)) window this-window this-slot prev-window next-window - best-window best-slot abs-slot dedicated) + best-window best-slot abs-slot dedicated new-window) (unless (numberp slot) (setq slot 0)) @@ -5233,13 +5248,16 @@ (setq window (display-buffer-split-window prev-window prev-side specifiers))))) (progn - (display-buffer-set-height window specifiers) - (display-buffer-set-width window specifiers) + ;; In `quit-restore' parameter record that we popped up + ;; this window, its buffer and the old selected window. (set-window-parameter window 'quit-restore (list 'new-window buffer selected-window)) + ;; For `display-buffer-window' mark window as new. (setq display-buffer-window (cons window 'new-window)) - window)) + ;; Record that window is new, we need this for + ;; adjusting sizes below. + (setq new-window window))) (and best-window (setq window best-window) ;; Reuse best window (the window nearest to SLOT). @@ -5262,7 +5280,17 @@ (unless (window-parameter window 'window-slot) ;; Don't change exisiting slot value. (set-window-parameter window 'window-slot slot)) - (display-buffer-in-window buffer window specifiers))))) + ;; Install BUFFER in the window. + (display-buffer-in-window buffer window specifiers) + (when new-window + ;; Adjust sizes if asked for (for `fit-window-to-buffer' and + ;; friends BUFFER must be already shown in the new window). + (display-buffer-set-height window specifiers) + (display-buffer-set-width window specifiers) + ;; Reset list of new window's previous buffers to nil. + (set-window-prev-buffers window nil)) + ;; Return the window used. + window)))) (defun window-normalize-buffer-to-display (buffer-or-name) "Normalize BUFFER-OR-NAME argument for buffer display functions. @@ -6926,7 +6954,7 @@ ;; `with-selected-window' should orderly restore the current buffer. (with-selected-window window ;; We are in WINDOW's buffer now. - (let* ( ;; Adjust MIN-HEIGHT. + (let* (;; Adjust MIN-HEIGHT. (min-height (if override (window-min-size window nil window) ------------------------------------------------------------ revno: 105299 author: Lars Magne Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-07-20 22:48:00 +0000 message: shr.el (shr-tag-comment): Ignore HTML comments. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-07-20 15:24:16 +0000 +++ lisp/gnus/ChangeLog 2011-07-20 22:48:00 +0000 @@ -1,3 +1,7 @@ +2011-07-20 Lars Magne Ingebrigtsen + + * shr.el (shr-tag-comment): Ignore HTML comments. + 2011-07-20 Andrew Cohen * nnir.el (gnus-group-make-nnir-group): Allow optional search query === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2011-06-26 22:21:48 +0000 +++ lisp/gnus/shr.el 2011-07-20 22:48:00 +0000 @@ -761,6 +761,9 @@ (defun shr-tag-script (cont) ) +(defun shr-tag-comment (cont) + ) + (defun shr-tag-sup (cont) (let ((start (point))) (shr-generic cont) ------------------------------------------------------------ revno: 105298 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Wed 2011-07-20 22:45:13 +0200 message: * xml.c (parse_region): Make sure we always return a tree. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-20 20:05:02 +0000 +++ src/ChangeLog 2011-07-20 20:45:13 +0000 @@ -1,3 +1,7 @@ +2011-07-20 Lars Magne Ingebrigtsen + + * xml.c (parse_region): Make sure we always return a tree. + 2011-07-20 HAMANO Kiyoto * xml.c (parse_region): If a document contains only comments, === modified file 'src/xml.c' --- src/xml.c 2011-07-20 20:05:02 +0000 +++ src/xml.c 2011-07-20 20:45:13 +0000 @@ -138,7 +138,8 @@ if (result == Qnil) result = r; else - result = Fnreverse (Fcons (r, result)); + result = Fcons (intern ("top"), + Fcons (Qnil, Fnreverse (Fcons (r, result)))); xmlFreeDoc (doc); xmlCleanupParser (); ------------------------------------------------------------ revno: 105297 author: HAMANO Kiyoto committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Wed 2011-07-20 22:05:02 +0200 message: * xml.c (parse_region): If a document contains only comments, return that, too. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-20 19:58:46 +0000 +++ src/ChangeLog 2011-07-20 20:05:02 +0000 @@ -1,3 +1,8 @@ +2011-07-20 HAMANO Kiyoto + + * xml.c (parse_region): If a document contains only comments, + return that, too. + 2011-07-20 Lars Magne Ingebrigtsen * xml.c (make_dom): Return comments, too. === modified file 'src/xml.c' --- src/xml.c 2011-07-20 19:58:46 +0000 +++ src/xml.c 2011-07-20 20:05:02 +0000 @@ -125,9 +125,21 @@ if (doc != NULL) { - node = xmlDocGetRootElement (doc); - if (node != NULL) - result = make_dom (node); + xmlNode *n = doc->children->next; + Lisp_Object r = Qnil; + + while (n) { + if (r != Qnil) + result = Fcons (r, result); + r = make_dom (n); + n = n->next; + } + + if (result == Qnil) + result = r; + else + result = Fnreverse (Fcons (r, result)); + xmlFreeDoc (doc); xmlCleanupParser (); } ------------------------------------------------------------ revno: 105296 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Wed 2011-07-20 21:58:46 +0200 message: * xml.c (make_dom): Return comments, too. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-07-19 17:33:06 +0000 +++ src/ChangeLog 2011-07-20 19:58:46 +0000 @@ -1,3 +1,7 @@ +2011-07-20 Lars Magne Ingebrigtsen + + * xml.c (make_dom): Return comments, too. + 2011-07-19 Paul Eggert Port to OpenBSD. === modified file 'src/xml.c' --- src/xml.c 2011-04-08 16:15:30 +0000 +++ src/xml.c 2011-07-20 19:58:46 +0000 @@ -71,6 +71,14 @@ else return Qnil; } + else if (node->type == XML_COMMENT_NODE) + { + if (node->content) + return list3 (intern ("comment"), Qnil, + build_string ((char *) node->content)); + else + return Qnil; + } else return Qnil; } ------------------------------------------------------------ revno: 105295 committer: Sam Steingold branch nick: trunk timestamp: Wed 2011-07-20 12:45:00 -0400 message: * lisp/progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) (etags-tags-included-tables): Call `convert-standard-filename' on the file names contained in TAGS so that windows Emacs can handle TAGS files created by cygwin ctags. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-20 09:53:51 +0000 +++ lisp/ChangeLog 2011-07-20 16:45:00 +0000 @@ -1,3 +1,10 @@ +2011-07-20 Sam Steingold + + * progmodes/etags.el (etags-file-of-tag, etags-tags-table-files) + (etags-tags-included-tables): Call `convert-standard-filename' on + the file names contained in TAGS so that windows Emacs can handle + TAGS files created by cygwin ctags. + 2011-07-20 Lars Magne Ingebrigtsen * proced.el (proced-update): Revert yesterday's bug#1779 patch, === modified file 'lisp/progmodes/etags.el' --- lisp/progmodes/etags.el 2011-07-17 02:21:43 +0000 +++ lisp/progmodes/etags.el 2011-07-20 16:45:00 +0000 @@ -1260,11 +1260,11 @@ (defun etags-file-of-tag (&optional relative) ; Doc string? (save-excursion (re-search-backward "\f\n\\([^\n]+\\),[0-9]*\n") - (let ((str (buffer-substring (match-beginning 1) (match-end 1)))) + (let ((str (convert-standard-filename + (buffer-substring (match-beginning 1) (match-end 1))))) (if relative str - (expand-file-name str - (file-truename default-directory)))))) + (expand-file-name str (file-truename default-directory)))))) (defun etags-tags-completion-table () ; Doc string? @@ -1545,7 +1545,9 @@ (end-of-line) (skip-chars-backward "^," beg) (or (looking-at "include$") - (setq files (cons (buffer-substring beg (1- (point))) files)))) + (push (convert-standard-filename + (buffer-substring beg (1- (point)))) + files))) (nreverse files))) (defun etags-tags-included-tables () ; Doc string? @@ -1556,10 +1558,11 @@ (setq beg (point)) (end-of-line) (skip-chars-backward "^," beg) - (if (looking-at "include$") - ;; Expand in the default-directory of the tags table buffer. - (setq files (cons (expand-file-name (buffer-substring beg (1- (point)))) - files)))) + (when (looking-at "include$") + ;; Expand in the default-directory of the tags table buffer. + (push (expand-file-name (convert-standard-filename + (buffer-substring beg (1- (point))))) + files))) (nreverse files))) ;; Empty tags file support. ------------------------------------------------------------ revno: 105294 author: Andrew Cohen committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-07-20 15:24:16 +0000 message: nnir.el (gnus-group-make-nnir-group): Allow optional search query argument. (gnus-group-make-nnir-group, nnir-request-group, nnir-run-query): Use `nnir-address' to handle server info rather than passing an arg. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-07-20 14:19:52 +0000 +++ lisp/gnus/ChangeLog 2011-07-20 15:24:16 +0000 @@ -1,5 +1,10 @@ 2011-07-20 Andrew Cohen + * nnir.el (gnus-group-make-nnir-group): Allow optional search query + argument. + (gnus-group-make-nnir-group, nnir-request-group, nnir-run-query): Use + `nnir-address' to handle server info rather than passing an arg. + * nnimap.el (nnimap-make-thread-query): New utility function to format an imap thread search query. (nnimap-request-thread): Use it. === modified file 'lisp/gnus/nnir.el' --- lisp/gnus/nnir.el 2011-07-19 22:19:06 +0000 +++ lisp/gnus/nnir.el 2011-07-20 15:24:16 +0000 @@ -296,6 +296,9 @@ (nnoo-declare nnir) (nnoo-define-basics nnir) +(defvoo nnir-address nil + "The address of the nnir server.") + (gnus-declare-backend "nnir" 'mail) @@ -582,18 +585,17 @@ ;; Gnus glue. -(defun gnus-group-make-nnir-group (nnir-extra-parms) +(defun gnus-group-make-nnir-group (nnir-extra-parms &optional parms) "Create an nnir group. Asks for query." (interactive "P") (setq nnir-current-query nil nnir-current-server nil nnir-current-group-marked nil nnir-artlist nil) - (let* ((query (read-string "Query: " nil 'nnir-search-history)) - (parms (list (cons 'query query))) - (srv (if (gnus-server-server-name) - "all" ""))) - (add-to-list 'parms (cons 'unique-id (message-unique-id)) t) + (let* ((query (unless parms (read-string "Query: " nil 'nnir-search-history))) + (parms (or parms (list (cons 'query query)))) + (srv (or (cdr (assq 'server parms)) (gnus-server-server-name) "nnir"))) + (add-to-list 'parms (cons 'unique-id (message-unique-id)) t) (gnus-group-read-ephemeral-group (concat "nnir:" (prin1-to-string parms)) (list 'nnir srv) t (cons (current-buffer) gnus-current-window-configuration) @@ -617,7 +619,7 @@ (equal server nnir-current-server))) nnir-artlist ;; Cache miss. - (setq nnir-artlist (nnir-run-query group server))) + (setq nnir-artlist (nnir-run-query group))) (with-current-buffer nntp-server-buffer (setq nnir-current-query group) (when server (setq nnir-current-server server)) @@ -1594,14 +1596,13 @@ (autoload 'gnus-group-topic-name "gnus-topic") -(defun nnir-run-query (query nserver) +(defun nnir-run-query (query) "Invoke appropriate search engine function (see `nnir-engines'). If some groups were process-marked, run the query for each of the groups and concat the results." (let ((q (car (read-from-string query))) - (groups (if (string= "all-ephemeral" nserver) - (with-current-buffer gnus-server-buffer - (list (list (gnus-server-server-name)))) + (groups (if (not (string= "nnir" nnir-address)) + (list (list nnir-address)) (nnir-categorize (or gnus-group-marked (if (gnus-group-group-name) ------------------------------------------------------------ revno: 105293 author: Andrew Cohen committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-07-20 14:19:52 +0000 message: Merge changes made in Gnus trunk. nnimap.el (nnimap-make-thread-query): New utility function to format an imap thread search query. (nnimap-request-thread): Use it. gnus-sum.el (gnus-handle-ephemeral-exit): Ensure we are setting the right select-method if we are not going back to the group buffer. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-07-19 22:19:06 +0000 +++ lisp/gnus/ChangeLog 2011-07-20 14:19:52 +0000 @@ -1,3 +1,12 @@ +2011-07-20 Andrew Cohen + + * nnimap.el (nnimap-make-thread-query): New utility function to format + an imap thread search query. + (nnimap-request-thread): Use it. + + * gnus-sum.el (gnus-handle-ephemeral-exit): Ensure we are setting the + right select-method if we are not going back to the group buffer. + 2011-07-19 Lars Magne Ingebrigtsen * gnus-group.el (gnus-group-read-ephemeral-group): Make sure we don't === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2011-07-19 22:19:06 +0000 +++ lisp/gnus/gnus-sum.el 2011-07-20 14:19:52 +0000 @@ -7339,6 +7339,9 @@ (if (not (buffer-name (car quit-config))) (gnus-configure-windows 'group 'force) (set-buffer (car quit-config)) + (unless (eq (cdr quit-config) 'group) + (setq gnus-current-select-method + (gnus-find-method-for-group gnus-newsgroup-name))) (cond ((eq major-mode 'gnus-summary-mode) (gnus-set-global-variables)) ((eq major-mode 'gnus-article-mode) === modified file 'lisp/gnus/nnimap.el' --- lisp/gnus/nnimap.el 2011-07-14 14:19:53 +0000 +++ lisp/gnus/nnimap.el 2011-07-20 14:19:52 +0000 @@ -1567,25 +1567,14 @@ (deffoo nnimap-request-thread (header &optional group server) (when (nnimap-possibly-change-group group server) - (let* ((id (mail-header-id header)) - (refs (split-string - (or (mail-header-references header) - ""))) - (cmd (let ((value - (format - "(OR HEADER REFERENCES %s HEADER Message-Id %s)" - id id))) - (dolist (refid refs value) - (setq value (format - "(OR (OR HEADER Message-Id %s HEADER REFERENCES %s) %s)" - refid refid value))))) - (result (with-current-buffer (nnimap-buffer) - (nnimap-command "UID SEARCH %s" cmd)))) - (when result - (gnus-fetch-headers - (and (car result) (delete 0 (mapcar #'string-to-number - (cdr (assoc "SEARCH" (cdr result)))))) - nil t))))) + (let* ((cmd (nnimap-make-thread-query header)) + (result (with-current-buffer (nnimap-buffer) + (nnimap-command "UID SEARCH %s" cmd)))) + (when result + (gnus-fetch-headers + (and (car result) (delete 0 (mapcar #'string-to-number + (cdr (assoc "SEARCH" (cdr result)))))) + nil t))))) (defun nnimap-possibly-change-group (group server) (let ((open-result t)) @@ -1951,6 +1940,21 @@ group-art)) nnimap-incoming-split-list))) +(defun nnimap-make-thread-query (header) + (let* ((id (mail-header-id header)) + (refs (split-string + (or (mail-header-references header) + ""))) + (value + (format + "(OR HEADER REFERENCES %s HEADER Message-Id %s)" + id id))) + (dolist (refid refs value) + (setq value (format + "(OR (OR HEADER Message-Id %s HEADER REFERENCES %s) %s)" + refid refid value))))) + + (provide 'nnimap) ;;; nnimap.el ends here ------------------------------------------------------------ revno: 105292 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Wed 2011-07-20 11:53:51 +0200 message: (proced-update): Revert yesterday's bug#1779 patch, which apparently didn't work. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-07-20 09:10:10 +0000 +++ lisp/ChangeLog 2011-07-20 09:53:51 +0000 @@ -1,3 +1,8 @@ +2011-07-20 Lars Magne Ingebrigtsen + + * proced.el (proced-update): Revert yesterday's bug#1779 patch, + which apparently didn't work. + 2011-07-19 Roland Winkler * proced.el (proced-send-signal): For *Marked Processes* buffer === modified file 'lisp/proced.el' --- lisp/proced.el 2011-07-20 01:09:31 +0000 +++ lisp/proced.el 2011-07-20 09:53:51 +0000 @@ -1509,16 +1509,6 @@ (if (string-match "[ \t]+$" proced-header-line) (setq proced-header-line (substring proced-header-line 0 (match-beginning 0)))) - (setq proced-header-line (concat " " proced-header-line)) - ;; From buff-menu.el: Turn whitespace chars in the header into - ;; stretch specs so they work regardless of the header-line face. - (let ((pos 0) - (header proced-header-line)) - (while (string-match "[ \t\n]+" header pos) - (setq pos (match-end 0)) - (put-text-property (match-beginning 0) pos 'display - (list 'space :align-to pos) - header))) ;; (delete-trailing-whitespace) (goto-char (point-min)) (while (re-search-forward "[ \t\r]+$" nil t) @@ -1612,6 +1602,7 @@ (while (not (eobp)) (insert " ") (forward-line)) + (setq proced-header-line (concat " " proced-header-line)) (if revert (set-buffer-modified-p nil)) ;; set `goal-column'