Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 102500. ------------------------------------------------------------ revno: 102500 committer: Jan D. branch nick: trunk timestamp: Wed 2010-11-24 08:50:08 +0100 message: Bug 7458: Make key press like Left + right ctrl work when right is not control. Ditto Alt and Command. * src/nsterm.m (NSLeftControlKeyMask, NSLeftCommandKeyMask) (NSLeftAlternateKeyMask): New defines. (keyDown): Parse left and right keys separatly. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-11-23 20:27:22 +0000 +++ src/ChangeLog 2010-11-24 07:50:08 +0000 @@ -1,3 +1,9 @@ +2010-11-24 Jan Djärv + + * nsterm.m (NSLeftControlKeyMask, NSLeftCommandKeyMask) + (NSLeftAlternateKeyMask): New defines. + (keyDown): Parse left and right keys separatly (Bug#7458). + 2010-11-23 Eli Zaretskii * intervals.c (temp_set_point_both): Define before calling, to === modified file 'src/nsterm.m' --- src/nsterm.m 2010-11-21 13:09:34 +0000 +++ src/nsterm.m 2010-11-24 07:50:08 +0000 @@ -233,9 +233,12 @@ /* Convert modifiers in a NeXTSTEP event to emacs style modifiers. */ #define NS_FUNCTION_KEY_MASK 0x800000 -#define NSRightAlternateKeyMask (0x000040 | NSAlternateKeyMask) +#define NSLeftControlKeyMask (0x000001 | NSControlKeyMask) #define NSRightControlKeyMask (0x002000 | NSControlKeyMask) +#define NSLeftCommandKeyMask (0x000008 | NSCommandKeyMask) #define NSRightCommandKeyMask (0x000010 | NSCommandKeyMask) +#define NSLeftAlternateKeyMask (0x000020 | NSAlternateKeyMask) +#define NSRightAlternateKeyMask (0x000040 | NSAlternateKeyMask) #define EV_MODIFIERS(e) \ ((([e modifierFlags] & NSHelpKeyMask) ? \ hyper_modifier : 0) \ @@ -4419,7 +4422,7 @@ code = ([[theEvent charactersIgnoringModifiers] length] == 0) ? 0 : [[theEvent charactersIgnoringModifiers] characterAtIndex: 0]; /* (Carbon way: [theEvent keyCode]) */ - + /* is it a "function key"? */ fnKeysym = ns_convert_key (code); if (fnKeysym) @@ -4442,15 +4445,16 @@ if (flags & NSShiftKeyMask) emacs_event->modifiers |= shift_modifier; - if (flags & NSCommandKeyMask) + if ((flags & NSRightCommandKeyMask) == NSRightCommandKeyMask) + emacs_event->modifiers |= parse_solitary_modifier + (EQ (ns_right_command_modifier, Qleft) + ? ns_command_modifier + : ns_right_command_modifier); + + if (flags & NSLeftCommandKeyMask) { - if ((flags & NSRightCommandKeyMask) == NSRightCommandKeyMask - && !EQ (ns_right_command_modifier, Qleft)) - emacs_event->modifiers |= parse_solitary_modifier - (ns_right_command_modifier); - else - emacs_event->modifiers |= parse_solitary_modifier - (ns_command_modifier); + emacs_event->modifiers |= parse_solitary_modifier + (ns_command_modifier); /* if super (default), take input manager's word so things like dvorak / qwerty layout work */ @@ -4484,30 +4488,43 @@ } } - if (flags & NSControlKeyMask) - { - if ((flags & NSRightControlKeyMask) == NSRightControlKeyMask - && !EQ (ns_right_control_modifier, Qleft)) - emacs_event->modifiers |= parse_solitary_modifier - (ns_right_control_modifier); - else - emacs_event->modifiers |= parse_solitary_modifier - (ns_control_modifier); - } + if ((flags & NSRightControlKeyMask) == NSRightControlKeyMask) + emacs_event->modifiers |= parse_solitary_modifier + (EQ (ns_right_control_modifier, Qleft) + ? ns_control_modifier + : ns_right_control_modifier); + + if (flags & NSLeftControlKeyMask) + emacs_event->modifiers |= parse_solitary_modifier + (ns_control_modifier); if (flags & NS_FUNCTION_KEY_MASK && !fnKeysym) emacs_event->modifiers |= parse_solitary_modifier (ns_function_modifier); - if (!EQ (ns_right_alternate_modifier, Qleft) - && ((flags & NSRightAlternateKeyMask) == NSRightAlternateKeyMask)) - { - emacs_event->modifiers |= parse_solitary_modifier - (ns_right_alternate_modifier); - } - else if (flags & NSAlternateKeyMask) /* default = meta */ - { - if ((NILP (ns_alternate_modifier) || EQ (ns_alternate_modifier, Qnone)) + if ((flags & NSRightAlternateKeyMask) == NSRightAlternateKeyMask) + { + if ((NILP (ns_right_alternate_modifier) + || EQ (ns_right_alternate_modifier, Qnone)) + && !fnKeysym) + { /* accept pre-interp alt comb */ + if ([[theEvent characters] length] > 0) + code = [[theEvent characters] characterAtIndex: 0]; + /*HACK: clear lone shift modifier to stop next if from firing */ + if (emacs_event->modifiers == shift_modifier) + emacs_event->modifiers = 0; + } + else + emacs_event->modifiers |= parse_solitary_modifier + (EQ (ns_right_alternate_modifier, Qleft) + ? ns_alternate_modifier + : ns_right_alternate_modifier); + } + + if (flags & NSLeftAlternateKeyMask) /* default = meta */ + { + if ((NILP (ns_alternate_modifier) + || EQ (ns_alternate_modifier, Qnone)) && !fnKeysym) { /* accept pre-interp alt comb */ if ([[theEvent characters] length] > 0) ------------------------------------------------------------ revno: 102499 committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2010-11-24 06:50:28 +0000 message: shr.el (shr-insert-color-overlay): Pass rgb(rrr, ggg, bbb) type color expression to shr-color-check as is. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-11-24 06:22:51 +0000 +++ lisp/gnus/ChangeLog 2010-11-24 06:50:28 +0000 @@ -1,5 +1,8 @@ 2010-11-24 Katsumi Yamaoka + * shr.el (shr-insert-color-overlay): Pass rgb(rrr, ggg, bbb) type color + expression to shr-color-check as is. + * shr-color.el (shr-color->hexadecimal): Ignore case of color names. * color-lab.el: Add coding cookie. === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2010-11-24 00:35:23 +0000 +++ lisp/gnus/shr.el 2010-11-24 06:50:28 +0000 @@ -502,11 +502,12 @@ (defun shr-insert-color-overlay (color start end) (when color - (when (string-match " " color) + (when (and (not (string-match "\\`rgb([^\)]+)\\'" color)) + (string-match " " color)) (setq color (car (split-string color)))) (let ((overlay (make-overlay start end))) (overlay-put overlay 'face (cons 'foreground-color - (cadr (shr-color-check color))))))) + (cadr (shr-color-check color))))))) ;;; Tag-specific rendering rules. ------------------------------------------------------------ revno: 102498 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Wed 2010-11-24 07:34:12 +0100 message: (mailclient-send-it): Bind `browse-url-mailto-function' to nil to use the external browser function to send the mail. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-11-24 06:29:06 +0000 +++ lisp/ChangeLog 2010-11-24 06:34:12 +0000 @@ -1,5 +1,9 @@ 2010-11-24 Lars Magne Ingebrigtsen + * mail/mailclient.el (browse-url): Require. + (mailclient-send-it): Bind `browse-url-mailto-function' to nil to + use the external browser function to send the mail (bug#7469). + * net/browse-url.el (browse-url-browser-function): Revert the default back to the previous value, since the new value broke mailclient.el. === modified file 'lisp/mail/mailclient.el' --- lisp/mail/mailclient.el 2010-01-13 08:35:10 +0000 +++ lisp/mail/mailclient.el 2010-11-24 06:34:12 +0000 @@ -46,6 +46,7 @@ (require 'sendmail) ;; for mail-sendmail-undelimit-header (require 'mail-utils) ;; for mail-fetch-field +(require 'browse-url) (defcustom mailclient-place-body-on-clipboard-flag (fboundp 'w32-set-clipboard-data) @@ -122,7 +123,10 @@ (while (and (re-search-forward "\n\n\n*" delimline t) (< (point) delimline)) (replace-match "\n")) - (let ((case-fold-search t)) + (let ((case-fold-search t) + ;; Use the external browser function to send the + ;; message. + (browse-url-mailto-function nil)) ;; initialize limiter (setq mailclient-delim-static "?") ;; construct and call up mailto URL ------------------------------------------------------------ revno: 102497 committer: Lars Magne Ingebrigtsen branch nick: trunk timestamp: Wed 2010-11-24 07:29:06 +0100 message: Introduce a new `browse-url-mailto-function' variable for mailto: URLs. diff: === modified file 'etc/NEWS' --- etc/NEWS 2010-11-23 01:26:02 +0000 +++ etc/NEWS 2010-11-24 06:29:06 +0000 @@ -317,6 +317,9 @@ ** Archive Mode has basic support to browse 7z archives. +** browse-url has gotten a new variable that is used for mailto: URLs, + `browse-url-mailto-function', which defaults to `browse-url-mail'. + ** ERC changes *** New vars `erc-autojoin-timing' and `erc-autojoin-delay'. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-11-23 17:36:15 +0000 +++ lisp/ChangeLog 2010-11-24 06:29:06 +0000 @@ -1,3 +1,11 @@ +2010-11-24 Lars Magne Ingebrigtsen + + * net/browse-url.el (browse-url-browser-function): Revert the + default back to the previous value, since the new value broke + mailclient.el. + (browse-url-mailto-function): New variable for mailto: URLs. + (browse-url): Use the new variable for mailto: URLs. + 2010-11-23 Stefan Monnier * eshell/esh-cmd.el (eshell-parse-command): === modified file 'lisp/net/browse-url.el' --- lisp/net/browse-url.el 2010-11-10 22:27:02 +0000 +++ lisp/net/browse-url.el 2010-11-24 06:29:06 +0000 @@ -216,13 +216,13 @@ ;;;###autoload (defcustom browse-url-browser-function - `(("\\`mailto:" . browse-url-mail) - ("." . - ,(cond - ((memq system-type '(windows-nt ms-dos cygwin)) - 'browse-url-default-windows-browser) - ((memq system-type '(darwin)) 'browse-url-default-macosx-browser) - (t 'browse-url-default-browser)))) + (cond + ((memq system-type '(windows-nt ms-dos cygwin)) + 'browse-url-default-windows-browser) + ((memq system-type '(darwin)) + 'browse-url-default-macosx-browser) + (t + 'browse-url-default-browser)) "Function to display the current buffer in a WWW browser. This is used by the `browse-url-at-point', `browse-url-at-mouse', and `browse-url-of-file' commands. @@ -265,6 +265,18 @@ :version "24.1" :group 'browse-url) +(defcustom browse-url-mailto-function 'browse-url-mail + "Function to display mailto: links. +This variable uses the same syntax as the +`browse-url-browser-function' variable. If the +`browse-url-mailto-function' variable is nil, that variable will +be used instead." + :type '(choice + (function-item :tag "Emacs Mail" :value browse-url-mail) + (function-item :tag "None" nil)) + :version "24.1" + :group 'browse-url) + (defcustom browse-url-netscape-program "netscape" ;; Info about netscape-remote from Karl Berry. "The name by which to invoke Netscape. @@ -780,22 +792,27 @@ (defun browse-url (url &rest args) "Ask a WWW browser to load URL. Prompts for a URL, defaulting to the URL at or before point. Variable -`browse-url-browser-function' says which browser to use." +`browse-url-browser-function' says which browser to use. +If the URL is a mailto: URL, consult `browse-url-mailto-function' +first, if that exists." (interactive (browse-url-interactive-arg "URL: ")) (unless (called-interactively-p 'interactive) (setq args (or args (list browse-url-new-window-flag)))) - (let ((process-environment (copy-sequence process-environment))) + (let ((process-environment (copy-sequence process-environment)) + (function (or (and (string-match "\\`mailto:" url) + browse-url-mailto-function) + browse-url-browser-function))) ;; When connected to various displays, be careful to use the display of ;; the currently selected frame, rather than the original start display, ;; which may not even exist any more. (if (stringp (frame-parameter (selected-frame) 'display)) (setenv "DISPLAY" (frame-parameter (selected-frame) 'display))) - (if (and (consp browse-url-browser-function) - (not (functionp browse-url-browser-function))) + (if (and (consp function) + (not (functionp function))) ;; The `function' can be an alist; look down it for first match ;; and apply the function (which might be a lambda). (catch 'done - (dolist (bf browse-url-browser-function) + (dolist (bf function) (when (string-match (car bf) url) (apply (cdr bf) url args) (throw 'done t))) @@ -803,7 +820,7 @@ url)) ;; Unbound symbols go down this leg, since void-function from ;; apply is clearer than wrong-type-argument from dolist. - (apply browse-url-browser-function url args)))) + (apply function url args)))) ;;;###autoload (defun browse-url-at-point (&optional arg) ------------------------------------------------------------ revno: 102496 committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2010-11-24 06:22:51 +0000 message: shr-color.el (shr-color->hexadecimal): Ignore case of color names. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-11-24 01:28:37 +0000 +++ lisp/gnus/ChangeLog 2010-11-24 06:22:51 +0000 @@ -1,5 +1,7 @@ 2010-11-24 Katsumi Yamaoka + * shr-color.el (shr-color->hexadecimal): Ignore case of color names. + * color-lab.el: Add coding cookie. (float-pi): Use eval-and-compile. === modified file 'lisp/gnus/shr-color.el' --- lisp/gnus/shr-color.el 2010-11-23 22:24:15 +0000 +++ lisp/gnus/shr-color.el 2010-11-24 06:22:51 +0000 @@ -260,8 +260,7 @@ (shr-color-hsl-to-rgb-fractions h s l) (format "#%02X%02X%02X" (* r 255) (* g 255) (* b 255))))) ;; Color names - ((assoc color shr-color-html-colors-alist) - (cdr (assoc-string color shr-color-html-colors-alist t))) + ((cdr (assoc-string color shr-color-html-colors-alist t))) ;; Unrecognized color :( (t nil)))) ------------------------------------------------------------ revno: 102495 committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2010-11-24 01:28:37 +0000 message: color-lab.el: Add coding cookie. color-lab.el (float-pi): Use eval-and-compile. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-11-24 00:35:23 +0000 +++ lisp/gnus/ChangeLog 2010-11-24 01:28:37 +0000 @@ -1,3 +1,8 @@ +2010-11-24 Katsumi Yamaoka + + * color-lab.el: Add coding cookie. + (float-pi): Use eval-and-compile. + 2010-11-23 Lars Magne Ingebrigtsen * shr.el (shr-insert-color-overlay): Split stuff like === modified file 'lisp/gnus/color-lab.el' --- lisp/gnus/color-lab.el 2010-11-23 22:24:15 +0000 +++ lisp/gnus/color-lab.el 2010-11-24 01:28:37 +0000 @@ -1,4 +1,4 @@ -;;; color-lab.el --- Color manipulation laboratory routines +;;; color-lab.el --- Color manipulation laboratory routines -*- coding: utf-8; -*- ;; Copyright (C) 2010 Free Software Foundation, Inc. @@ -27,8 +27,9 @@ ;;; Code: ;; Emacs < 23.3 -(unless (boundp 'float-pi) - (defconst float-pi (* 4 (atan 1)) "The value of Pi (3.1415926...).")) +(eval-and-compile + (unless (boundp 'float-pi) + (defconst float-pi (* 4 (atan 1)) "The value of Pi (3.1415926...)."))) (defun rgb->hsv (red green blue) "Convert RED GREEN BLUE values to HSV representation. @@ -243,3 +244,5 @@ (* Rt (/ ΔC′ (* Sc kC)) (/ ΔH′ (* Sh kH))))))))) (provide 'color-lab) + +;;; color-lab.el ends here ------------------------------------------------------------ revno: 102494 author: Lars Magne Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2010-11-24 00:35:23 +0000 message: shr.el (shr-tag-font): Resurrect shr-tag-font again, since it's needed to parse entries. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-11-23 22:24:15 +0000 +++ lisp/gnus/ChangeLog 2010-11-24 00:35:23 +0000 @@ -2,6 +2,8 @@ * shr.el (shr-insert-color-overlay): Split stuff like "#444444 !important" to find the real colour. + (shr-tag-font): Resurrect shr-tag-font again, since it's needed to + parse entries. 2010-11-23 Andrew Cohen === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2010-11-23 22:24:15 +0000 +++ lisp/gnus/shr.el 2010-11-24 00:35:23 +0000 @@ -702,6 +702,12 @@ (shr-ensure-newline) (insert (make-string shr-width shr-hr-line) "\n")) +(defun shr-tag-font (cont) + (let ((start (point)) + (color (cdr (assq :color cont)))) + (shr-generic cont) + (shr-insert-color-overlay color start (point)))) + ;;; Table rendering algorithm. ;; Table rendering is the only complicated thing here. We do this by ------------------------------------------------------------ revno: 102493 author: Gnus developers committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2010-11-23 22:24:15 +0000 message: Merge changes made in Gnus trunk. nnheader.el (nnheader-parse-head): Bug fix. Properly position point when parsing headers. nnspool.el (nnspool-insert-nov-head): Bug fix. Make sure point is positioned properly when parsing headers. shr-color.el (shr-color->hexadecimal): Add support for color names. color-lab.el (boundp): Bind float-pi for Emacs < 23.3. shr.el (shr-insert-color-overlay): Split stuff like "#444444 !important" to find the real colour. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-11-23 10:22:49 +0000 +++ lisp/gnus/ChangeLog 2010-11-23 22:24:15 +0000 @@ -1,5 +1,22 @@ +2010-11-23 Lars Magne Ingebrigtsen + + * shr.el (shr-insert-color-overlay): Split stuff like + "#444444 !important" to find the real colour. + +2010-11-23 Andrew Cohen + + * nnheader.el (nnheader-parse-head): Bug fix. Properly position + point when parsing headers. + + * nnspool.el (nnspool-insert-nov-head): Bug fix. Make sure point + is positioned properly when parsing headers. + 2010-11-23 Julien Danjou + * color-lab.el (boundp): Bind float-pi for Emacs < 23.3. + + * shr-color.el (shr-color->hexadecimal): Add support for color names. + * shr.el (shr-parse-style): Replace \n with space in style parsing. * shr-color.el (shr-color-hsl-to-rgb-fractions): Use shr-color-hue-to-rgb. === modified file 'lisp/gnus/color-lab.el' --- lisp/gnus/color-lab.el 2010-11-23 00:03:44 +0000 +++ lisp/gnus/color-lab.el 2010-11-23 22:24:15 +0000 @@ -26,6 +26,10 @@ ;;; Code: +;; Emacs < 23.3 +(unless (boundp 'float-pi) + (defconst float-pi (* 4 (atan 1)) "The value of Pi (3.1415926...).")) + (defun rgb->hsv (red green blue) "Convert RED GREEN BLUE values to HSV representation. Hue is in radian. Saturation and values are between 0 and 1." === modified file 'lisp/gnus/nnheader.el' --- lisp/gnus/nnheader.el 2010-10-11 23:29:33 +0000 +++ lisp/gnus/nnheader.el 2010-11-23 22:24:15 +0000 @@ -366,15 +366,13 @@ (setq num 0 beg (point-min) end (point-max)) - (goto-char (point-min)) ;; Search to the beginning of the next header. Error ;; messages do not begin with 2 or 3. (when (re-search-forward "^[23][0-9]+ " nil t) - (end-of-line) (setq num (read cur) beg (point) end (if (search-forward "\n.\n" nil t) - (- (point) 2) + (goto-char (- (point) 2)) (point))))) (with-temp-buffer (insert-buffer-substring cur beg end) === modified file 'lisp/gnus/nnspool.el' --- lisp/gnus/nnspool.el 2010-09-18 23:36:29 +0000 +++ lisp/gnus/nnspool.el 2010-11-23 22:24:15 +0000 @@ -399,15 +399,16 @@ "Read the head of ARTICLE, convert to NOV headers, and insert." (save-excursion (let ((cur (current-buffer)) - buf) + buf) (setq buf (nnheader-set-temp-buffer " *nnspool head*")) (when (nnheader-insert-head - (nnspool-article-pathname nnspool-current-group article)) - (nnheader-insert-article-line article) - (let ((headers (nnheader-parse-head))) - (set-buffer cur) - (goto-char (point-max)) - (nnheader-insert-nov headers))) + (nnspool-article-pathname nnspool-current-group article)) + (nnheader-insert-article-line article) + (goto-char (point-min)) + (let ((headers (nnheader-parse-head))) + (set-buffer cur) + (goto-char (point-max)) + (nnheader-insert-nov headers))) (kill-buffer buf)))) (defun nnspool-sift-nov-with-sed (articles file) === modified file 'lisp/gnus/shr-color.el' --- lisp/gnus/shr-color.el 2010-11-23 10:22:49 +0000 +++ lisp/gnus/shr-color.el 2010-11-23 22:24:15 +0000 @@ -45,6 +45,157 @@ :group 'shr :type 'integer) +(defconst shr-color-html-colors-alist + '(("AliceBlue" . "#F0F8FF") + ("AntiqueWhite" . "#FAEBD7") + ("Aqua" . "#00FFFF") + ("Aquamarine" . "#7FFFD4") + ("Azure" . "#F0FFFF") + ("Beige" . "#F5F5DC") + ("Bisque" . "#FFE4C4") + ("Black" . "#000000") + ("BlanchedAlmond" . "#FFEBCD") + ("Blue" . "#0000FF") + ("BlueViolet" . "#8A2BE2") + ("Brown" . "#A52A2A") + ("BurlyWood" . "#DEB887") + ("CadetBlue" . "#5F9EA0") + ("Chartreuse" . "#7FFF00") + ("Chocolate" . "#D2691E") + ("Coral" . "#FF7F50") + ("CornflowerBlue" . "#6495ED") + ("Cornsilk" . "#FFF8DC") + ("Crimson" . "#DC143C") + ("Cyan" . "#00FFFF") + ("DarkBlue" . "#00008B") + ("DarkCyan" . "#008B8B") + ("DarkGoldenRod" . "#B8860B") + ("DarkGray" . "#A9A9A9") + ("DarkGrey" . "#A9A9A9") + ("DarkGreen" . "#006400") + ("DarkKhaki" . "#BDB76B") + ("DarkMagenta" . "#8B008B") + ("DarkOliveGreen" . "#556B2F") + ("Darkorange" . "#FF8C00") + ("DarkOrchid" . "#9932CC") + ("DarkRed" . "#8B0000") + ("DarkSalmon" . "#E9967A") + ("DarkSeaGreen" . "#8FBC8F") + ("DarkSlateBlue" . "#483D8B") + ("DarkSlateGray" . "#2F4F4F") + ("DarkSlateGrey" . "#2F4F4F") + ("DarkTurquoise" . "#00CED1") + ("DarkViolet" . "#9400D3") + ("DeepPink" . "#FF1493") + ("DeepSkyBlue" . "#00BFFF") + ("DimGray" . "#696969") + ("DimGrey" . "#696969") + ("DodgerBlue" . "#1E90FF") + ("FireBrick" . "#B22222") + ("FloralWhite" . "#FFFAF0") + ("ForestGreen" . "#228B22") + ("Fuchsia" . "#FF00FF") + ("Gainsboro" . "#DCDCDC") + ("GhostWhite" . "#F8F8FF") + ("Gold" . "#FFD700") + ("GoldenRod" . "#DAA520") + ("Gray" . "#808080") + ("Grey" . "#808080") + ("Green" . "#008000") + ("GreenYellow" . "#ADFF2F") + ("HoneyDew" . "#F0FFF0") + ("HotPink" . "#FF69B4") + ("IndianRed" . "#CD5C5C") + ("Indigo" . "#4B0082") + ("Ivory" . "#FFFFF0") + ("Khaki" . "#F0E68C") + ("Lavender" . "#E6E6FA") + ("LavenderBlush" . "#FFF0F5") + ("LawnGreen" . "#7CFC00") + ("LemonChiffon" . "#FFFACD") + ("LightBlue" . "#ADD8E6") + ("LightCoral" . "#F08080") + ("LightCyan" . "#E0FFFF") + ("LightGoldenRodYellow" . "#FAFAD2") + ("LightGray" . "#D3D3D3") + ("LightGrey" . "#D3D3D3") + ("LightGreen" . "#90EE90") + ("LightPink" . "#FFB6C1") + ("LightSalmon" . "#FFA07A") + ("LightSeaGreen" . "#20B2AA") + ("LightSkyBlue" . "#87CEFA") + ("LightSlateGray" . "#778899") + ("LightSlateGrey" . "#778899") + ("LightSteelBlue" . "#B0C4DE") + ("LightYellow" . "#FFFFE0") + ("Lime" . "#00FF00") + ("LimeGreen" . "#32CD32") + ("Linen" . "#FAF0E6") + ("Magenta" . "#FF00FF") + ("Maroon" . "#800000") + ("MediumAquaMarine" . "#66CDAA") + ("MediumBlue" . "#0000CD") + ("MediumOrchid" . "#BA55D3") + ("MediumPurple" . "#9370D8") + ("MediumSeaGreen" . "#3CB371") + ("MediumSlateBlue" . "#7B68EE") + ("MediumSpringGreen" . "#00FA9A") + ("MediumTurquoise" . "#48D1CC") + ("MediumVioletRed" . "#C71585") + ("MidnightBlue" . "#191970") + ("MintCream" . "#F5FFFA") + ("MistyRose" . "#FFE4E1") + ("Moccasin" . "#FFE4B5") + ("NavajoWhite" . "#FFDEAD") + ("Navy" . "#000080") + ("OldLace" . "#FDF5E6") + ("Olive" . "#808000") + ("OliveDrab" . "#6B8E23") + ("Orange" . "#FFA500") + ("OrangeRed" . "#FF4500") + ("Orchid" . "#DA70D6") + ("PaleGoldenRod" . "#EEE8AA") + ("PaleGreen" . "#98FB98") + ("PaleTurquoise" . "#AFEEEE") + ("PaleVioletRed" . "#D87093") + ("PapayaWhip" . "#FFEFD5") + ("PeachPuff" . "#FFDAB9") + ("Peru" . "#CD853F") + ("Pink" . "#FFC0CB") + ("Plum" . "#DDA0DD") + ("PowderBlue" . "#B0E0E6") + ("Purple" . "#800080") + ("Red" . "#FF0000") + ("RosyBrown" . "#BC8F8F") + ("RoyalBlue" . "#4169E1") + ("SaddleBrown" . "#8B4513") + ("Salmon" . "#FA8072") + ("SandyBrown" . "#F4A460") + ("SeaGreen" . "#2E8B57") + ("SeaShell" . "#FFF5EE") + ("Sienna" . "#A0522D") + ("Silver" . "#C0C0C0") + ("SkyBlue" . "#87CEEB") + ("SlateBlue" . "#6A5ACD") + ("SlateGray" . "#708090") + ("SlateGrey" . "#708090") + ("Snow" . "#FFFAFA") + ("SpringGreen" . "#00FF7F") + ("SteelBlue" . "#4682B4") + ("Tan" . "#D2B48C") + ("Teal" . "#008080") + ("Thistle" . "#D8BFD8") + ("Tomato" . "#FF6347") + ("Turquoise" . "#40E0D0") + ("Violet" . "#EE82EE") + ("Wheat" . "#F5DEB3") + ("White" . "#FFFFFF") + ("WhiteSmoke" . "#F5F5F5") + ("Yellow" . "#FFFF00") + ("YellowGreen" . "#9ACD32")) + "Alist of HTML colors. +Each entry should have the form (COLOR-NAME . HEXADECIMAL-COLOR).") + (defun shr-color-relative-to-absolute (number) "Convert a relative NUMBER to absolute. If NUMBER is absolute, return NUMBER. This will convert \"80 %\" to 204, \"100 %\" to 255 but \"123\" to \"123\"." @@ -78,30 +229,42 @@ "Convert any color format to hexadecimal representation. Like rgb() or hsl()." (when color - (cond ((or (string-match - "rgb(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*)" - color) - (string-match - "rgba(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)" - color)) - (format "#%02X%02X%02X" - (shr-color-relative-to-absolute (match-string-no-properties 1 color)) - (shr-color-relative-to-absolute (match-string-no-properties 2 color)) - (shr-color-relative-to-absolute (match-string-no-properties 3 color)))) - ((or (string-match - "hsl(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*)" - color) - (string-match - "hsla(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)" - color)) - (let ((h (/ (string-to-number (match-string-no-properties 1 color)) 360.0)) - (s (/ (string-to-number (match-string-no-properties 2 color)) 100.0)) - (l (/ (string-to-number (match-string-no-properties 3 color)) 100.0))) - (destructuring-bind (r g b) - (shr-color-hsl-to-rgb-fractions h s l) - (format "#%02X%02X%02X" (* r 255) (* g 255) (* b 255))))) - (t - color)))) + (cond + ;; Hexadecimal color: #abc or #aabbcc + ((string-match-p + "#[0-9a-fA-F]\\{3\\}[0-9a-fA-F]\\{3\\}?" + color) + color) + ;; rgb() or rgba() colors + ((or (string-match + "rgb(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*)" + color) + (string-match + "rgba(\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*\\([0-9]\\{1,3\\}\\(?:\s*%\\)?\\)\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)" + color)) + (format "#%02X%02X%02X" + (shr-color-relative-to-absolute (match-string-no-properties 1 color)) + (shr-color-relative-to-absolute (match-string-no-properties 2 color)) + (shr-color-relative-to-absolute (match-string-no-properties 3 color)))) + ;; hsl() or hsla() colors + ((or (string-match + "hsl(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*)" + color) + (string-match + "hsla(\s*\\([0-9]\\{1,3\\}\\)\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*\\([0-9]\\{1,3\\}\\)\s*%\s*,\s*[0-9]*\.?[0-9]+\s*%?\s*)" + color)) + (let ((h (/ (string-to-number (match-string-no-properties 1 color)) 360.0)) + (s (/ (string-to-number (match-string-no-properties 2 color)) 100.0)) + (l (/ (string-to-number (match-string-no-properties 3 color)) 100.0))) + (destructuring-bind (r g b) + (shr-color-hsl-to-rgb-fractions h s l) + (format "#%02X%02X%02X" (* r 255) (* g 255) (* b 255))))) + ;; Color names + ((assoc color shr-color-html-colors-alist) + (cdr (assoc-string color shr-color-html-colors-alist t))) + ;; Unrecognized color :( + (t + nil)))) (defun set-minimum-interval (val1 val2 min max interval &optional fixed) "Set minimum interval between VAL1 and VAL2 to INTERVAL. === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2010-11-23 10:22:49 +0000 +++ lisp/gnus/shr.el 2010-11-23 22:24:15 +0000 @@ -502,6 +502,8 @@ (defun shr-insert-color-overlay (color start end) (when color + (when (string-match " " color) + (setq color (car (split-string color)))) (let ((overlay (make-overlay start end))) (overlay-put overlay 'face (cons 'foreground-color (cadr (shr-color-check color))))))) ------------------------------------------------------------ revno: 102492 committer: Eli Zaretskii branch nick: trunk timestamp: Tue 2010-11-23 22:27:22 +0200 message: Avoid GCC warning with inline functions. intervals.c (temp_set_point_both): Define before calling, to avoid GCC warnings. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-11-23 19:36:48 +0000 +++ src/ChangeLog 2010-11-23 20:27:22 +0000 @@ -1,3 +1,8 @@ +2010-11-23 Eli Zaretskii + + * intervals.c (temp_set_point_both): Define before calling, to + avoid GCC warnings. + 2010-11-23 Dan Nicolaescu * nsmenu.m: Use #include instead of "config.h". === modified file 'src/intervals.c' --- src/intervals.c 2010-09-23 19:18:30 +0000 +++ src/intervals.c 2010-11-23 20:27:22 +0000 @@ -1875,15 +1875,6 @@ } -/* Set point "temporarily", without checking any text properties. */ - -INLINE void -temp_set_point (struct buffer *buffer, EMACS_INT charpos) -{ - temp_set_point_both (buffer, charpos, - buf_charpos_to_bytepos (buffer, charpos)); -} - /* Set point in BUFFER "temporarily" to CHARPOS, which corresponds to byte position BYTEPOS. */ @@ -1906,6 +1897,15 @@ BUF_PT (buffer) = charpos; } +/* Set point "temporarily", without checking any text properties. */ + +INLINE void +temp_set_point (struct buffer *buffer, EMACS_INT charpos) +{ + temp_set_point_both (buffer, charpos, + buf_charpos_to_bytepos (buffer, charpos)); +} + /* Set point in BUFFER to CHARPOS. If the target position is before an intangible character, move to an ok place. */ ------------------------------------------------------------ revno: 102491 committer: Eli Zaretskii branch nick: trunk timestamp: Tue 2010-11-23 22:21:16 +0200 message: Fix compilation on Windows following revno 102488. config.nt (EXTERNALLY_VISIBLE): Define. diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2010-10-13 14:50:06 +0000 +++ nt/ChangeLog 2010-11-23 20:21:16 +0000 @@ -1,3 +1,7 @@ +2010-11-23 Eli Zaretskii + + * config.nt (EXTERNALLY_VISIBLE): Define. + 2010-10-13 Juanma Barranquero * INSTALL: Refer to `dynamic-library-alist'. === modified file 'nt/config.nt' --- nt/config.nt 2010-08-02 23:20:48 +0000 +++ nt/config.nt 2010-11-23 20:21:16 +0000 @@ -281,6 +281,12 @@ #define INLINE #endif +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) +#define EXTERNALLY_VISIBLE __attribute__((externally_visible)) +#else +#define EXTERNALLY_VISIBLE +#endif + #undef EMACS_CONFIGURATION #undef EMACS_CONFIG_OPTIONS ------------------------------------------------------------ revno: 102490 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-11-23 11:36:48 -0800 message: * src/nsmenu.m: Use #include instead of "config.h". diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-11-23 18:56:28 +0000 +++ src/ChangeLog 2010-11-23 19:36:48 +0000 @@ -1,5 +1,7 @@ 2010-11-23 Dan Nicolaescu + * nsmenu.m: Use #include instead of "config.h". + * term.c (Qglyphless_char,last_glyphless_glyph_frame) (last_glyphless_glyph_face_id. last_glyphless_glyph_merged_face_id): Move declarations ... === modified file 'src/nsmenu.m' --- src/nsmenu.m 2010-10-01 12:25:21 +0000 +++ src/nsmenu.m 2010-11-23 19:36:48 +0000 @@ -23,7 +23,7 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ -#include "config.h" +#include #include #include "lisp.h" ------------------------------------------------------------ revno: 102489 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-11-23 10:56:28 -0800 message: Move extern declarations from term.c to lisp.h. * src/term.c (Qglyphless_char,last_glyphless_glyph_frame) (last_glyphless_glyph_face_id. last_glyphless_glyph_merged_face_id): Move declarations ... * src/lisp.h (Qglyphless_char,last_glyphless_glyph_frame) (last_glyphless_glyph_face_id. last_glyphless_glyph_merged_face_id): ... here. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-11-23 18:47:23 +0000 +++ src/ChangeLog 2010-11-23 18:56:28 +0000 @@ -1,5 +1,12 @@ 2010-11-23 Dan Nicolaescu + * term.c (Qglyphless_char,last_glyphless_glyph_frame) + (last_glyphless_glyph_face_id. last_glyphless_glyph_merged_face_id): + Move declarations ... + * lisp.h (Qglyphless_char,last_glyphless_glyph_frame) + (last_glyphless_glyph_face_id. last_glyphless_glyph_merged_face_id): + ... here. + * emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits) (gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG) (gdb_pvec_type): === modified file 'src/lisp.h' --- src/lisp.h 2010-11-23 18:47:23 +0000 +++ src/lisp.h 2010-11-23 18:56:28 +0000 @@ -2674,11 +2674,15 @@ extern Lisp_Object Qspace, Qcenter, QCalign_to; extern Lisp_Object Qbar, Qhbar, Qbox, Qhollow; extern Lisp_Object Qleft_margin, Qright_margin; +extern Lisp_Object Qglyphless_char; extern Lisp_Object Vmessage_log_max; extern Lisp_Object QCdata, QCfile; extern Lisp_Object QCmap; extern Lisp_Object Qrisky_local_variable; extern Lisp_Object Vinhibit_redisplay; +extern struct frame *last_glyphless_glyph_frame; +extern unsigned last_glyphless_glyph_face_id; +extern int last_glyphless_glyph_merged_face_id; extern int message_enable_multibyte; extern int noninteractive_need_newline; extern EMACS_INT scroll_margin; === modified file 'src/term.c' --- src/term.c 2010-11-20 15:04:50 +0000 +++ src/term.c 2010-11-23 18:56:28 +0000 @@ -66,6 +66,10 @@ extern int tgetflag (char *id); extern int tgetnum (char *id); +char *tparam (char *, char *, int, int, ...); + +extern char *tgetstr (char *, char **); + #include "cm.h" #ifdef HAVE_X_WINDOWS #include "xterm.h" @@ -176,9 +180,6 @@ static int system_uses_terminfo; -char *tparam (char *, char *, int, int, ...); - -extern char *tgetstr (char *, char **); #ifdef HAVE_GPM @@ -1914,12 +1915,6 @@ } } -/* Declared in xdisp.c */ -extern struct frame *last_glyphless_glyph_frame; -extern unsigned last_glyphless_glyph_face_id; -extern int last_glyphless_glyph_merged_face_id; -extern Lisp_Object Qglyphless_char; - /* Produce glyphs for a glyphless character for iterator IT. IT->glyphless_method specifies which method to use for displaying the character. See the description of enum ------------------------------------------------------------ revno: 102488 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-11-23 10:47:23 -0800 message: Mark debugger related variables and functions as EXTERNALLY_VISIBLE so that they do not get optimized away. * configure.in (EXTERNALLY_VISIBLE): New definition. * src/emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits) (gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG) (gdb_pvec_type): * src/print.c (print_output_debug_flag): * src/lisp.h (debug_print): Mark as EXTERNALLY_VISIBLE. (safe_debug_print): New declaration. diff: === modified file 'ChangeLog' --- ChangeLog 2010-11-23 18:09:55 +0000 +++ ChangeLog 2010-11-23 18:47:23 +0000 @@ -1,6 +1,7 @@ 2010-11-23 Dan Nicolaescu * configure.in : Remove sys/ioctl.h. + (EXTERNALLY_VISIBLE): New definition. 2010-11-21 Dan Nicolaescu === modified file 'configure.in' --- configure.in 2010-11-23 18:09:55 +0000 +++ configure.in 2010-11-23 18:47:23 +0000 @@ -3633,6 +3633,12 @@ #define NO_INLINE #endif +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) +#define EXTERNALLY_VISIBLE __attribute__((externally_visible)) +#else +#define EXTERNALLY_VISIBLE +#endif + /* Some versions of GNU/Linux define noinline in their headers. */ #ifdef noinline #undef noinline === modified file 'src/ChangeLog' --- src/ChangeLog 2010-11-23 18:09:55 +0000 +++ src/ChangeLog 2010-11-23 18:47:23 +0000 @@ -1,5 +1,12 @@ 2010-11-23 Dan Nicolaescu + * emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits) + (gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG) + (gdb_pvec_type): + * print.c (print_output_debug_flag): + * lisp.h (debug_print): Mark as EXTERNALLY_VISIBLE. + (safe_debug_print): New declaration. + * xterm.c: * systty.h: * sound.c: Include unconditionally. === modified file 'src/config.in' --- src/config.in 2010-11-23 18:09:55 +0000 +++ src/config.in 2010-11-23 18:47:23 +0000 @@ -1197,6 +1197,12 @@ #define NO_INLINE #endif +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) +#define EXTERNALLY_VISIBLE __attribute__((externally_visible)) +#else +#define EXTERNALLY_VISIBLE +#endif + /* Some versions of GNU/Linux define noinline in their headers. */ #ifdef noinline #undef noinline === modified file 'src/emacs.c' --- src/emacs.c 2010-11-21 05:39:01 +0000 +++ src/emacs.c 2010-11-23 18:47:23 +0000 @@ -100,27 +100,27 @@ /* Make these values available in GDB, which doesn't see macros. */ #ifdef USE_LSB_TAG -int gdb_use_lsb = 1; +int gdb_use_lsb EXTERNALLY_VISIBLE = 1; #else -int gdb_use_lsb = 0; +int gdb_use_lsb EXTERNALLY_VISIBLE = 0; #endif #ifndef USE_LISP_UNION_TYPE -int gdb_use_union = 0; +int gdb_use_union EXTERNALLY_VISIBLE = 0; #else -int gdb_use_union = 1; +int gdb_use_union EXTERNALLY_VISIBLE = 1; #endif -EMACS_INT gdb_valbits = VALBITS; -EMACS_INT gdb_gctypebits = GCTYPEBITS; +EMACS_INT gdb_valbits EXTERNALLY_VISIBLE = VALBITS; +EMACS_INT gdb_gctypebits EXTERNALLY_VISIBLE = GCTYPEBITS; #if defined (DATA_SEG_BITS) && ! defined (USE_LSB_TAG) -EMACS_INT gdb_data_seg_bits = DATA_SEG_BITS; +EMACS_INT gdb_data_seg_bits EXTERNALLY_VISIBLE = DATA_SEG_BITS; #else -EMACS_INT gdb_data_seg_bits = 0; +EMACS_INT gdb_data_seg_bits EXTERNALLY_VISIBLE = 0; #endif -EMACS_INT PVEC_FLAG = PSEUDOVECTOR_FLAG; -EMACS_INT gdb_array_mark_flag = ARRAY_MARK_FLAG; +EMACS_INT PVEC_FLAG EXTERNALLY_VISIBLE = PSEUDOVECTOR_FLAG; +EMACS_INT gdb_array_mark_flag EXTERNALLY_VISIBLE = ARRAY_MARK_FLAG; /* GDB might say "No enum type named pvec_type" if we don't have at least one symbol with that type, and then xbacktrace could fail. */ -enum pvec_type gdb_pvec_type = PVEC_TYPE_MASK; +enum pvec_type gdb_pvec_type EXTERNALLY_VISIBLE = PVEC_TYPE_MASK; /* Command line args from shell, as list of strings. */ Lisp_Object Vcommand_line_args; === modified file 'src/lisp.h' --- src/lisp.h 2010-11-18 21:45:03 +0000 +++ src/lisp.h 2010-11-23 18:47:23 +0000 @@ -2832,7 +2832,8 @@ /* Defined in print.c */ extern Lisp_Object Vprin1_to_string_buffer; extern Lisp_Object Vprint_level, Vprint_length; -extern void debug_print (Lisp_Object); +extern void debug_print (Lisp_Object) EXTERNALLY_VISIBLE; +extern void safe_debug_print (Lisp_Object) EXTERNALLY_VISIBLE; EXFUN (Fprin1, 2); EXFUN (Fprin1_to_string, 2); EXFUN (Fprinc, 2); === modified file 'src/print.c' --- src/print.c 2010-10-14 14:32:27 +0000 +++ src/print.c 2010-11-23 18:47:23 +0000 @@ -163,7 +163,7 @@ void print_interval (INTERVAL interval, Lisp_Object printcharfun); /* GDB resets this to zero on W32 to disable OutputDebugString calls. */ -int print_output_debug_flag = 1; +int print_output_debug_flag EXTERNALLY_VISIBLE = 1; /* Low level output routines for characters and strings */ ------------------------------------------------------------ revno: 102487 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-11-23 10:09:55 -0800 message: Include unconditionally. * configure.in : Remove sys/ioctl.h. * src/xterm.c: * src/systty.h: * src/sound.c: Include unconditionally. diff: === modified file 'ChangeLog' --- ChangeLog 2010-11-21 05:17:19 +0000 +++ ChangeLog 2010-11-23 18:09:55 +0000 @@ -1,3 +1,7 @@ +2010-11-23 Dan Nicolaescu + + * configure.in : Remove sys/ioctl.h. + 2010-11-21 Dan Nicolaescu * configure.in (INLINE): Do not depend on OPTIMIZE, unused. === modified file 'configure' --- configure 2010-11-21 14:39:55 +0000 +++ configure 2010-11-23 18:09:55 +0000 @@ -14106,19 +14106,6 @@ fi -for ac_header in sys/ioctl.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/ioctl.h" "ac_cv_header_sys_ioctl_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_ioctl_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_IOCTL_H 1 -_ACEOF - -fi - -done - - if test -f /usr/lpp/X11/bin/smt.exp; then $as_echo "#define HAVE_AIX_SMT_EXP 1" >>confdefs.h === modified file 'configure.in' --- configure.in 2010-11-21 14:39:55 +0000 +++ configure.in 2010-11-23 18:09:55 +0000 @@ -3028,8 +3028,6 @@ [Define to 1 if you have inet sockets.]) fi -AC_CHECK_HEADERS(sys/ioctl.h) - if test -f /usr/lpp/X11/bin/smt.exp; then AC_DEFINE(HAVE_AIX_SMT_EXP, 1, [Define to 1 if the file /usr/lpp/X11/bin/smt.exp exists.]) === modified file 'src/ChangeLog' --- src/ChangeLog 2010-11-22 00:43:53 +0000 +++ src/ChangeLog 2010-11-23 18:09:55 +0000 @@ -1,3 +1,9 @@ +2010-11-23 Dan Nicolaescu + + * xterm.c: + * systty.h: + * sound.c: Include unconditionally. + 2010-11-22 YAMAMOTO Mitsuharu * alloc.c (mark_maybe_object): Return early if given a Lisp === modified file 'src/config.in' --- src/config.in 2010-11-21 05:17:19 +0000 +++ src/config.in 2010-11-23 18:09:55 +0000 @@ -663,9 +663,6 @@ /* Define to 1 if you have the `sysinfo' function. */ #undef HAVE_SYSINFO -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_IOCTL_H - /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MMAN_H === modified file 'src/sound.c' --- src/sound.c 2010-10-01 13:56:33 +0000 +++ src/sound.c 2010-11-23 18:09:55 +0000 @@ -56,9 +56,7 @@ /* BEGIN: Non Windows Includes */ #ifndef WINDOWSNT -#ifndef MSDOS #include -#endif /* FreeBSD has machine/soundcard.h. Voxware sound driver docs mention sys/soundcard.h. So, let's try whatever's there. */ === modified file 'src/systty.h' --- src/systty.h 2010-11-15 06:10:35 +0000 +++ src/systty.h 2010-11-23 18:09:55 +0000 @@ -26,9 +26,7 @@ #include #endif /* not DOS_NT */ -#ifdef HAVE_SYS_IOCTL_H #include -#endif #ifdef HPUX #include === modified file 'src/xterm.c' --- src/xterm.c 2010-11-17 15:12:02 +0000 +++ src/xterm.c 2010-11-23 18:09:55 +0000 @@ -47,9 +47,7 @@ #include #endif /* makedev */ -#ifdef HAVE_SYS_IOCTL_H #include -#endif /* ! defined (HAVE_SYS_IOCTL_H) */ #include "systime.h" ------------------------------------------------------------ revno: 102486 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2010-11-23 12:36:15 -0500 message: * lisp/eshell/: Use with-silent-modifications. * lisp/eshell/esh-cmd.el (eshell-parse-command): * lisp/eshell/esh-arg.el (eshell-parse-arguments): * lisp/eshell/em-script.el (eshell-source-file): Use with-silent-modifications. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-11-23 15:13:43 +0000 +++ lisp/ChangeLog 2010-11-23 17:36:15 +0000 @@ -1,3 +1,10 @@ +2010-11-23 Stefan Monnier + + * eshell/esh-cmd.el (eshell-parse-command): + * eshell/esh-arg.el (eshell-parse-arguments): + * eshell/em-script.el (eshell-source-file): + Use with-silent-modifications. + 2010-11-23 Chong Yidong * vc/vc.el (vc-merge): Remove optional arg PROMPT. Always prompt === modified file 'lisp/eshell/em-script.el' --- lisp/eshell/em-script.el 2010-09-25 21:51:55 +0000 +++ lisp/eshell/em-script.el 2010-11-23 17:36:15 +0000 @@ -90,23 +90,25 @@ (interactive "f") (let ((orig (point)) (here (point-max)) - (inhibit-point-motion-hooks t) - after-change-functions) - (goto-char (point-max)) - (insert-file-contents file) - (goto-char (point-max)) - (throw 'eshell-replace-command - (prog1 - (list 'let - (list (list 'eshell-command-name (list 'quote file)) - (list 'eshell-command-arguments - (list 'quote args))) - (let ((cmd (eshell-parse-command (cons here (point))))) - (if subcommand-p - (setq cmd (list 'eshell-as-subcommand cmd))) - cmd)) - (delete-region here (point)) - (goto-char orig))))) + (inhibit-point-motion-hooks t)) + (goto-char (point-max)) + (with-silent-modifications + ;; FIXME: Why not use a temporary buffer and avoid this + ;; "insert&delete" business? --Stef + (insert-file-contents file) + (goto-char (point-max)) + (throw 'eshell-replace-command + (prog1 + (list 'let + (list (list 'eshell-command-name (list 'quote file)) + (list 'eshell-command-arguments + (list 'quote args))) + (let ((cmd (eshell-parse-command (cons here (point))))) + (if subcommand-p + (setq cmd (list 'eshell-as-subcommand cmd))) + cmd)) + (delete-region here (point)) + (goto-char orig)))))) (defun eshell/source (&rest args) "Source a file in a subshell environment." === modified file 'lisp/eshell/esh-arg.el' --- lisp/eshell/esh-arg.el 2010-01-13 08:35:10 +0000 +++ lisp/eshell/esh-arg.el 2010-11-23 17:36:15 +0000 @@ -123,7 +123,7 @@ :type 'hook :group 'eshell-arg) -(defcustom eshell-delimiter-argument-list '(?\; ?& ?\| ?\> ? ?\t ?\n) +(defcustom eshell-delimiter-argument-list '(?\; ?& ?\| ?\> ?\s ?\t ?\n) "List of characters to recognize as argument separators." :type '(repeat character) :group 'eshell-arg) @@ -214,25 +214,24 @@ (narrow-to-region beg end) (let ((inhibit-point-motion-hooks t) (args (list t)) - after-change-functions delim) - (remove-text-properties (point-min) (point-max) - '(arg-begin nil arg-end nil)) - (if (setq - delim - (catch 'eshell-incomplete - (while (not (eobp)) - (let* ((here (point)) - (arg (eshell-parse-argument))) - (if (= (point) here) - (error "Failed to parse argument '%s'" - (buffer-substring here (point-max)))) - (and arg (nconc args (list arg))))))) - (if (listp delim) - (throw 'eshell-incomplete delim) - (throw 'eshell-incomplete - (list delim (point) (cdr args))))) - (cdr args))))) + (with-silent-modifications + (remove-text-properties (point-min) (point-max) + '(arg-begin nil arg-end nil)) + (if (setq + delim + (catch 'eshell-incomplete + (while (not (eobp)) + (let* ((here (point)) + (arg (eshell-parse-argument))) + (if (= (point) here) + (error "Failed to parse argument '%s'" + (buffer-substring here (point-max)))) + (and arg (nconc args (list arg))))))) + (throw 'eshell-incomplete (if (listp delim) + delim + (list delim (point) (cdr args))))) + (cdr args)))))) (defun eshell-parse-argument () "Get the next argument. Leave point after it." === modified file 'lisp/eshell/esh-cmd.el' --- lisp/eshell/esh-cmd.el 2010-09-25 21:51:55 +0000 +++ lisp/eshell/esh-cmd.el 2010-11-23 17:36:15 +0000 @@ -355,12 +355,14 @@ (if (consp command) (eshell-parse-arguments (car command) (cdr command)) (let ((here (point)) - (inhibit-point-motion-hooks t) - after-change-functions) - (insert command) - (prog1 - (eshell-parse-arguments here (point)) - (delete-region here (point))))) + (inhibit-point-motion-hooks t)) + (with-silent-modifications + ;; FIXME: Why not use a temporary buffer and avoid this + ;; "insert&delete" business? --Stef + (insert command) + (prog1 + (eshell-parse-arguments here (point)) + (delete-region here (point)))))) args)) (commands (mapcar ------------------------------------------------------------ revno: 102485 committer: Chong Yidong branch nick: trunk timestamp: Tue 2010-11-23 10:13:43 -0500 message: Always issue a full prompt in vc-merge-branch operation. * vc/vc.el (vc-merge): Remove optional arg PROMPT. Always prompt for a merge location. * vc/vc-bzr.el (vc-bzr-pull): Remove unused var. (vc-bzr-merge-branch): Always prompt. (vc-bzr-async-command): Use the full branch filename. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-11-23 14:19:54 +0000 +++ lisp/ChangeLog 2010-11-23 15:13:43 +0000 @@ -1,3 +1,12 @@ +2010-11-23 Chong Yidong + + * vc/vc.el (vc-merge): Remove optional arg PROMPT. Always prompt + for a merge location. + + * vc/vc-bzr.el (vc-bzr-pull): Remove unused var. + (vc-bzr-merge-branch): Always prompt. + (vc-bzr-async-command): Use the full branch filename. + 2010-11-23 Stefan Monnier * shell.el (shell): Use current-buffer by default if it's already === modified file 'lisp/vc/vc-bzr.el' --- lisp/vc/vc-bzr.el 2010-11-23 01:15:08 +0000 +++ lisp/vc/vc-bzr.el 2010-11-23 15:13:43 +0000 @@ -256,7 +256,9 @@ ;; TODO: set up hyperlinks. (let* ((dir default-directory) (root (vc-bzr-root default-directory)) - (buffer (get-buffer-create (format "*vc-bzr : %s*" root)))) + (buffer (get-buffer-create + (format "*vc-bzr : %s*" + (expand-file-name root))))) (with-current-buffer buffer (setq default-directory root) (goto-char (point-max)) @@ -288,7 +290,7 @@ "^parent_location\\s-*=\\s-*[^\n[:space:]]+" branch-conf))) (command (if bound "update" "pull")) - args buf) + args) ;; If necessary, prompt for the exact command. (when (or prompt (not (or bound parent))) (setq args (split-string @@ -302,31 +304,36 @@ args (cddr args))) (vc-bzr-async-command command args))) -(defun vc-bzr-merge-branch (prompt) +(defun vc-bzr-merge-branch () "Merge another Bzr branch into the current one. -If a default merge source is defined (i.e. an upstream branch or -a previous merge source), this normally runs \"bzr merge --pull\". -If optional PROMPT is non-nil or no default merge source is -defined, prompt for the Bzr command to run." - (let* ((vc-bzr-program vc-bzr-program) - (command "merge") - (args '("--pull")) - command-string args buf) - (when (or prompt - ;; Prompt if there is no default merge source. - (null - (string-match - "^\\(parent_location\\|submit_branch\\)\\s-*=\\s-*[^\n[:space:]]+" - (vc-bzr--branch-conf default-directory)))) - (setq args (split-string - (read-shell-command - "Run Bzr (like this): " - (concat vc-bzr-program " " command " --pull") - 'vc-bzr-history) - " " t)) - (setq vc-bzr-program (car args) - command (cadr args) - args (cddr args))) +Prompt for the Bzr command to run, providing a pre-defined merge +source (an upstream branch or a previous merge source) as a +default if it is available." + (let* ((branch-conf (vc-bzr--branch-conf default-directory)) + ;; "bzr merge" without an argument defaults to submit_branch, + ;; then parent_location. We extract the specific location + ;; and add it explicitly to the command line. + (location + (cond + ((string-match + "^submit_branch\\s-*=\\s-*\\(?:file://\\)?\\([^\n[:space:]]+\\)$" + branch-conf) + (match-string 1 branch-conf)) + ((string-match + "^parent_location\\s-*=\\s-*\\(?:file://\\)?\\([^\n[:space:]]+\\)$" + branch-conf) + (match-string 1 branch-conf)))) + (cmd + (split-string + (read-shell-command + "Run Bzr (like this): " + (concat vc-bzr-program " merge --pull" + (if location (concat " " location) "")) + 'vc-bzr-history) + " " t)) + (vc-bzr-program (car cmd)) + (command (cadr cmd)) + (args (cddr cmd))) (vc-bzr-async-command command args))) (defun vc-bzr-status (file) === modified file 'lisp/vc/vc.el' --- lisp/vc/vc.el 2010-11-23 01:15:08 +0000 +++ lisp/vc/vc.el 2010-11-23 15:13:43 +0000 @@ -316,10 +316,10 @@ ;; Merge the changes between REV1 and REV2 into the current working file ;; (for non-distributed VCS). ;; -;; - merge-branch (prompt) +;; - merge-branch () ;; -;; Merge another branch into the current one. If PROMPT is non-nil, -;; or if necessary, prompt for a location to merge from. +;; Merge another branch into the current one, prompting for a +;; location to merge from. ;; ;; - merge-news (file) ;; @@ -1828,12 +1828,11 @@ 'modify-change-comment files rev comment)))))) ;;;###autoload -(defun vc-merge (&optional arg) +(defun vc-merge () "Perform a version control merge operation. On a distributed version control system, this runs a \"merge\" operation to incorporate changes from another branch onto the -current branch, prompting for an argument list if required. -Optional prefix ARG forces a prompt. +current branch, prompting for an argument list. On a non-distributed version control system, this merges changes between two revisions into the current fileset. This asks for @@ -1841,14 +1840,14 @@ revision is a branch number, then merge all changes from that branch. If the first revision is empty, merge the most recent changes from the current branch." - (interactive "P") + (interactive) (let* ((vc-fileset (vc-deduce-fileset t)) (backend (car vc-fileset)) (files (cadr vc-fileset))) (cond ;; If a branch-merge operation is defined, use it. ((vc-find-backend-function backend 'merge-branch) - (vc-call-backend backend 'merge-branch arg)) + (vc-call-backend backend 'merge-branch)) ;; Otherwise, do a per-file merge. ((vc-find-backend-function backend 'merge) (vc-buffer-sync) ------------------------------------------------------------ revno: 102484 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2010-11-23 09:19:54 -0500 message: * lisp/shell.el (shell): Use current-buffer by default if it's already a shell mode buffer and its process is dead. Suggested by . diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-11-23 08:00:56 +0000 +++ lisp/ChangeLog 2010-11-23 14:19:54 +0000 @@ -1,7 +1,13 @@ +2010-11-23 Stefan Monnier + + * shell.el (shell): Use current-buffer by default if it's already + a shell mode buffer and its process is dead. + Suggested by . + 2010-11-23 Tassilo Horn - * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Mention - that the keywords should be comma separated. + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): + Mention that the keywords should be comma separated. 2010-11-23 Chong Yidong === modified file 'lisp/shell.el' --- lisp/shell.el 2010-11-12 14:13:48 +0000 +++ lisp/shell.el 2010-11-23 14:19:54 +0000 @@ -554,13 +554,19 @@ (generate-new-buffer-name "*shell*")) (if (file-remote-p default-directory) ;; It must be possible to declare a local default-directory. + ;; FIXME: This can't be right: it changes the default-directory + ;; of the current-buffer rather than of the *shell* buffer. (setq default-directory (expand-file-name (read-file-name "Default directory: " default-directory default-directory t nil 'file-directory-p)))))))) (require 'ansi-color) - (setq buffer (get-buffer-create (or buffer "*shell*"))) + (setq buffer (if (or buffer (not (derived-mode-p 'shell-mode)) + (comint-check-proc (current-buffer))) + (get-buffer-create (or buffer "*shell*")) + ;; If the current buffer is a dead shell buffer, use it. + (current-buffer))) ;; Pop to buffer, so that the buffer's window will be correctly set ;; when we call comint (so that comint sets the COLUMNS env var properly). (pop-to-buffer buffer) ------------------------------------------------------------ revno: 102483 author: Julien Danjou committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2010-11-23 10:22:49 +0000 message: shr-color.el: fix several function calls. shr.el: replace newline with space in style parsing diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-11-23 08:21:09 +0000 +++ lisp/gnus/ChangeLog 2010-11-23 10:22:49 +0000 @@ -1,3 +1,10 @@ +2010-11-23 Julien Danjou + + * shr.el (shr-parse-style): Replace \n with space in style parsing. + + * shr-color.el (shr-color-hsl-to-rgb-fractions): Use shr-color-hue-to-rgb. + (shr-color->hexadecimal): Call shr-color-hsl-to-rgb-fractions. + 2010-11-23 Lars Magne Ingebrigtsen * shr.el (shr-color->hexadecimal): Autoload. === modified file 'lisp/gnus/shr-color.el' --- lisp/gnus/shr-color.el 2010-11-23 00:03:44 +0000 +++ lisp/gnus/shr-color.el 2010-11-23 10:22:49 +0000 @@ -54,6 +54,15 @@ (/ (* (string-to-number (substring number 0 string-length)) 255) 100) (string-to-number number)))) +(defun shr-color-hue-to-rgb (x y h) + "Convert X Y H to RGB value." + (when (< h 0) (incf h)) + (when (> h 1) (decf h)) + (cond ((< h (/ 1 6.0)) (+ x (* (- y x) h 6))) + ((< h 0.5) y) + ((< h (/ 2.0 3.0)) (+ x (* (- y x) (- (/ 2.0 3.0) h) 6))) + (t x))) + (defun shr-color-hsl-to-rgb-fractions (h s l) "Convert H S L to fractional RGB values." (let (m1 m2) @@ -61,9 +70,9 @@ (setq m2 (* l (+ s 1))) (setq m2 (- (+ l s) (* l s)))) (setq m1 (- (* l 2) m2)) - (list (rainbow-hue-to-rgb m1 m2 (+ h (/ 1 3.0))) - (rainbow-hue-to-rgb m1 m2 h) - (rainbow-hue-to-rgb m1 m2 (- h (/ 1 3.0)))))) + (list (shr-color-hue-to-rgb m1 m2 (+ h (/ 1 3.0))) + (shr-color-hue-to-rgb m1 m2 h) + (shr-color-hue-to-rgb m1 m2 (- h (/ 1 3.0)))))) (defun shr-color->hexadecimal (color) "Convert any color format to hexadecimal representation. @@ -89,7 +98,7 @@ (s (/ (string-to-number (match-string-no-properties 2 color)) 100.0)) (l (/ (string-to-number (match-string-no-properties 3 color)) 100.0))) (destructuring-bind (r g b) - (rainbow-hsl-to-rgb-fractions h s l) + (shr-color-hsl-to-rgb-fractions h s l) (format "#%02X%02X%02X" (* r 255) (* g 255) (* b 255))))) (t color)))) === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2010-11-23 08:21:09 +0000 +++ lisp/gnus/shr.el 2010-11-23 10:22:49 +0000 @@ -540,6 +540,9 @@ (defun shr-parse-style (style) (when style + (save-match-data + (when (string-match "\n" style) + (setq style (replace-match " " t t style)))) (let ((plist nil)) (dolist (elem (split-string style ";")) (when elem ------------------------------------------------------------ revno: 102482 author: Lars Magne Ingebrigtsen committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2010-11-23 08:21:09 +0000 message: shr.el (shr-color->hexadecimal): Autoload. shr.el (shr-descend): Add color to all tags and remove the tag-font and tag-span functions. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-11-23 00:03:44 +0000 +++ lisp/gnus/ChangeLog 2010-11-23 08:21:09 +0000 @@ -1,3 +1,8 @@ +2010-11-23 Lars Magne Ingebrigtsen + + * shr.el (shr-color->hexadecimal): Autoload. + (shr-descend): Add color to all tags. + 2010-11-22 Julien Danjou * shr.el (shr-tag-color-check): Convert colors to hexadecimal with === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2010-11-23 00:03:44 +0000 +++ lisp/gnus/shr.el 2010-11-23 08:21:09 +0000 @@ -191,10 +191,17 @@ (nreverse result))) (defun shr-descend (dom) - (let ((function (intern (concat "shr-tag-" (symbol-name (car dom))) obarray))) + (let ((function (intern (concat "shr-tag-" (symbol-name (car dom))) obarray)) + (style (cdr (assq :style (cdr dom)))) + (start (point))) + (when (and style + (string-match "color" style)) + (setq style (shr-parse-style style))) (if (fboundp function) (funcall function (cdr dom)) - (shr-generic (cdr dom))))) + (shr-generic (cdr dom))) + (when (consp style) + (shr-insert-color-overlay (cdr (assq 'color style)) start (point))))) (defun shr-generic (cont) (dolist (sub cont) @@ -485,6 +492,20 @@ "Encode URL." (browse-url-url-encode-chars url "[)$ ]")) +(autoload 'shr-color-visible "shr-color") +(autoload 'shr-color->hexadecimal "shr-color") +(defun shr-color-check (fg &optional bg) + "Check that FG is visible on BG." + (shr-color-visible (or (shr-color->hexadecimal bg) + (frame-parameter nil 'background-color)) + (shr-color->hexadecimal fg) (not bg))) + +(defun shr-insert-color-overlay (color start end) + (when color + (let ((overlay (make-overlay start end))) + (overlay-put overlay 'face (cons 'foreground-color + (cadr (shr-color-check color))))))) + ;;; Tag-specific rendering rules. (defun shr-tag-p (cont) @@ -517,31 +538,6 @@ (defun shr-tag-s (cont) (shr-fontize-cont cont 'strike-through)) -(autoload 'shr-color-visible "shr-color") -(defun shr-tag-color-check (fg &optional bg) - "Check that FG is visible on BG." - (shr-color-visible (or (shr-color->hexadecimal bg) - (frame-parameter nil 'background-color)) - (shr-color->hexadecimal fg) (not bg))) - -(defun shr-tag-insert-color-overlay (color start end) - (when color - (let ((overlay (make-overlay start end))) - (overlay-put overlay 'face (cons 'foreground-color - (cadr (shr-tag-color-check color))))))) - -(defun shr-tag-span (cont) - (let ((start (point)) - (color (cdr (assq 'color (shr-parse-style (cdr (assq :style cont))))))) - (shr-generic cont) - (shr-tag-insert-color-overlay color start (point)))) - -(defun shr-tag-font (cont) - (let ((start (point)) - (color (cdr (assq :color cont)))) - (shr-generic cont) - (shr-tag-insert-color-overlay color start (point)))) - (defun shr-parse-style (style) (when style (let ((plist nil)) ------------------------------------------------------------ revno: 102481 committer: Tassilo Horn branch nick: trunk timestamp: Tue 2010-11-23 09:00:56 +0100 message: * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Mention that the keywords should be comma separated. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-11-23 01:15:08 +0000 +++ lisp/ChangeLog 2010-11-23 08:00:56 +0000 @@ -1,3 +1,8 @@ +2010-11-23 Tassilo Horn + + * mail/emacsbug.el (report-emacs-bug-query-existing-bugs): Mention + that the keywords should be comma separated. + 2010-11-23 Chong Yidong * vc/vc.el (vc-merge): Use vc-BACKEND-merge-branch if available. === modified file 'lisp/mail/emacsbug.el' --- lisp/mail/emacsbug.el 2010-11-20 17:32:57 +0000 +++ lisp/mail/emacsbug.el 2010-11-23 08:00:56 +0000 @@ -451,7 +451,7 @@ (defun report-emacs-bug-query-existing-bugs (keywords) "Query for KEYWORDS at `report-emacs-bug-tracker-url', and return the result. The result is an alist with items of the form (URL SUBJECT NO)." - (interactive "sBug keywords: ") + (interactive "sBug keywords (comma separated): ") (url-retrieve (concat report-emacs-bug-tracker-url "pkgreport.cgi?include=subject%3A" (replace-regexp-in-string "[[:space:]]+" "+" keywords) ------------------------------------------------------------ revno: 102480 committer: Chong Yidong branch nick: trunk timestamp: Mon 2010-11-22 20:26:02 -0500 message: etc/NEWS: Document vc-update and vc-merge changes. diff: === modified file 'etc/NEWS' --- etc/NEWS 2010-11-21 19:46:48 +0000 +++ etc/NEWS 2010-11-23 01:26:02 +0000 @@ -542,6 +542,24 @@ *** The following access methods are discontinued: "ssh1_old", "ssh2_old", "scp1_old", "scp2_old" and "fish". +** VC and related modes + +*** Support for pulling on distributed version control systems. +The vc-update command now runs a "pull" operation, if it is supported. +This updates the current branch from upstream. A prefix argument +means to prompt the user for command specifics, e.g. a pull location. + +**** vc-pull is an alias for vc-update. + +**** Currently supported by Bzr. + +*** Support for merging on distributed version control systems. +The vc-merge command now runs a "merge" operation, if it is supported. +This merges another branch into the current one. A prefix argument +means to prompt the user for command specifics, e.g. a merge location. + +**** Currently supported by Bzr. + * New Modes and Packages in Emacs 24.1