changeset 91000:cd5e99697764

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 843-844) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 84-87) - Update from CVS - Change capitalization of VC backend names for new backends Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-241
author Miles Bader <miles@gnu.org>
date Fri, 03 Aug 2007 05:57:16 +0000
parents 35e3789db058 (current diff) b8c796068320 (diff)
children 33b798fc1634
files admin/FOR-RELEASE lisp/ChangeLog lisp/ChangeLog.12 lisp/calc/calc-ext.el lisp/calc/calc-graph.el lisp/cus-edit.el lisp/emulation/tpu-edt.el lisp/faces.el lisp/mail/rmailsum.el lisp/menu-bar.el lisp/progmodes/compile.el lisp/server.el lisp/startup.el src/ChangeLog src/fileio.c src/xselect.c
diffstat 16 files changed, 186 insertions(+), 67 deletions(-) [+]
line wrap: on
line diff
--- a/admin/FOR-RELEASE	Fri Aug 03 05:27:05 2007 +0000
+++ b/admin/FOR-RELEASE	Fri Aug 03 05:57:16 2007 +0000
@@ -53,6 +53,10 @@
 
 ** dksw@eircom.net, 3 Jul: Telnet mode (rsh/ssh)
 
+** bojohan+news@dd.chalmers.se, 1 Aug: n_schumacher@web.de: modification hooks called only once in
+
+** sdl.web@gmail.com: problem with transparent PNG image display
+
 * FIXES FOR EMACS 22.2
 
 Here we list small fixes that arrived too late for Emacs 22.1, but
--- a/lisp/ChangeLog	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/ChangeLog	Fri Aug 03 05:57:16 2007 +0000
@@ -1,3 +1,12 @@
+2007-08-03  Jay Belanger  <jay.p.belanger@gmail.com>
+
+	* calc/calc-ext.el (math-get-value,math-get-sdev)
+	(math-contains-sdev): New functions.
+
+	* calc/calc-graph.el (calc-graph-format-data)
+	(calc-graph-add-curve): Check for error forms.
+	(calc-graph-set-styles): Add option for error forms.
+
 2007-08-03  Miles Bader  <miles@gnu.org>
 
 	* vc-hooks.el (vc-handled-backends): Change capitalization of VC
@@ -9,6 +18,36 @@
 	* vc-bzr.el (vc-bzr-dir-state, vc-bzr-dired-state-info)
 	(vc-bzr-unload-hook): Use `Bzr' as VC backend name, not `BZR'.
 
+2007-08-02  Richard Stallman  <rms@gnu.org>
+
+	* mail/rmailsum.el (rmail-make-summary-line): Find end of msg number
+	to update deleted flag.
+
+	* cus-edit.el (customize-apropos, customize-apropos-options)
+	(customize-apropos-faces, customize-apropos-groups): Improve prompt.
+
+	* menu-bar.el (menu-bar-help-menu): Add "About GNU" menu item.
+
+	* startup.el (fancy-splash-head, startup-echo-area-message):
+	Change message text.
+
+	* emulation/tpu-edt.el (next-line-internal): Setting deleted.
+	All callers use line-move.
+
+	* progmodes/compile.el (compilation-find-buffer): Return current
+	buffer immediately if suitable.
+	(compile, compilation-buffer-name, compilation-start): Doc fixes.
+
+2007-07-31  Daiki Ueno  <ueno@unixuser.org>
+
+	* faces.el (face-normalize-spec): New function.
+	(frame-set-background-mode): Normalize face-spec before calling
+	face-spec-match-p.
+
+2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* server.el (server-window): Add switch-to-buffer-other-frame option.
+
 2007-08-03  Glenn Morris  <rgm@gnu.org>
 
 	* cus-edit.el (customize-apropos): Make the error message indicate
--- a/lisp/ChangeLog.12	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/ChangeLog.12	Fri Aug 03 05:57:16 2007 +0000
@@ -11278,7 +11278,7 @@
 	(name, size, mode) <define-ibuffer-column>: Add a header-mouse-map
 	property.
 
-2006-04-02  Drew Adams  <drew.adams@oracle.com>  (tiny change)
+2006-04-02  Drew Adams  <drew.adams@oracle.com>
 
 	* speedbar.el (speedbar-after-create-hook): Doc fix.
 
--- a/lisp/calc/calc-ext.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/calc/calc-ext.el	Fri Aug 03 05:57:16 2007 +0000
@@ -2213,6 +2213,25 @@
       a
     (math-reject-arg a 'constp)))
 
+;;; Some functions for working with error forms.
+(defun math-get-value (x)
+  "Get the mean value of the error form X.
+If X is not an error form, return X."
+  (if (eq (car-safe x) 'sdev)
+      (nth 1 x)
+    x))
+       
+(defun math-get-sdev (x &optional one)
+  "Get the standard deviation of the error form X.
+If X is not an error form, return 1."
+  (if (eq (car-safe x) 'sdev)
+      (nth 2 x)
+    (if one 1 0)))
+
+(defun math-contains-sdev-p (ls)
+  "Non-nil if the list LS contains an error form."
+  (let ((ls (if (eq (car-safe ls) 'vec) (cdr ls) ls)))
+    (memq t (mapcar (lambda (x) (eq (car-safe x) 'sdev)) ls))))
 
 ;;; Coerce integer A to be a small integer.  [S I]
 (defun math-fixnum (a)
--- a/lisp/calc/calc-graph.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/calc/calc-graph.el	Fri Aug 03 05:57:16 2007 +0000
@@ -218,7 +218,8 @@
          0)
      (or (and (Math-num-integerp pstyle) (math-trunc pstyle))
          (if (eq (car-safe (calc-var-value (nth 2 ydata))) 'vec)
-             0 -1)))))
+             0 -1))
+     (math-contains-sdev-p (eval (nth 2 ydata))))))
 
 (defun calc-graph-lookup (thing)
   (if (and (eq (car-safe thing) 'var)
@@ -792,6 +793,10 @@
 	  calc-graph-numsteps (1- (* calc-graph-numsteps (1+ calc-graph-numsteps3))))))
 
 (defun calc-graph-format-data ()
+  (if (math-contains-sdev-p calc-graph-yp)
+      (let ((yp calc-graph-yp))
+        (setq calc-graph-yp (cons 'vec (mapcar 'math-get-value (cdr yp))))
+        (setq calc-graph-zp (cons 'vec (mapcar 'math-get-sdev (cdr yp))))))
   (while (<= (setq calc-graph-stepcount (1+ calc-graph-stepcount)) calc-graph-numsteps)
     (if calc-graph-xvec
 	(setq calc-graph-xp (cdr calc-graph-xp)
@@ -1059,7 +1064,7 @@
   (interactive "P")
   (calc-graph-set-styles t (and style (prefix-numeric-value style))))
 
-(defun calc-graph-set-styles (lines points)
+(defun calc-graph-set-styles (lines points &optional yerr)
   (calc-graph-init)
   (save-excursion
     (set-buffer calc-gnuplot-input)
@@ -1067,7 +1072,7 @@
 	(error "No data points have been set!"))
     (let ((base (point))
 	  (mode nil) (lstyle nil) (pstyle nil)
-	  start end lenbl penbl)
+	  start end lenbl penbl errform)
       (re-search-forward "[,\n]")
       (forward-char -1)
       (setq end (point) start end)
@@ -1087,29 +1092,48 @@
 		(setq pstyle (string-to-number
 			      (buffer-substring (match-beginning 1)
 						(match-end 1)))))))
-      (setq lenbl (or (equal mode "lines") (equal mode "linespoints"))
-	    penbl (or (equal mode "points") (equal mode "linespoints")))
-      (if lines
-	  (or (eq lines t)
-	      (setq lstyle lines
-		    lenbl (>= lines 0)))
-	(setq lenbl (not lenbl)))
-      (if points
-	  (or (eq points t)
-	      (setq pstyle points
-		    penbl (>= points 0)))
-	(setq penbl (not penbl)))
-      (delete-region start end)
+      (unless yerr
+        (setq lenbl (or (equal mode "lines") 
+                        (equal mode "linespoints"))
+              penbl (or (equal mode "points") 
+                        (equal mode "linespoints")))
+        (if lines
+            (or (eq lines t)
+                (setq lstyle lines
+                      lenbl (>= lines 0)))
+          (setq lenbl (not lenbl)))
+        (if points
+            (or (eq points t)
+                (setq pstyle points
+                      penbl (>= points 0)))
+          (setq penbl (not penbl))))
+        (delete-region start end)
       (goto-char start)
-      (insert " with "
-	      (if lenbl
-		  (if penbl "linespoints" "lines")
-		(if penbl "points" "dots")))
-      (if (and pstyle (> pstyle 0))
-	  (insert " " (if (and lstyle (> lstyle 0)) (int-to-string lstyle) "1")
-		  " " (int-to-string pstyle))
-	(if (and lstyle (> lstyle 0))
-	    (insert " " (int-to-string lstyle))))))
+      (setq errform
+            (condition-case nil
+                (math-contains-sdev-p
+                 (eval (intern 
+                        (concat "var-"
+                                (save-excursion
+                                  (re-search-backward ":\\(.*\\)\\}")
+                                  (match-string 1))))))
+              (error nil)))
+      (if yerr
+          (insert " with yerrorbars")
+        (insert " with "
+                (if (and errform
+                         (equal mode "dots")
+                         (eq lines t))
+                    "yerrorbars"
+                  (if lenbl
+                      (if penbl "linespoints" "lines")
+                    (if penbl "points" "dots"))))
+        (if (and pstyle (> pstyle 0))
+            (insert " " 
+                    (if (and lstyle (> lstyle 0)) (int-to-string lstyle) "1")
+                    " " (int-to-string pstyle))
+          (if (and lstyle (> lstyle 0))
+              (insert " " (int-to-string lstyle)))))))
   (calc-graph-view-commands))
 
 (defun calc-graph-zero-x (flag)
--- a/lisp/cus-edit.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/cus-edit.el	Fri Aug 03 05:57:16 2007 +0000
@@ -1357,7 +1357,7 @@
 If ALL is t (interactively, with prefix arg), include variables
 that are not customizable options, as well as faces and groups
 \(but we recommend using `apropos-variable' instead)."
-  (interactive "sCustomize regexp: \nP")
+  (interactive "sCustomize (regexp): \nP")
   (let ((found nil))
     (mapatoms (lambda (symbol)
 		(when (string-match regexp (symbol-name symbol))
@@ -1393,19 +1393,19 @@
   "Customize all loaded customizable options matching REGEXP.
 With prefix arg, include variables that are not customizable options
 \(but we recommend using `apropos-variable' instead)."
-  (interactive "sCustomize regexp: \nP")
+  (interactive "sCustomize options (regexp): \nP")
   (customize-apropos regexp (or arg 'options)))
 
 ;;;###autoload
 (defun customize-apropos-faces (regexp)
   "Customize all loaded faces matching REGEXP."
-  (interactive "sCustomize regexp: \n")
+  (interactive "sCustomize faces (regexp): \n")
   (customize-apropos regexp 'faces))
 
 ;;;###autoload
 (defun customize-apropos-groups (regexp)
   "Customize all loaded groups matching REGEXP."
-  (interactive "sCustomize regexp: \n")
+  (interactive "sCustomize groups (regexp): \n")
   (customize-apropos regexp 'groups))
 
 ;;; Buffer.
--- a/lisp/emulation/tpu-edt.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/emulation/tpu-edt.el	Fri Aug 03 05:57:16 2007 +0000
@@ -1035,13 +1035,6 @@
 (defalias 'tpu-error 'error)
 
 
-;; Around emacs version 18.57, function line-move was renamed to
-;; next-line-internal.  If we're running under an older emacs,
-;; make next-line-internal equivalent to line-move.
-
-(if (not (fboundp 'next-line-internal)) (fset 'next-line-internal 'line-move))
-
-
 ;;;
 ;;;  Help
 ;;;
@@ -1992,14 +1985,14 @@
   "Move to next line.
 Prefix argument serves as a repeat count."
   (interactive "p")
-  (next-line-internal num)
+  (line-move num)
   (setq this-command 'next-line))
 
 (defun tpu-previous-line (num)
   "Move to previous line.
 Prefix argument serves as a repeat count."
   (interactive "p")
-  (next-line-internal (- num))
+  (line-move (- num))
   (setq this-command 'previous-line))
 
 (defun tpu-next-beginning-of-line (num)
@@ -2122,7 +2115,7 @@
   (let* ((beg (tpu-current-line))
 	 (height (1- (window-height)))
 	 (lines (* num (/ (* height tpu-percent-scroll) 100))))
-    (next-line-internal (- lines))
+    (line-move (- lines))
     (if (> lines beg) (recenter 0))))
 
 (defun tpu-scroll-window-up (num)
@@ -2132,7 +2125,7 @@
   (let* ((beg (tpu-current-line))
 	 (height (1- (window-height)))
 	 (lines (* num (/ (* height tpu-percent-scroll) 100))))
-    (next-line-internal lines)
+    (line-move lines)
     (if (>= (+ lines beg) height) (recenter -1))))
 
 (defun tpu-pan-right (num)
--- a/lisp/faces.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/faces.el	Fri Aug 03 05:57:16 2007 +0000
@@ -1577,6 +1577,28 @@
       (get face 'saved-face)
       (face-default-spec face)))
 
+(defsubst face-normalize-spec (spec)
+  "Return a normalized face-spec of SPEC."
+  (let (normalized-spec)
+    (while spec
+      (let ((attribute (car spec))
+	    (value (car (cdr spec))))
+	;; Support some old-style attribute names and values.
+	(case attribute
+	  (:bold (setq attribute :weight value (if value 'bold 'normal)))
+	  (:italic (setq attribute :slant value (if value 'italic 'normal)))
+	  ((:foreground :background)
+	   ;; Compatibility with 20.x.  Some bogus face specs seem to
+	   ;; exist containing things like `:foreground nil'.
+	   (if (null value) (setq value 'unspecified)))
+	  (t (unless (assq attribute face-x-resources)
+	       (setq attribute nil))))
+	(when attribute
+	  (push attribute normalized-spec)
+	  (push value normalized-spec)))
+      (setq spec (cdr (cdr spec))))
+    (nreverse normalized-spec)))
+
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Frame-type independent color support.
@@ -1719,7 +1741,8 @@
 	;; be unmodified, so we can avoid consing in the common case.
 	(dolist (face (face-list))
 	  (when (not (face-spec-match-p face
-					(face-user-default-spec face)
+					(face-normalize-spec
+					 (face-user-default-spec face))
 					(selected-frame)))
 	    (push face locally-modified-faces)))
 	;; Now change to the new frame parameters
--- a/lisp/mail/rmailsum.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/mail/rmailsum.el	Fri Aug 03 05:57:16 2007 +0000
@@ -288,12 +288,14 @@
 		    (if (zerop (% rmail-new-summary-line-count 10))
 			(message "Computing summary lines...%d"
 				 rmail-new-summary-line-count))
-		    (rmail-make-summary-line-1 msg)))))
+		    (rmail-make-summary-line-1 msg))))
+	delpos)
     ;; Fix up the part of the summary that says "deleted" or "unseen".
-    (aset line 5
-	  (if (rmail-message-deleted-p msg) ?\D
+    (string-match "[0-9]+" line)
+    (aset line (match-end 0)
+	  (if (rmail-message-deleted-p msg) ?D
 	    (if (= ?0 (char-after (+ 3 (rmail-msgbeg msg))))
-		?\- ?\ )))
+		?- ?\s)))
     line))
 
 ;;;###autoload
--- a/lisp/menu-bar.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/menu-bar.el	Fri Aug 03 05:57:16 2007 +0000
@@ -1364,6 +1364,9 @@
 (define-key menu-bar-help-menu [describe-copying]
   '(menu-item "Copying Conditions" describe-copying
 	      :help "Show the Emacs license (GPL)"))
+(define-key menu-bar-help-menu [describe-project]
+  '(menu-item "About GNU" describe-project
+	      :help "About the GNU System, GNU Project, and GNU/Linux"))
 (define-key menu-bar-help-menu [describe-distribution]
   '(menu-item "Getting New Versions" describe-distribution
 	      :help "How to get latest versions of Emacs"))
--- a/lisp/progmodes/compile.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/progmodes/compile.el	Fri Aug 03 05:57:16 2007 +0000
@@ -917,11 +917,13 @@
 Additionally, with universal prefix arg, compilation buffer will be in
 comint mode, i.e. interactive.
 
-To run more than one compilation at once, start one and rename
+To run more than one compilation at once, start one then rename
 the \`*compilation*' buffer to some other name with
-\\[rename-buffer].  Then start the next one.  On most systems,
-termination of the main compilation process kills its
-subprocesses.
+\\[rename-buffer].  Then _switch buffers_ and start the new compilation.
+It will create a new \`*compilation*' buffer.
+
+On most systems, termination of the main compilation process
+kills its subprocesses.
 
 The name used for the buffer is actually whatever is returned by
 the function in `compilation-buffer-name-function', so you can set that
@@ -970,7 +972,7 @@
 If NAME-FUNCTION is non-nil, call it with one argument MODE-NAME
 to determine the buffer name.
 Likewise if `compilation-buffer-name-function' is non-nil.
-If current buffer is the mode MODE-COMMAND,
+If current buffer has the major mode MODE-COMMAND,
 return the name of the current buffer, so that it gets reused.
 Otherwise, construct a buffer name from MODE-NAME."
   (cond (name-function
@@ -1009,8 +1011,11 @@
 
 MODE is the major mode to set in the compilation buffer.  Mode
 may also be t meaning use `compilation-shell-minor-mode' under `comint-mode'.
+
 If NAME-FUNCTION is non-nil, call it with one argument (the mode name)
-to determine the buffer name.
+to determine the buffer name.  Otherwise, the default is to
+reuses the current buffer if it has the proper major mode,
+else use or create a buffer with name based on the major mode.
 
 If HIGHLIGHT-REGEXP is non-nil, `next-error' will temporarily highlight
 the matching section of the visited source line; the default is to use the
@@ -1617,12 +1622,16 @@
     (setq compilation-current-error (point))
     (next-error-internal)))
 
-;; Return a compilation buffer.
-;; If the current buffer is a compilation buffer, return it.
-;; Otherwise, look for a compilation buffer and signal an error
-;; if there are none.
 (defun compilation-find-buffer (&optional avoid-current)
-  (next-error-find-buffer avoid-current 'compilation-buffer-internal-p))
+  "Return a compilation buffer.
+If AVOID-CURRENT is nil, and
+the current buffer is a compilation buffer, return it.
+If AVOID-CURRENT is non-nil, return the current buffer
+only as a last resort."
+  (if (and (compilation-buffer-internal-p (current-buffer))
+	   (not avoid-current))
+      (current-buffer)
+    (next-error-find-buffer avoid-current 'compilation-buffer-internal-p)))
 
 ;;;###autoload
 (defun compilation-next-error-function (n &optional reset)
--- a/lisp/server.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/server.el	Fri Aug 03 05:57:16 2007 +0000
@@ -164,6 +164,7 @@
 			:match (lambda (widget value)
 				 (not (functionp value)))
 			nil)
+		 (function-item :tag "Display in new frame" switch-to-buffer-other-frame)
 		 (function-item :tag "Use pop-to-buffer" pop-to-buffer)
 		 (function :tag "Other function")))
 
--- a/lisp/startup.el	Fri Aug 03 05:27:05 2007 +0000
+++ b/lisp/startup.el	Fri Aug 03 05:57:16 2007 +0000
@@ -1682,9 +1682,9 @@
 
 (defun startup-echo-area-message ()
   (if (eq (key-binding "\C-h\C-p") 'describe-project)
-      "For information about the GNU Project and its goals, type C-h C-p."
+      "For information about the GNU system and GNU/Linux, type C-h C-p."
     (substitute-command-keys
-     "For information about the GNU Project and its goals, type \
+     "For information about the GNU system and GNU/Linux, type \
 \\[describe-project].")))
 
 
--- a/src/ChangeLog	Fri Aug 03 05:27:05 2007 +0000
+++ b/src/ChangeLog	Fri Aug 03 05:57:16 2007 +0000
@@ -1,3 +1,7 @@
+2007-08-03  Richard Stallman  <rms@gnu.org>
+
+	* fileio.c (Fvisited_file_modtime): Use make_time.
+
 2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
 
 	* mac.c (init_mac_osx_environment): Adjust load-path on self-contained
--- a/src/fileio.c	Fri Aug 03 05:27:05 2007 +0000
+++ b/src/fileio.c	Fri Aug 03 05:57:16 2007 +0000
@@ -5608,11 +5608,9 @@
 See Info node `(elisp)Modification Time' for more details.  */)
      ()
 {
-  Lisp_Object tcons;
-  tcons = long_to_cons ((unsigned long) current_buffer->modtime);
-  if (CONSP (tcons))
-    return list2 (XCAR (tcons), XCDR (tcons));
-  return tcons;
+  if (! current_buffer->modtime)
+    return make_number (0);
+  return make_time ((time_t) current_buffer->modtime);
 }
 
 DEFUN ("set-visited-file-modtime", Fset_visited_file_modtime,
--- a/src/xselect.c	Fri Aug 03 05:27:05 2007 +0000
+++ b/src/xselect.c	Fri Aug 03 05:57:16 2007 +0000
@@ -1854,9 +1854,9 @@
 	}
     }
 
-  /* Convert a single 16 or small 32 bit number to a Lisp_Int.
-     If the number is > 16 bits, convert it to a cons of integers,
-     16 bits in each half.
+  /* Convert a single 16-bit number or a small 32-bit number to a Lisp_Int.
+     If the number is 32 bits and won't fit in a Lisp_Int,
+     convert it to a cons of integers, 16 bits in each half.
    */
   else if (format == 32 && size == sizeof (int))
     return long_to_cons (((unsigned int *) data) [0]);