Now on revision 112306. ------------------------------------------------------------ revno: 112306 committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2013-04-16 06:49:46 +0000 message: lisp/gnus/ChangeLog: Fix last change diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2013-04-16 06:44:35 +0000 +++ lisp/gnus/ChangeLog 2013-04-16 06:49:46 +0000 @@ -3,7 +3,7 @@ Support . * shr.el (shr-image-from-data): New function. - (shr-tag-img) Use it. + (shr-tag-img): Use it. 2013-04-14 Andrew Cohen ------------------------------------------------------------ revno: 112305 author: David Edmondson committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2013-04-16 06:44:35 +0000 message: lisp/gnus/shr.el: Support diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2013-04-14 22:16:44 +0000 +++ lisp/gnus/ChangeLog 2013-04-16 06:44:35 +0000 @@ -1,3 +1,10 @@ +2013-04-16 David Edmondson + + Support . + + * shr.el (shr-image-from-data): New function. + (shr-tag-img) Use it. + 2013-04-14 Andrew Cohen * nnir.el (nnir-request-set-mark): Make sure we are in the right === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2013-03-05 17:13:01 +0000 +++ lisp/gnus/shr.el 2013-04-16 06:44:35 +0000 @@ -593,6 +593,17 @@ (put-text-property start (point) type value)))))))))) (kill-buffer image-buffer))) +(defun shr-image-from-data (data) + "Return an image from the data: URI content DATA." + (when (string-match + "\\(\\([^/;,]+\\(/[^;,]+\\)?\\)\\(;[^;,]+\\)*\\)?,\\(.*\\)" + data) + (let ((param (match-string 4 data)) + (payload (url-unhex-string (match-string 5 data)))) + (when (string-match "^.*\\(;[ \t]*base64\\)$" param) + (setq payload (base64-decode-string payload))) + payload))) + (defun shr-put-image (data alt &optional flags) "Put image DATA with a string ALT. Return image." (if (display-graphic-p) @@ -983,6 +994,12 @@ ;; Ignore zero-sized or single-pixel images. ) ((and (not shr-inhibit-images) + (string-match "\\`data:" url)) + (let ((image (shr-image-from-data (substring url (match-end 0))))) + (if image + (funcall shr-put-image-function image alt) + (insert alt)))) + ((and (not shr-inhibit-images) (string-match "\\`cid:" url)) (let ((url (substring url (match-end 0))) image) ------------------------------------------------------------ revno: 112304 committer: Juanma Barranquero branch nick: trunk timestamp: Tue 2013-04-16 04:52:53 +0200 message: Fix typos in ChangeLogs. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-16 02:41:37 +0000 +++ lisp/ChangeLog 2013-04-16 02:52:53 +0000 @@ -212,7 +212,7 @@ * whitespace.el (whitespace-color-on, whitespace-color-off): Only call `font-lock-fontify-buffer' when `font-lock-mode' is on. -2013-04-05 Jacek Chrząszcz (tiny change) +2013-04-05 Jacek Chrząszcz (tiny change) * ispell.el (ispell-set-spellchecker-params): Really set `ispell-args' for all equivs. @@ -389,7 +389,7 @@ 2013-03-27 Aidan Gauland * eshell/em-unix.el: Move su and sudo to... - * eshell/em-tramp.el: ...Eshell tramp module + * eshell/em-tramp.el: ...Eshell tramp module. 2013-03-26 Stefan Monnier @@ -1384,7 +1384,6 @@ * emacs-lisp/eieio-opt.el (eieio-class-button, eieio-describe-generic) (eieio-browse-tree, eieio-browse): Use eieio--check-type. - 2013-02-18 Aidan Gauland * eshell/em-cmpl.el: Correct "context-related help" keybinding in @@ -1591,7 +1590,7 @@ [scpc, rsyncc]: Remove methods. (top): Remove completion functions for "scpc", "rsyncc", "ssh1_old" and "ssh2_old". - (tramp-do-copy-or-rename-file-out-of-band): Change trace level. + (tramp-do-copy-or-rename-file-out-of-band): Change trace level. (tramp-maybe-open-connection): Reuse tmpfile for ControlPath. 2013-02-13 Stefan Monnier @@ -1600,7 +1599,7 @@ 2013-02-13 Jambunathan K - * icomplete.el (icomplete-hide-common-prefix): New user option. + * icomplete.el (icomplete-hide-common-prefix): New user option. (icomplete-first-match): New face. (icomplete-completions): Correct handling of "complete but not unique" (Bug#12638). @@ -1883,7 +1882,7 @@ instead passing extra parameter HERE to several functions. Remove 'BOD strategy. -2013-02-06 Nicolas Richard (tiny change) +2013-02-06 Nicolas Richard (tiny change) * emacs-lisp/package.el (describe-package-1): Tell what archive is used to install the package. @@ -2275,7 +2274,7 @@ * xml.el (xml-entity-or-char-ref-re): Fix regexp. -2013-01-24 Aaron Ecay (tiny change) +2013-01-24 Aaron Ecay (tiny change) * paren.el (show-paren-function): Make sure to set 'priority and 'face only if the overlay does exist. @@ -2435,7 +2434,7 @@ 2013-01-15 Michael R. Mauger - * progmodes/sql.el: (sql-imenu-generic-expression): + * progmodes/sql.el (sql-imenu-generic-expression): (sql-mode-font-lock-object-name): Match schema qualified names. (sql-connect): Use string keys. (sql-product-interactive): Wait for interpreter prompt. @@ -3054,7 +3053,7 @@ * calc/calc-forms.el (math-parse-date): Try using `math-parse-iso-date' when it looks like it might be needed. Allow times of 24:00. - (math-parse-date-validate, math-parse-iso-date-validate): Allow times + (math-parse-date-validate, math-parse-iso-date-validate): Allow times of 24:00. 2012-12-30 Glenn Morris @@ -3217,7 +3216,7 @@ (tramp-adb-get-toolbox): New defun. Check for remote shell implementation (BusyBox or Toolbox). -2012-12-24 Constantin Kulikov (tiny change) +2012-12-24 Constantin Kulikov (tiny change) * startup.el (initial-buffer-choice): Allow function as value (Bug#13251). @@ -3364,7 +3363,7 @@ Add `file-acl' and `set-file-acl' handlers. (tramp-smb-handle-copy-file): Handle PRESERVE-EXTENDED-ATTRIBUTES. -2012-12-17 Kelly Dean (tiny change) +2012-12-17 Kelly Dean (tiny change) * help-macro.el (make-help-screen): Instead of switch-to-buffer use pop-to-buffer with NORECORD argument t. As buffer name, use @@ -3565,7 +3564,7 @@ 2012-12-11 Jay Belanger - * calc/calc.el (calc-standard-date-formats): Add more date + * calc/calc.el (calc-standard-date-formats): Add more date formats. * calc/calc-forms.el (math-parse-iso-date): New function. (math-parse-date): Use `math-parse-iso-date' when appropriate. @@ -3599,7 +3598,7 @@ * subr.el (inotify-event-p, inotify-handle-event): New functions. -2012-12-10 Dani Moncayo +2012-12-10 Dani Moncayo * simple.el (just-one-space): Doc fix. @@ -4437,7 +4436,7 @@ 2012-11-19 Jay Belanger - * calc/calc-forms.el (math-leap-year-p): Fix formula for negative + * calc/calc-forms.el (math-leap-year-p): Fix formula for negative year numbers. (math-date-to-julian-dt): Adjust the initial approximation for the year to deal with the new definition of the DATE. @@ -5522,7 +5521,7 @@ Recover input meta mode when the new coding system doesn not use 8-bit. Supply TERMINAL arg to set-input-meta-mode. -2012-10-17 Michael Heerdegen +2012-10-17 Michael Heerdegen * wdired.el (wdired-old-marks): New variable. (wdired-change-to-wdired-mode): Locally set wdired-old-marks. === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-16 02:39:47 +0000 +++ src/ChangeLog 2013-04-16 02:52:53 +0000 @@ -1261,7 +1261,7 @@ (Fcommand_execute): Remove, replace by an Elisp implementation. (syms_of_keyboard): Adjust accordingly. -2013-02-19 Daniel Colascione +2013-02-19 Daniel Colascione * sheap.c (report_sheap_usage): Use message, not message1, so that we don't try to create a buffer while we're in the middle @@ -12085,9 +12085,9 @@ to denote vector blocks. Adjust users (live_vector_p, mark_maybe_pointer, valid_lisp_object_p) accordingly. (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG. - (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES), - (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX), - (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST), + (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES) + (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX) + (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST) (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros. (roundup_size): New constant. (struct vector_block): New data type. ------------------------------------------------------------ revno: 112303 committer: Juanma Barranquero branch nick: trunk timestamp: Tue 2013-04-16 04:41:37 +0200 message: Silence byte-compiler warnings. lisp/minibuffer.el (completion--twq-all): lisp/term/ns-win.el (ns-initialize-window-system): lisp/term/w32-win.el (w32-initialize-window-system): Mark unused argument. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-16 02:10:16 +0000 +++ lisp/ChangeLog 2013-04-16 02:41:37 +0000 @@ -1,3 +1,9 @@ +2013-04-16 Juanma Barranquero + + * minibuffer.el (completion--twq-all): + * term/ns-win.el (ns-initialize-window-system): + * term/w32-win.el (w32-initialize-window-system): Silence byte-compiler. + 2013-04-16 Stefan Monnier * emacs-lisp/nadvice.el (add-function): Default simple vars to their === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2013-04-15 19:55:41 +0000 +++ lisp/minibuffer.el 2013-04-16 02:41:37 +0000 @@ -525,7 +525,7 @@ (eq t (compare-strings s1 nil nil s2 nil nil 'ignore-case))) (defun completion--twq-all (string ustring completions boundary - unquote requote) + _unquote requote) (when completions (pcase-let* ((prefix === modified file 'lisp/term/ns-win.el' --- lisp/term/ns-win.el 2013-04-06 14:06:39 +0000 +++ lisp/term/ns-win.el 2013-04-16 02:41:37 +0000 @@ -895,7 +895,7 @@ ;; Do the actual Nextstep Windows setup here; the above code just ;; defines functions and variables that we use now. -(defun ns-initialize-window-system (&optional display) +(defun ns-initialize-window-system (&optional _display) "Initialize Emacs for Nextstep (Cocoa / GNUstep) windowing." (cl-assert (not ns-initialized)) === modified file 'lisp/term/w32-win.el' --- lisp/term/w32-win.el 2013-04-06 14:06:39 +0000 +++ lisp/term/w32-win.el 2013-04-16 02:41:37 +0000 @@ -246,7 +246,7 @@ (declare-function x-parse-geometry "frame.c" (string)) (defvar x-command-line-resources) -(defun w32-initialize-window-system (&optional display) +(defun w32-initialize-window-system (&optional _display) "Initialize Emacs for W32 GUI frames." (cl-assert (not w32-initialized)) ------------------------------------------------------------ revno: 112302 committer: Juanma Barranquero branch nick: trunk timestamp: Tue 2013-04-16 04:39:47 +0200 message: src/minibuf.c (Ftest_completion): Silence compiler warning. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-15 07:29:39 +0000 +++ src/ChangeLog 2013-04-16 02:39:47 +0000 @@ -1,3 +1,7 @@ +2013-04-16 Juanma Barranquero + + * minibuf.c (Ftest_completion): Silence compiler warning. + 2013-04-15 Eli Zaretskii * w32fns.c (w32_wnd_proc): Add more assertions to investigate === modified file 'src/minibuf.c' --- src/minibuf.c 2013-04-09 20:10:47 +0000 +++ src/minibuf.c 2013-04-16 02:39:47 +0000 @@ -1799,8 +1799,8 @@ else if (HASH_TABLE_P (collection)) { struct Lisp_Hash_Table *h = XHASH_TABLE (collection); + Lisp_Object key = Qnil; i = hash_lookup (h, string, NULL); - Lisp_Object key = Qnil; if (i >= 0) tem = HASH_KEY (h, i); else ------------------------------------------------------------ revno: 112301 committer: Stefan Monnier branch nick: trunk timestamp: Mon 2013-04-15 22:10:16 -0400 message: * lisp/emacs-lisp/nadvice.el (add-function): Default simple vars to their global bindings. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-16 00:51:46 +0000 +++ lisp/ChangeLog 2013-04-16 02:10:16 +0000 @@ -1,5 +1,8 @@ 2013-04-16 Stefan Monnier + * emacs-lisp/nadvice.el (add-function): Default simple vars to their + global bindings. + * doc-view.el (doc-view-start-process): Handle url-handler directories. 2013-04-15 Dmitry Gutov === modified file 'lisp/emacs-lisp/nadvice.el' --- lisp/emacs-lisp/nadvice.el 2013-04-15 15:06:51 +0000 +++ lisp/emacs-lisp/nadvice.el 2013-04-16 02:10:16 +0000 @@ -236,9 +236,8 @@ a special meaning: - `name': a string or symbol. It can be used to refer to this piece of advice. -PLACE cannot be a simple variable. Instead it should either be -\(default-value 'VAR) or (local 'VAR) depending on whether FUNCTION -should be applied to VAR buffer-locally or globally. +If PLACE is a simple variable, only its global value will be affected. +Use (local 'VAR) if you want to apply FUNCTION to VAR buffer-locally. If one of FUNCTION or OLDFUN is interactive, then the resulting function is also interactive. There are 3 cases: @@ -251,7 +250,7 @@ (cond ((eq 'local (car-safe place)) (setq place `(advice--buffer-local ,@(cdr place)))) ((symbolp place) - (error "Use (default-value '%S) or (local '%S)" place place))) + (setq place `(default-value ',place)))) `(advice--add-function ,where (gv-ref ,place) ,function ,props)) ;;;###autoload ------------------------------------------------------------ revno: 112300 committer: Stefan Monnier branch nick: trunk timestamp: Mon 2013-04-15 20:51:46 -0400 message: * lisp/doc-view.el (doc-view-start-process): Handle url-handler directories. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-15 23:07:14 +0000 +++ lisp/ChangeLog 2013-04-16 00:51:46 +0000 @@ -1,3 +1,7 @@ +2013-04-16 Stefan Monnier + + * doc-view.el (doc-view-start-process): Handle url-handler directories. + 2013-04-15 Dmitry Gutov * progmodes/ruby-mode.el (ruby-beginning-of-defun) === modified file 'lisp/doc-view.el' --- lisp/doc-view.el 2013-03-18 07:41:38 +0000 +++ lisp/doc-view.el 2013-04-16 00:51:46 +0000 @@ -881,8 +881,8 @@ (defun doc-view-start-process (name program args callback) ;; Make sure the process is started in an existing directory, (rather than ;; some file-name-handler-managed dir, for example). - (let* ((default-directory (if (file-readable-p default-directory) - default-directory + (let* ((default-directory (or (unhandled-file-name-directory + default-directory) (expand-file-name "~/"))) (proc (apply 'start-process name doc-view-conversion-buffer program args))) ------------------------------------------------------------ revno: 112299 committer: Dmitry Gutov branch nick: trunk timestamp: Tue 2013-04-16 03:07:14 +0400 message: * lisp/progmodes/ruby-mode.el (ruby-beginning-of-defun) (ruby-end-of-defun, ruby-move-to-block): Bind `case-fold-search' to nil. (ruby-end-of-defun): Remove the unused arg, change the docstring to reflect that this function is only used as the value of `end-of-defun-function'. (ruby-beginning-of-defun): Remove "top-level" from the docstring, to reflect an earlier change that beginning/end-of-defun functions jump between methods in a class definition, as well as top-level functions. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-15 19:55:41 +0000 +++ lisp/ChangeLog 2013-04-15 23:07:14 +0000 @@ -1,3 +1,16 @@ +2013-04-15 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-beginning-of-defun) + (ruby-end-of-defun, ruby-move-to-block): Bind `case-fold-search' + to nil. + (ruby-end-of-defun): Remove the unused arg, change the docstring + to reflect that this function is only used as the value of + `end-of-defun-function'. + (ruby-beginning-of-defun): Remove "top-level" from the docstring, + to reflect an earlier change that beginning/end-of-defun functions + jump between methods in a class definition, as well as top-level + functions. + 2013-04-15 Stefan Monnier * minibuffer.el (minibuffer-complete): Don't just scroll === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-03-06 18:56:29 +0000 +++ lisp/progmodes/ruby-mode.el 2013-04-15 23:07:14 +0000 @@ -847,22 +847,24 @@ indent)))) (defun ruby-beginning-of-defun (&optional arg) - "Move backward to the beginning of the current top-level defun. + "Move backward to the beginning of the current defun. With ARG, move backward multiple defuns. Negative ARG means move forward." (interactive "p") - (and (re-search-backward (concat "^\\s *" ruby-defun-beg-re "\\_>") - nil t (or arg 1)) - (beginning-of-line))) + (let (case-fold-search) + (and (re-search-backward (concat "^\\s *" ruby-defun-beg-re "\\_>") + nil t (or arg 1)) + (beginning-of-line)))) -(defun ruby-end-of-defun (&optional arg) - "Move forward to the end of the current top-level defun. -With ARG, move forward multiple defuns. Negative ARG means -move backward." +(defun ruby-end-of-defun () + "Move point to the end of the current defun. +The defun begins at or after the point. This function is called +by `end-of-defun'." (interactive "p") (ruby-forward-sexp) - (when (looking-back (concat "^\\s *" ruby-block-end-re)) - (forward-line 1))) + (let (case-fold-search) + (when (looking-back (concat "^\\s *" ruby-block-end-re)) + (forward-line 1)))) (defun ruby-beginning-of-indent () "Backtrack to a line which can be used as a reference for @@ -881,6 +883,7 @@ (depth (or (nth 2 (ruby-parse-region (line-beginning-position) (line-end-position))) 0)) + case-fold-search down done) (when (< (* depth signum) 0) ;; Moving end -> end or beginning -> beginning. === modified file 'test/automated/ruby-mode-tests.el' --- test/automated/ruby-mode-tests.el 2013-03-11 04:07:45 +0000 +++ test/automated/ruby-mode-tests.el 2013-04-15 23:07:14 +0000 @@ -487,6 +487,42 @@ (ruby-beginning-of-block) (should (= 1 (line-number-at-pos))))) +(ert-deftest ruby-move-to-block-does-not-fold-case () + (ruby-with-temp-buffer + (ruby-test-string + "foo do + | Module.to_s + |end") + (end-of-buffer) + (let ((case-fold-search t)) + (ruby-beginning-of-block)) + (should (= 1 (line-number-at-pos))))) + +(ert-deftest ruby-beginning-of-defun-does-not-fold-case () + (ruby-with-temp-buffer + (ruby-test-string + "class C + | def bar + | Class.to_s + | end + |end") + (goto-line 4) + (let ((case-fold-search t)) + (beginning-of-defun)) + (should (= 2 (line-number-at-pos))))) + +(ert-deftest ruby-end-of-defun-skips-to-next-line-after-the-method () + (ruby-with-temp-buffer + (ruby-test-string + "class D + | def tee + | 'ho hum' + | end + |end") + (goto-line 2) + (end-of-defun) + (should (= 5 (line-number-at-pos))))) + (provide 'ruby-mode-tests) ;;; ruby-mode-tests.el ends here ------------------------------------------------------------ revno: 112298 committer: Stefan Monnier branch nick: trunk timestamp: Mon 2013-04-15 15:55:41 -0400 message: * lisp/minibuffer.el (minibuffer-complete): Don't just scroll a *Completions* that's been iconified. (minibuffer-force-complete): Make sure repetitions do cycle when going through completion-in-region -> minibuffer-complete. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-15 16:10:24 +0000 +++ lisp/ChangeLog 2013-04-15 19:55:41 +0000 @@ -1,3 +1,10 @@ +2013-04-15 Stefan Monnier + + * minibuffer.el (minibuffer-complete): Don't just scroll + a *Completions* that's been iconified. + (minibuffer-force-complete): Make sure repetitions do cycle when going + through completion-in-region -> minibuffer-complete. + 2013-04-15 Alan Mackenzie Correct the placement of c-cpp-delimiters when there're #s not at @@ -5,8 +12,8 @@ * progmodes/cc-langs.el (c-anchored-cpp-prefix): Reformulate and place a submatch around the #. - * progmodes/cc-mode.el(c-neutralize-syntax-in-and-mark-CPP): Start - a search at BOL. Put the c-cpp-delimiter category text propertiy + * progmodes/cc-mode.el(c-neutralize-syntax-in-and-mark-CPP): + Start a search at BOL. Put the c-cpp-delimiter category text propertiy on the #, not BOL. 2013-04-15 Stefan Monnier === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2013-03-27 14:41:06 +0000 +++ lisp/minibuffer.el 2013-04-15 19:55:41 +0000 @@ -1043,7 +1043,8 @@ (cond ;; If there's a fresh completion window with a live buffer, ;; and this command is repeated, scroll that window. - ((window-live-p minibuffer-scroll-window) + ((and (window-live-p minibuffer-scroll-window) + (eq t (frame-visible-p (window-frame minibuffer-scroll-window)))) (let ((window minibuffer-scroll-window)) (with-current-buffer (window-buffer window) (if (pos-visible-in-window-p (point-max) window) @@ -1140,6 +1141,7 @@ "Complete the minibuffer to an exact match. Repeated uses step through the possible completions." (interactive) + (setq minibuffer-scroll-window nil) ;; FIXME: Need to deal with the extra-size issue here as well. ;; FIXME: ~/src/emacs/t/lisp/minibuffer.el completes to ;; ~/src/emacs/trunk/ and throws away lisp/minibuffer.el. @@ -1162,6 +1164,7 @@ (completion--done (buffer-substring-no-properties start (point)) 'sole) ;; Set cycling after modifying the buffer since the flush hook resets it. (setq completion-cycling t) + (setq this-command 'completion-at-point) ;For minibuffer-complete. ;; If completing file names, (car all) may be a directory, so we'd now ;; have a new set of possible completions and might want to reset ;; completion-all-sorted-completions to nil, but we prefer not to, ------------------------------------------------------------ revno: 112297 committer: Christopher Schmidt branch nick: emacs-trunk timestamp: Mon 2013-04-15 19:01:00 +0200 message: * etc/NEWS, doc/lispref/tips.texi (Coding Conventions): Mention separation of package descriptor and name of internal symbols by two hyphens. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2013-04-13 14:37:20 +0000 +++ doc/lispref/ChangeLog 2013-04-15 17:01:00 +0000 @@ -1,3 +1,8 @@ +2013-04-15 Christopher Schmidt + + * tips.texi (Coding Conventions): Mention separation of package + descriptor and name of internal symbols by two hyphens. + 2013-04-13 Stephen Berman * windows.texi (Splitting Windows): Change category of === modified file 'doc/lispref/tips.texi' --- doc/lispref/tips.texi 2013-01-02 16:13:04 +0000 +++ doc/lispref/tips.texi 2013-04-15 17:01:00 +0000 @@ -51,13 +51,15 @@ @item You should choose a short word to distinguish your program from other -Lisp programs. The names of all global variables, constants, and -functions in your program should begin with that chosen prefix. -Separate the prefix from the rest of the name with a hyphen, @samp{-}. -This practice helps avoid name conflicts, since all global variables -in Emacs Lisp share the same name space, and all functions share -another name space@footnote{The benefits of a Common Lisp-style -package system are considered not to outweigh the costs.}. +Lisp programs. The names of all global symbols in your program, that +is the names of variables, constants, and functions, should begin with +that chosen prefix. Separate the prefix from the rest of the name +with a hyphen, @samp{-}. Use two hyphens if the symbol is not meant +to be used by other packages. This practice helps avoid name +conflicts, since all global variables in Emacs Lisp share the same +name space, and all functions share another name space@footnote{The +benefits of a Common Lisp-style package system are considered not to +outweigh the costs.}. Occasionally, for a command name intended for users to use, it is more convenient if some words come before the package's name prefix. And === modified file 'etc/ChangeLog' --- etc/ChangeLog 2013-04-13 14:37:20 +0000 +++ etc/ChangeLog 2013-04-15 17:01:00 +0000 @@ -1,3 +1,8 @@ +2013-04-15 Christopher Schmidt + + * NEWS: Mention separation of package descriptor and name of + internal symbols by two hyphens. + 2013-04-13 Stephen Berman * NEWS: Mention fixing `split-window' to be non-interactive. === modified file 'etc/NEWS' --- etc/NEWS 2013-04-13 14:37:20 +0000 +++ etc/NEWS 2013-04-15 17:01:00 +0000 @@ -409,6 +409,12 @@ `preserve-extended-attributes' as it now handles both SELinux context and ACL entries. +** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4 + +*** The package descriptor and name of global variables, constants, +and functions should be separated by two hypens if the symbol is not +meant to be used by other packages. + * Changes in Emacs 24.4 on Non-Free Operating Systems ------------------------------------------------------------ revno: 112296 committer: Alan Mackenzie branch nick: trunk timestamp: Mon 2013-04-15 16:10:24 +0000 message: Correct the placement of c-cpp-delimiters when there're #s not at col 0. * progmodes/cc-langs.el (c-anchored-cpp-prefix): Reformulate and place a submatch around the #. * progmodes/cc-mode.el(c-neutralize-syntax-in-and-mark-CPP): Start a search at BOL. Put the c-cpp-delimiter category text propertiy on the #, not BOL. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-15 15:06:51 +0000 +++ lisp/ChangeLog 2013-04-15 16:10:24 +0000 @@ -1,3 +1,14 @@ +2013-04-15 Alan Mackenzie + + Correct the placement of c-cpp-delimiters when there're #s not at + col 0. + + * progmodes/cc-langs.el (c-anchored-cpp-prefix): Reformulate and + place a submatch around the #. + * progmodes/cc-mode.el(c-neutralize-syntax-in-and-mark-CPP): Start + a search at BOL. Put the c-cpp-delimiter category text propertiy + on the #, not BOL. + 2013-04-15 Stefan Monnier * emacs-lisp/nadvice.el: Properly test names when adding advice. === modified file 'lisp/progmodes/cc-langs.el' --- lisp/progmodes/cc-langs.el 2013-03-05 17:13:01 +0000 +++ lisp/progmodes/cc-langs.el 2013-04-15 16:10:24 +0000 @@ -812,8 +812,8 @@ (c-lang-defconst c-anchored-cpp-prefix "Regexp matching the prefix of a cpp directive anchored to BOL, in the languages that have a macro preprocessor." - t (if (c-lang-const c-opt-cpp-prefix) - (concat "^" (c-lang-const c-opt-cpp-prefix)))) + t "^\\s *\\(#\\)\\s *" + (java awk) nil) (c-lang-defvar c-anchored-cpp-prefix (c-lang-const c-anchored-cpp-prefix)) (c-lang-defconst c-opt-cpp-start === modified file 'lisp/progmodes/cc-mode.el' --- lisp/progmodes/cc-mode.el 2013-01-02 16:13:04 +0000 +++ lisp/progmodes/cc-mode.el 2013-04-15 16:10:24 +0000 @@ -936,7 +936,8 @@ ;; Add needed properties to each CPP construct in the region. (goto-char c-new-BEG) - (let ((pps-position c-new-BEG) pps-state mbeg) + (skip-chars-backward " \t") + (let ((pps-position (point)) pps-state mbeg) (while (and (< (point) c-new-END) (search-forward-regexp c-anchored-cpp-prefix c-new-END t)) ;; If we've found a "#" inside a string/comment, ignore it. @@ -945,14 +946,12 @@ pps-position (point)) (unless (or (nth 3 pps-state) ; in a string? (nth 4 pps-state)) ; in a comment? - (goto-char (match-beginning 0)) + (goto-char (match-beginning 1)) (setq mbeg (point)) (if (> (c-syntactic-end-of-macro) mbeg) (progn (c-neutralize-CPP-line mbeg (point)) - (c-set-cpp-delimiters mbeg (point)) - ;(setq pps-position (point)) - ) + (c-set-cpp-delimiters mbeg (point))) (forward-line)) ; no infinite loop with, e.g., "#//" ))))) ------------------------------------------------------------ revno: 112295 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14202 committer: Stefan Monnier branch nick: trunk timestamp: Mon 2013-04-15 11:06:51 -0400 message: * lisp/emacs-lisp/nadvice.el: Properly test names when adding advice. (advice--member-p): New arg `name'. (advice--add-function, advice-member-p): Use it. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-15 14:32:20 +0000 +++ lisp/ChangeLog 2013-04-15 15:06:51 +0000 @@ -1,3 +1,9 @@ +2013-04-15 Stefan Monnier + + * emacs-lisp/nadvice.el: Properly test names when adding advice. + (advice--member-p): New arg `name'. + (advice--add-function, advice-member-p): Use it (bug#14202). + 2013-04-15 Filipp Gunbin Reformulate java imenu-generic-expression. @@ -7,7 +13,7 @@ (cc-imenu-java-type-spec-regexp, cc-imenu-java-comment-regexp) (cc-imenu-java-method-arg-regexp): New defconsts. (cc-imenu-java-build-type-args-regex): New defun. - (cc-imenu-java-generic-expression): Fixed, to remove "ambiguous" + (cc-imenu-java-generic-expression): Fix, to remove "ambiguous" handling of spaces in the regexp. 2013-03-15 Agustín Martín Domingo === modified file 'lisp/emacs-lisp/nadvice.el' --- lisp/emacs-lisp/nadvice.el 2013-03-02 07:19:10 +0000 +++ lisp/emacs-lisp/nadvice.el 2013-04-15 15:06:51 +0000 @@ -158,11 +158,12 @@ (advice--make-1 (nth 1 desc) (nth 2 desc) function main props))) -(defun advice--member-p (function definition) +(defun advice--member-p (function name definition) (let ((found nil)) (while (and (not found) (advice--p definition)) (if (or (equal function (advice--car definition)) - (equal function (cdr (assq 'name (advice--props definition))))) + (when name + (equal name (cdr (assq 'name (advice--props definition)))))) (setq found t) (setq definition (advice--cdr definition)))) found)) @@ -255,7 +256,8 @@ ;;;###autoload (defun advice--add-function (where ref function props) - (unless (advice--member-p function (gv-deref ref)) + (unless (advice--member-p function (cdr (assq 'name props)) + (gv-deref ref)) (setf (gv-deref ref) (advice--make where function (gv-deref ref) props)))) @@ -396,7 +398,7 @@ "Return non-nil if ADVICE has been added to FUNCTION-NAME. Instead of ADVICE being the actual function, it can also be the `name' of the piece of advice." - (advice--member-p advice + (advice--member-p advice advice (or (get function-name 'advice--pending) (advice--strip-macro (if (fboundp function-name) ------------------------------------------------------------ revno: 112294 committer: Alan Mackenzie branch nick: trunk timestamp: Mon 2013-04-15 14:32:20 +0000 message: Reformulate java imenu-generic-expression. The old expression contained ill formed regexps. * progmodes/cc-menus.el (cc-imenu-java-ellipsis-regexp) (cc-imenu-java-type-spec-regexp, cc-imenu-java-comment-regexp) (cc-imenu-java-method-arg-regexp): New defconsts. (cc-imenu-java-build-type-args-regex): New defun. (cc-imenu-java-generic-expression): Fixed, to remove "ambiguous" handling of spaces in the regexp. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-15 10:00:14 +0000 +++ lisp/ChangeLog 2013-04-15 14:32:20 +0000 @@ -1,3 +1,15 @@ +2013-04-15 Filipp Gunbin + + Reformulate java imenu-generic-expression. + The old expression contained ill formed regexps. + + * progmodes/cc-menus.el (cc-imenu-java-ellipsis-regexp) + (cc-imenu-java-type-spec-regexp, cc-imenu-java-comment-regexp) + (cc-imenu-java-method-arg-regexp): New defconsts. + (cc-imenu-java-build-type-args-regex): New defun. + (cc-imenu-java-generic-expression): Fixed, to remove "ambiguous" + handling of spaces in the regexp. + 2013-03-15 Agustín Martín Domingo * textmodes/ispell.el (ispell-command-loop): Remove === modified file 'lisp/progmodes/cc-menus.el' --- lisp/progmodes/cc-menus.el 2013-01-01 09:11:05 +0000 +++ lisp/progmodes/cc-menus.el 2013-04-15 14:32:20 +0000 @@ -161,49 +161,132 @@ cc-imenu-c++-generic-expression "Imenu generic expression for C mode. See `imenu-generic-expression'.") -(defvar cc-imenu-java-generic-expression + +;; Auxiliary regexps for Java try to match their trailing whitespace where +;; appropriate, but _not_ starting whitespace. + +(defconst cc-imenu-java-ellipsis-regexp + (concat + "\\.\\{3\\}" + "[ \t\n\r]*")) + +(defun cc-imenu-java-build-type-args-regex (depth) + "Builds regexp for type arguments list with DEPTH allowed +nested angle brackets constructs." + (if (> depth 0) + (concat "<" + "[][.," c-alnum "_? \t\n\r]+" + (if (> depth 1) + "\\(") + (cc-imenu-java-build-type-args-regex (1- depth)) + (if (> depth 1) + (concat "[][.," c-alnum "_? \t\n\r]*" + "\\)*")) + ">"))) + +(defconst cc-imenu-java-type-spec-regexp + (concat + ;; zero or more identifiers followed by a dot + "\\(" + "[" c-alpha "_][" c-alnum "_]*\\." + "\\)*" + ;; a single mandatory identifier without a dot + "[" c-alpha "_][" c-alnum "_]*" + ;; then choice: + "\\(" + ;; (option 1) type arguments list which _may_ be followed with brackets + ;; and/or spaces, then optional variable arity + "[ \t\n\r]*" + (cc-imenu-java-build-type-args-regex 3) + "[][ \t\n\r]*" + "\\(" cc-imenu-java-ellipsis-regexp "\\)?" + "\\|" + ;; (option 2) just brackets and/or spaces (there should be at least one), + ;; then optional variable arity + "[][ \t\n\r]+" + "\\(" cc-imenu-java-ellipsis-regexp "\\)?" + "\\|" + ;; (option 3) just variable arity + cc-imenu-java-ellipsis-regexp + "\\)")) + +(defconst cc-imenu-java-comment-regexp + (concat + "/" + "\\(" + ;; a traditional comment + "\\*" + "\\(" + "[^*]" + "\\|" + "\\*+[^/*]" + "\\)*" + "\\*+/" + "\\|" + ;; an end-of-line comment + "/[^\n\r]*[\n\r]" + "\\)" + "[ \t\n\r]*" + )) + +;; Comments are allowed before the argument, after any of the +;; modifiers and after the identifier. +(defconst cc-imenu-java-method-arg-regexp + (concat + "\\(" cc-imenu-java-comment-regexp "\\)*" + ;; optional modifiers + "\\(" + ;; a modifier is either an annotation or "final" + "\\(" + "@[" c-alpha "_]" + "[" c-alnum "._]*" + ;; TODO support element-value pairs! + "\\|" + "final" + "\\)" + ;; a modifier ends with comments and/or ws + "\\(" + "\\(" cc-imenu-java-comment-regexp "\\)+" + "\\|" + "[ \t\n\r]+" + "\\(" cc-imenu-java-comment-regexp "\\)*" + "\\)" + "\\)*" + ;; type spec + cc-imenu-java-type-spec-regexp + ;; identifier + "[" c-alpha "_]" + "[" c-alnum "_]*" + ;; optional comments and/or ws + "[ \t\n\r]*" + "\\(" cc-imenu-java-comment-regexp "\\)*" + )) + +(defconst cc-imenu-java-generic-expression `((nil ,(concat - "[" c-alpha "_][\]\[." c-alnum "_<> ]+[ \t\n\r]+" ; type spec - "\\([" c-alpha "_][" c-alnum "_]*\\)" ; method name + cc-imenu-java-type-spec-regexp + "\\(" ; method name which gets captured + ; into index + "[" c-alpha "_]" + "[" c-alnum "_]*" + "\\)" "[ \t\n\r]*" - ;; An argument list htat is either empty or contains any number - ;; of arguments. An argument is any number of annotations - ;; followed by a type spec followed by a word. A word is an - ;; identifier. A type spec is an identifier, possibly followed - ;; by < typespec > possibly followed by []. - (concat "(" - "\\(" - "[ \t\n\r]*" - "\\(" - "@" - "[" c-alpha "_]" - "[" c-alnum "._]""*" - "[ \t\n\r]+" - "\\)*" - "\\(" - "[" c-alpha "_]" - "[\]\[" c-alnum "_.]*" - "\\(" - - "<" - "[ \t\n\r]*" - "[\]\[.," c-alnum "_<> \t\n\r]*" - ">" - "\\)?" - "\\(\\[\\]\\)?" - "[ \t\n\r]+" - "\\)" - "[" c-alpha "_]" - "[" c-alnum "_]*" - "[ \t\n\r,]*" - "\\)*" - ")" - "[.," c-alnum " \t\n\r]*" - "{" - )) 1)) + ;; An argument list that contains zero or more arguments. + (concat + "(" + "[ \t\n\r]*" + "\\(" + "\\(" cc-imenu-java-method-arg-regexp ",[ \t\n\r]*\\)*" + cc-imenu-java-method-arg-regexp + "\\)?" + ")" + "[.,_" c-alnum " \t\n\r]*" ; throws etc. + "{" + )) 7)) "Imenu generic expression for Java mode. See `imenu-generic-expression'.") + ;; Internal variables (defvar cc-imenu-objc-generic-expression-noreturn-index nil) (defvar cc-imenu-objc-generic-expression-general-func-index nil) ------------------------------------------------------------ revno: 112293 committer: Michael Albinus branch nick: trunk timestamp: Mon 2013-04-15 12:00:14 +0200 message: ispell.el: No longer mark as wrong-by-flyspell words just accepted by ispell (bug #14178). textmodes/ispell.el (ispell-command-loop): Remove flyspell highlighting of a word when ispell accepts it (bug #14178). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-15 09:43:20 +0000 +++ lisp/ChangeLog 2013-04-15 10:00:14 +0000 @@ -1,3 +1,8 @@ +2013-03-15 Agustín Martín Domingo + + * textmodes/ispell.el (ispell-command-loop): Remove + flyspell highlight of a word when ispell accepts it (bug #14178). + 2013-04-15 Michael Albinus * net/ange-ftp.el (ange-ftp-run-real-handler-orig): New defun, === modified file 'lisp/textmodes/ispell.el' --- lisp/textmodes/ispell.el 2013-04-05 15:43:07 +0000 +++ lisp/textmodes/ispell.el 2013-04-15 10:00:14 +0000 @@ -2329,10 +2329,14 @@ ((= char ?i) ; accept and insert word into pers dict (ispell-send-string (concat "*" word "\n")) (setq ispell-pdict-modified-p '(t)) ; dictionary modified! + (and (fboundp 'flyspell-unhighlight-at) + (flyspell-unhighlight-at start)) nil) ((or (= char ?a) (= char ?A)) ; accept word without insert (ispell-send-string (concat "@" word "\n")) (add-to-list 'ispell-buffer-session-localwords word) + (and (fboundp 'flyspell-unhighlight-at) + (flyspell-unhighlight-at start)) (or ispell-buffer-local-name ; session localwords might conflict (setq ispell-buffer-local-name (buffer-name))) (if (null ispell-pdict-modified-p) ------------------------------------------------------------ revno: 112291 committer: Michael Albinus + + * net/ange-ftp.el (ange-ftp-run-real-handler-orig): New defun, + uses code from the previous `ange-ftp-run-real-handler'. + (ange-ftp-run-real-handler): Set it to `tramp-run-real-handler' + only in case that function exist. This is needed for proper + unloading of Tramp. + 2013-04-15 Tassilo Horn * textmodes/reftex-vars.el (reftex-label-regexps): New defcustom. === modified file 'lisp/net/ange-ftp.el' --- lisp/net/ange-ftp.el 2013-02-13 04:31:09 +0000 +++ lisp/net/ange-ftp.el 2013-04-15 09:43:20 +0000 @@ -4437,16 +4437,18 @@ ;;; Define ways of getting at unmodified Emacs primitives, ;;; turning off our handler. -;(defun ange-ftp-run-real-handler (operation args) -; (let ((inhibit-file-name-handlers -; (cons 'ange-ftp-hook-function -; (cons 'ange-ftp-completion-hook-function -; (and (eq inhibit-file-name-operation operation) -; inhibit-file-name-handlers)))) -; (inhibit-file-name-operation operation)) -; (apply operation args))) +(defun ange-ftp-run-real-handler-orig (operation args) + (let ((inhibit-file-name-handlers + (cons 'ange-ftp-hook-function + (cons 'ange-ftp-completion-hook-function + (and (eq inhibit-file-name-operation operation) + inhibit-file-name-handlers)))) + (inhibit-file-name-operation operation)) + (apply operation args))) -(defalias 'ange-ftp-run-real-handler 'tramp-run-real-handler) +(defalias 'ange-ftp-run-real-handler + (if (fboundp 'tramp-run-real-handler) + 'tramp-run-real-handler 'ange-ftp-run-real-handler-orig)) (defun ange-ftp-real-file-name-directory (&rest args) (ange-ftp-run-real-handler 'file-name-directory args)) ------------------------------------------------------------ revno: 112290 committer: Michael Albinus + + * tramp.texi (Frequently Asked Questions): New item for + ControlPath settings. + 2013-03-31 Jay Belanger * calc.texi: (Basic Operations on Units): Streamline some === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2013-03-18 13:07:16 +0000 +++ doc/misc/tramp.texi 2013-04-15 08:52:19 +0000 @@ -3124,6 +3124,23 @@ @item +@value{tramp} does not use my @command{ssh} @code{ControlPath} + +Your @code{ControlPath} setting will be overwritten by @command{ssh} +sessions initiated by @value{tramp}. This is because a master +session, initiated outside @value{emacsname}, could be closed, which +would stall all other @command{ssh} sessions for that host inside +@value{emacsname}. + +Consequently, if you connect to a remote host via @value{tramp}, you +might be prompted for a password again, even if you have established +already an @command{ssh} connection to that host. Further +@value{tramp} connections to that host, for example in order to run a +process on that host, will reuse that initial @command{ssh} +connection. + + +@item File name completion does not work with @value{tramp} When you log in to the remote machine, do you see the output of ------------------------------------------------------------ revno: 112289 committer: Tassilo Horn branch nick: trunk timestamp: Mon 2013-04-15 09:55:05 +0200 message: * textmodes/reftex-vars.el (reftex-label-regexps): New defcustom. * textmodes/reftex.el (reftex-compile-variables): Use it. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-14 02:55:21 +0000 +++ lisp/ChangeLog 2013-04-15 07:55:05 +0000 @@ -1,3 +1,9 @@ +2013-04-15 Tassilo Horn + + * textmodes/reftex-vars.el (reftex-label-regexps): New defcustom. + + * textmodes/reftex.el (reftex-compile-variables): Use it. + 2013-04-14 Stefan Monnier * files.el (normal-mode): Only use default major-mode if no other mode === modified file 'lisp/textmodes/reftex-vars.el' --- lisp/textmodes/reftex-vars.el 2013-01-21 12:14:56 +0000 +++ lisp/textmodes/reftex-vars.el 2013-04-15 07:55:05 +0000 @@ -863,6 +863,20 @@ (string :tag "")) (option (boolean :tag "Downcase words ")))) +(defcustom reftex-label-regexps + '(;; Normal \\label{foo} labels + "\\\\label{\\(?1:[^}]*\\)}" + ;; keyvals [..., label = {foo}, ...] forms used by ctable, + ;; listings, minted, ... + "\\[[^]]*\\ branch nick: trunk timestamp: Mon 2013-04-15 10:29:39 +0300 message: ChangeLog for the last commit. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-15 07:27:56 +0000 +++ src/ChangeLog 2013-04-15 07:29:39 +0000 @@ -1,7 +1,7 @@ 2013-04-15 Eli Zaretskii * w32fns.c (w32_wnd_proc): Add more assertions to investigate - bug#14205. + bug#14062. * frame.h (WINDOW_FRAME): Protect macro and its argument with parentheses. ------------------------------------------------------------ revno: 112287 fixes bug: http://debbugs.gnu.org/14062 committer: Eli Zaretskii branch nick: trunk timestamp: Mon 2013-04-15 10:27:56 +0300 message: More debugging code to investigate bug #14062. src/w32fns.c (w32_wnd_proc): Add more assertions to investigate bug#14062. src/frame.h (WINDOW_FRAME): Protect macro and its argument with parentheses. src/dispextern.h (CURRENT_MODE_LINE_HEIGHT) (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P) (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with parentheses where appropriate. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-14 20:33:57 +0000 +++ src/ChangeLog 2013-04-15 07:27:56 +0000 @@ -1,3 +1,16 @@ +2013-04-15 Eli Zaretskii + + * w32fns.c (w32_wnd_proc): Add more assertions to investigate + bug#14205. + + * frame.h (WINDOW_FRAME): Protect macro and its argument with + parentheses. + + * dispextern.h (CURRENT_MODE_LINE_HEIGHT) + (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P) + (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with + parentheses where appropriate. + 2013-04-14 Paul Eggert * keyboard.c (timer_start_idle): Remove no-longer-used local. === modified file 'src/dispextern.h' --- src/dispextern.h 2013-03-28 14:04:49 +0000 +++ src/dispextern.h 2013-04-15 07:27:56 +0000 @@ -1384,7 +1384,7 @@ ? current_mode_line_height \ : (MATRIX_MODE_LINE_HEIGHT ((W)->current_matrix) \ ? MATRIX_MODE_LINE_HEIGHT ((W)->current_matrix) \ - : estimate_mode_line_height (XFRAME (W->frame), \ + : estimate_mode_line_height (XFRAME ((W)->frame), \ CURRENT_MODE_LINE_FACE_ID (W)))) /* Return the current height of the header line of window W. If not @@ -1397,7 +1397,7 @@ ? current_header_line_height \ : (MATRIX_HEADER_LINE_HEIGHT ((W)->current_matrix) \ ? MATRIX_HEADER_LINE_HEIGHT ((W)->current_matrix) \ - : estimate_mode_line_height (XFRAME (W->frame),\ + : estimate_mode_line_height (XFRAME ((W)->frame), \ HEADER_LINE_FACE_ID))) /* Return the height of the desired mode line of window W. */ @@ -1416,20 +1416,20 @@ (!MINI_WINDOW_P ((W)) \ && !(W)->pseudo_window_p \ && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \ - && BUFFERP (W->contents) \ - && !NILP (BVAR (XBUFFER (W->contents), mode_line_format)) \ + && BUFFERP ((W)->contents) \ + && !NILP (BVAR (XBUFFER ((W)->contents), mode_line_format)) \ && WINDOW_TOTAL_LINES (W) > 1) /* Value is true if window W wants a header line. */ -#define WINDOW_WANTS_HEADER_LINE_P(W) \ - (!MINI_WINDOW_P ((W)) \ - && !(W)->pseudo_window_p \ - && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \ - && BUFFERP (W->contents) \ - && !NILP (BVAR (XBUFFER (W->contents), header_line_format)) \ - && WINDOW_TOTAL_LINES (W) > 1 \ - + !NILP (BVAR (XBUFFER (W->contents), mode_line_format))) +#define WINDOW_WANTS_HEADER_LINE_P(W) \ + (!MINI_WINDOW_P ((W)) \ + && !(W)->pseudo_window_p \ + && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \ + && BUFFERP ((W)->contents) \ + && !NILP (BVAR (XBUFFER ((W)->contents), header_line_format)) \ + && WINDOW_TOTAL_LINES (W) > 1 \ + + !NILP (BVAR (XBUFFER ((W)->contents), mode_line_format))) /* Return proper value to be used as baseline offset of font that has ASCENT and DESCENT to draw characters by the font at the vertical === modified file 'src/frame.h' --- src/frame.h 2013-04-07 04:41:19 +0000 +++ src/frame.h 2013-04-15 07:27:56 +0000 @@ -598,7 +598,7 @@ #define XSETFRAME(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_FRAME)) /* Given a window, return its frame as a Lisp_Object. */ -#define WINDOW_FRAME(w) w->frame +#define WINDOW_FRAME(w) ((w)->frame) /* Test a frame for particular kinds of display methods. */ #define FRAME_INITIAL_P(f) ((f)->output_method == output_initial) === modified file 'src/w32fns.c' --- src/w32fns.c 2013-04-07 04:41:19 +0000 +++ src/w32fns.c 2013-04-15 07:27:56 +0000 @@ -3123,6 +3123,8 @@ #ifdef ENABLE_CHECKING /* Temporary code to catch crashes in computing form.rcArea.top. */ + eassert (FRAMEP (w->frame)); + eassert (BUFFERP (w->contents)); { int wmbp = WINDOW_MENU_BAR_P (w); int wtbp = WINDOW_TOOL_BAR_P (w); ------------------------------------------------------------ revno: 112286 author: Andrew Cohen committer: Katsumi Yamaoka branch nick: trunk timestamp: Sun 2013-04-14 22:16:44 +0000 message: lisp/gnus/nnir.el (nnir-request-set-mark): Make sure we are in the right group diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2013-04-12 15:17:47 +0000 +++ lisp/gnus/ChangeLog 2013-04-14 22:16:44 +0000 @@ -1,3 +1,8 @@ +2013-04-14 Andrew Cohen + + * nnir.el (nnir-request-set-mark): Make sure we are in the right + group. + 2013-04-12 Katsumi Yamaoka * gnus-msg.el (gnus-msg-mail): Make it avoid using posting styles === modified file 'lisp/gnus/nnir.el' --- lisp/gnus/nnir.el 2013-04-10 22:17:51 +0000 +++ lisp/gnus/nnir.el 2013-04-14 22:16:44 +0000 @@ -837,6 +837,7 @@ (gnus-request-update-mark artgroup artnumber mark))) (deffoo nnir-request-set-mark (group actions &optional server) + (nnir-possibly-change-group group server) (let (mlist) (dolist (action actions) (destructuring-bind (range action marks) action @@ -853,7 +854,7 @@ (deffoo nnir-request-update-info (group info &optional server) - (nnir-possibly-change-group group) + (nnir-possibly-change-group group server) ;; clear out all existing marks. (gnus-info-set-marks info nil) (gnus-info-set-read info nil)