changeset 87519:6a0c500ca3a9

Merge from emacs--rel--22, gnus--devo--0 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-975
author Miles Bader <miles@gnu.org>
date Wed, 02 Jan 2008 02:20:42 +0000
parents 78fc69cc7bef (current diff) 6fa5fc37cfee (diff)
children f5ab33e0dc01
files doc/lispref/ChangeLog doc/lispref/commands.texi lisp/ChangeLog lisp/cus-edit.el lisp/facemenu.el lisp/faces.el lisp/font-lock.el lisp/startup.el lisp/textmodes/ispell.el
diffstat 9 files changed, 102 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/doc/lispref/ChangeLog	Wed Jan 02 00:42:37 2008 +0000
+++ b/doc/lispref/ChangeLog	Wed Jan 02 02:20:42 2008 +0000
@@ -1,3 +1,8 @@
+2007-12-30  Richard Stallman  <rms@gnu.org>
+
+	* commands.texi (Accessing Mouse): Renamed from Accessing Events.
+	(Accessing Scroll): New node broken out of Accessing Mouse.
+
 2007-12-28  Richard Stallman  <rms@gnu.org>
 
 	* frames.texi (Size Parameters): Fix typo.
--- a/doc/lispref/commands.texi	Wed Jan 02 00:42:37 2008 +0000
+++ b/doc/lispref/commands.texi	Wed Jan 02 02:20:42 2008 +0000
@@ -954,7 +954,8 @@
 * Event Examples::		Examples of the lists for mouse events.
 * Classifying Events::		Finding the modifier keys in an event symbol.
 				Event types.
-* Accessing Events::		Functions to extract info from events.
+* Accessing Mouse::		Functions to extract info from mouse events.
+* Accessing Scroll::		Functions to get info from scroll bar events.
 * Strings of Events::           Special considerations for putting
 				  keyboard character events in a string.
 @end menu
@@ -1810,8 +1811,8 @@
 @end example
 @end defun
 
-@node Accessing Events
-@subsection Accessing Events
+@node Accessing Mouse
+@subsection Accessing Mouse Events
 @cindex mouse events, data in
 
   This section describes convenient functions for accessing the data in
@@ -1957,6 +1958,10 @@
 the entire window area including scroll bars, margins and fringes.
 @end defun
 
+@node Accessing Scroll
+@subsection Accessing Scroll Bar Events
+@cindex scroll bar events, data in
+
   These functions are useful for decoding scroll bar events.
 
 @defun scroll-bar-event-ratio event
--- a/lisp/ChangeLog	Wed Jan 02 00:42:37 2008 +0000
+++ b/lisp/ChangeLog	Wed Jan 02 02:20:42 2008 +0000
@@ -1,3 +1,28 @@
+2007-12-29  Richard Stallman  <rms@gnu.org>
+
+	* font-lock.el (font-lock-prepend-text-property)
+	(font-lock-append-text-property): Canonicalize the face and
+	font-lock-face properties.
+
+	* faces.el (facep): Doc fix.
+
+	* startup.el (fancy-startup-tail, fancy-about-text)
+	(fancy-startup-text): Regularize format of face property.
+
+	* facemenu.el (list-colors-print): Use :background and :foreground
+	instead of background-color and foreground-color.
+
+2007-12-29  Drew Adams  <drew.adams@oracle.com>
+
+	* cus-edit.el (custom-add-parent-links):
+	Fill the "Parent documentation" text.
+
+2007-12-29  Eli Zaretskii  <eliz@gnu.org>
+
+	* textmodes/ispell.el (ispell-grep-command): Use "grep" on
+	MS-Windows and MS-DOS.
+	(ispell-grep-options): Use "-Ei" on MS-Windows and MS-DOS.
+
 2008-01-02  Eric S. Raymond  <esr@snark.thyrsus.com>
 
 	* vc-svn.el (vc-svn-modify-change comment): New function.
--- a/lisp/cus-edit.el	Wed Jan 02 00:42:37 2008 +0000
+++ b/lisp/cus-edit.el	Wed Jan 02 02:20:42 2008 +0000
@@ -1395,7 +1395,7 @@
 (defun customize-apropos-options (regexp &optional arg)
   "Customize all loaded customizable options matching REGEXP.
 With prefix arg, include variables that are not customizable options
-\(but we recommend using `apropos-variable' instead)."
+\(but it is better to use `apropos-variable' if you want to find those)."
   (interactive "sCustomize options (regexp): \nP")
   (customize-apropos regexp (or arg 'options)))
 
@@ -2258,7 +2258,8 @@
 	       (insert ", "))))
       (widget-put widget :buttons buttons))))
 
-(defun custom-add-parent-links (widget &optional initial-string)
+(defun custom-add-parent-links (widget &optional initial-string
+				       doc-initial-string)
   "Add \"Parent groups: ...\" to WIDGET if the group has parents.
 The value is non-nil if any parents were found.
 If INITIAL-STRING is non-nil, use that rather than \"Parent groups:\"."
@@ -2267,7 +2268,7 @@
 	(buttons (widget-get widget :buttons))
 	(start (point))
 	(parents nil))
-    (insert (or initial-string "Parent groups:"))
+    (insert (or initial-string "Groups:"))
     (mapatoms (lambda (symbol)
 		(when (member (list name type) (get symbol 'custom-group))
 		  (insert " ")
@@ -2286,23 +2287,27 @@
 					 (get (car parents) 'custom-links))))
                 (many (> (length links) 2)))
            (when links
-             (insert "\nParent documentation: ")
-             (while links
-               (push (widget-create-child-and-convert
-		      widget (car links)
-		      :button-face 'custom-link
-		      :mouse-face 'highlight
-		      :pressed-face 'highlight)
-                     buttons)
-               (setq links (cdr links))
-               (cond ((null links)
-                      (insert ".\n"))
-                     ((null (cdr links))
-                      (if many
-                          (insert ", and ")
-                        (insert " and ")))
-                     (t
-                      (insert ", ")))))))
+             (let ((pt (point))
+                   (left-margin (+ left-margin 2)))
+	       (insert "\n" (or doc-initial-string "Group documentation:") " ")
+	       (while links
+		 (push (widget-create-child-and-convert
+			widget (car links)
+			:button-face 'custom-link
+			:mouse-face 'highlight
+			:pressed-face 'highlight)
+		       buttons)
+		 (setq links (cdr links))
+		 (cond ((null links)
+			(insert ".\n"))
+		       ((null (cdr links))
+			(if many
+			    (insert ", and ")
+			  (insert " and ")))
+		       (t
+                        (insert ", "))))
+               (fill-region-as-paragraph pt (point))
+               (delete-to-left-margin (1+ pt) (+ pt 2))))))
     (if parents
         (insert "\n")
       (delete-region start (point)))
@@ -3894,7 +3899,8 @@
 		    ;;; was made to display a group.
 	       (when (eq level 1)
 		 (if (custom-add-parent-links widget
-					      "Parent groups:")
+					      "Parent groups:"
+					      "Parent group documentation:")
 		     (insert "\n"))))
 	   ;; Create level indicator.
 	   (insert-char ?\  (* custom-buffer-indent (1- level)))
--- a/lisp/facemenu.el	Wed Jan 02 00:42:37 2008 +0000
+++ b/lisp/facemenu.el	Wed Jan 02 02:20:42 2008 +0000
@@ -541,14 +541,14 @@
        (insert (car color))
        (indent-to 22))
      (point)
-     'face (cons 'background-color (car color)))
+     'face (list ':background (car color)))
     (put-text-property
      (prog1 (point)
        (insert " " (if (cdr color)
 		       (mapconcat 'identity (cdr color) ", ")
 		     (car color))))
      (point)
-     'face (cons 'foreground-color (car color)))
+     'face (list ':foreground (car color)))
     (indent-to (max (- (window-width) 8) 44))
     (insert (apply 'format "#%02x%02x%02x"
 		   (mapcar (lambda (c) (lsh c -8))
--- a/lisp/faces.el	Wed Jan 02 00:42:37 2008 +0000
+++ b/lisp/faces.el	Wed Jan 02 02:20:42 2008 +0000
@@ -206,10 +206,8 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defun facep (face)
-  "Return non-nil if FACE is a face name or internal face object.
-Return nil otherwise.  A face name can be a string or a symbol.
-An internal face object is a vector of the kind used internally
-to record face data."
+  "Return non-nil if FACE is a face name; nil otherwise.
+A face name can be a string or a symbol."
   (internal-lisp-face-p face))
 
 
--- a/lisp/font-lock.el	Wed Jan 02 00:42:37 2008 +0000
+++ b/lisp/font-lock.el	Wed Jan 02 02:20:42 2008 +0000
@@ -1303,6 +1303,12 @@
     (while (/= start end)
       (setq next (next-single-property-change start prop object end)
 	    prev (get-text-property start prop object))
+      ;; Canonicalize old forms of face property.
+      (and (memq prop '(face font-lock-face))
+	   (listp prev)
+	   (or (keywordp (car prev))
+	       (memq (car prev) '(foreground-color background-color)))
+	   (setq prev (list prev)))
       (put-text-property start next prop
 			 (append val (if (listp prev) prev (list prev)))
 			 object)
@@ -1317,6 +1323,12 @@
     (while (/= start end)
       (setq next (next-single-property-change start prop object end)
 	    prev (get-text-property start prop object))
+      ;; Canonicalize old forms of face property.
+      (and (memq prop '(face font-lock-face))
+	   (listp prev)
+	   (or (keywordp (car prev))
+	       (memq (car prev) '(foreground-color background-color)))
+	   (setq prev (list prev)))
       (put-text-property start next prop
 			 (append (if (listp prev) prev (list prev)) val)
 			 object)
--- a/lisp/startup.el	Wed Jan 02 00:42:37 2008 +0000
+++ b/lisp/startup.el	Wed Jan 02 02:20:42 2008 +0000
@@ -1156,7 +1156,7 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defvar fancy-startup-text
-  '((:face (variable-pitch :foreground "red")
+  '((:face (variable-pitch (:foreground "red"))
      "Welcome to "
      :link ("GNU Emacs"
 	    (lambda (button) (browse-url "http://www.gnu.org/software/emacs/"))
@@ -1202,7 +1202,7 @@
      "\tView the Emacs manual using Info\n"
      :link ("Absence of Warranty" (lambda (button) (describe-no-warranty)))
      "\tGNU Emacs comes with "
-     :face (variable-pitch :slant oblique)
+     :face (variable-pitch (:slant oblique))
      "ABSOLUTELY NO WARRANTY\n"
      :face variable-pitch
      :link ("Copying Conditions" (lambda (button) (describe-copying)))
@@ -1215,7 +1215,7 @@
 `:face FACE', like `fancy-splash-insert' accepts them.")
 
 (defvar fancy-about-text
-  '((:face (variable-pitch :foreground "red")
+  '((:face (variable-pitch (:foreground "red"))
      "This is "
      :link ("GNU Emacs"
 	    (lambda (button) (browse-url "http://www.gnu.org/software/emacs/"))
@@ -1231,13 +1231,14 @@
 	   "Display info on the GNU project.")))
      " operating system.\n"
      :face (lambda ()
-	     (list 'variable-pitch :foreground
-		   (if (eq (frame-parameter nil 'background-mode) 'dark)
-		       "cyan" "darkblue")))
+	     (list 'variable-pitch
+		   (list :foreground
+			 (if (eq (frame-parameter nil 'background-mode) 'dark)
+			     "cyan" "darkblue"))))
      "\n"
      (lambda () (emacs-version))
      "\n"
-     :face (variable-pitch :height 0.5)
+     :face (variable-pitch (:height 0.5))
      (lambda () emacs-copyright)
      "\n\n"
      :face variable-pitch
@@ -1256,7 +1257,7 @@
      "\tWhy we developed GNU Emacs, and the GNU operating system\n"
      :link ("Absence of Warranty" (lambda (button) (describe-no-warranty)))
      "\tGNU Emacs comes with "
-     :face (variable-pitch :slant oblique)
+     :face (variable-pitch (:slant oblique))
      "ABSOLUTELY NO WARRANTY\n"
      :face variable-pitch
      :link ("Copying Conditions" (lambda (button) (describe-copying)))
@@ -1410,11 +1411,11 @@
 	       (lambda (button) (customize-group 'initialization))
 	       "Change initialization settings including this screen")
        "\n"))
-    (fancy-splash-insert :face `(variable-pitch :foreground ,fg)
+    (fancy-splash-insert :face `(variable-pitch (:foreground ,fg))
 			 "\nThis is "
 			 (emacs-version)
 			 "\n"
-			 :face '(variable-pitch :height 0.5)
+			 :face '(variable-pitch (:height 0.5))
 			 emacs-copyright
 			 "\n")
     (and auto-save-list-file-prefix
@@ -1430,12 +1431,12 @@
 		  (regexp-quote (file-name-nondirectory
 				 auto-save-list-file-prefix)))
 	  t)
-	 (fancy-splash-insert :face '(variable-pitch :foreground "red")
+	 (fancy-splash-insert :face '(variable-pitch (:foreground "red"))
 			      "\nIf an Emacs session crashed recently, "
 			      "type "
 			      :face '(fixed-pitch :foreground "red")
 			      "Meta-x recover-session RET"
-			      :face '(variable-pitch :foreground "red")
+			      :face '(variable-pitch (:foreground "red"))
 			      "\nto recover"
 			      " the files you were editing."))
 
@@ -1470,7 +1471,7 @@
 		       (overlay-put button 'checked t)
 		       (overlay-put button 'display (overlay-get button :on-glyph))
 		       (setq startup-screen-inhibit-startup-screen t)))))
-	(fancy-splash-insert :face '(variable-pitch :height 0.9)
+	(fancy-splash-insert :face '(variable-pitch (:height 0.9))
 			     " Never show it again.")))))
 
 (defun exit-splash-screen ()
--- a/lisp/textmodes/ispell.el	Wed Jan 02 00:42:37 2008 +0000
+++ b/lisp/textmodes/ispell.el	Wed Jan 02 02:20:42 2008 +0000
@@ -336,12 +336,17 @@
   :group 'ispell)
 
 
-(defcustom ispell-grep-command "egrep"
+(defcustom ispell-grep-command
+  ;; MS-Windows/MS-DOS have `egrep' as a Unix shell script, so they
+  ;; cannot invoke it.  Use "grep -E" instead (see ispell-grep-options
+  ;; below).
+  (if (memq system-type '(windows-nt ms-dos)) "grep" "egrep")
   "Name of the grep command for search processes."
   :type 'string
   :group 'ispell)
 
-(defcustom ispell-grep-options "-i"
+(defcustom ispell-grep-options
+  (if (memq system-type '(windows-nt ms-dos)) "-Ei" "-i")
   "String of options to use when running the program in `ispell-grep-command'.
 Should probably be \"-i\" or \"-e\".
 Some machines (like the NeXT) don't support \"-i\""