changeset 83650:984b1dfd7601

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 843-845) - 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--multi-tty--0--patch-30
author Miles Bader <miles@gnu.org>
date Fri, 03 Aug 2007 05:58:06 +0000
parents b210fca2fe6e (current diff) b8c796068320 (diff)
children 47230f3f349b
files lisp/ChangeLog lisp/faces.el lisp/menu-bar.el lisp/server.el lisp/startup.el src/ChangeLog src/fileio.c src/xselect.c
diffstat 18 files changed, 199 insertions(+), 69 deletions(-) [+]
line wrap: on
line diff
--- a/admin/FOR-RELEASE	Fri Aug 03 05:27:43 2007 +0000
+++ b/admin/FOR-RELEASE	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/ChangeLog	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/ChangeLog.12	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/calc/calc-ext.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/calc/calc-graph.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/cus-edit.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/emulation/tpu-edt.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/faces.el	Fri Aug 03 05:58:06 2007 +0000
@@ -1506,6 +1506,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.
@@ -1653,7 +1675,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:43 2007 +0000
+++ b/lisp/mail/rmailsum.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/menu-bar.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/progmodes/compile.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/server.el	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/lisp/startup.el	Fri Aug 03 05:58:06 2007 +0000
@@ -1679,9 +1679,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/man/ChangeLog	Fri Aug 03 05:27:43 2007 +0000
+++ b/man/ChangeLog	Fri Aug 03 05:58:06 2007 +0000
@@ -1,3 +1,9 @@
+2007-08-03  Jay Belanger  <jay.p.belanger@gmail.com>
+
+	* calc.texi (Basic Graphics): Mention the graphing of error
+	forms.
+	(Graphics Options): Mention how `g s' handles error forms.
+
 2007-08-01  Alan Mackenzie  <acm@muc.de>
 
 	* cc-mode.texi (Mailing Lists and Bug Reports): Correct "-no-site-file"
--- a/man/calc.texi	Fri Aug 03 05:27:43 2007 +0000
+++ b/man/calc.texi	Fri Aug 03 05:58:06 2007 +0000
@@ -28417,7 +28417,10 @@
 
 The ``x'' and ``y'' values for the data points (as pulled from the vectors,
 calculated from the formulas, or interpolated from the intervals) should
-be real numbers (integers, fractions, or floats).  If either the ``x''
+be real numbers (integers, fractions, or floats).  One exception to this
+is that the ``y'' entry can consist of a vector of numbers combined with
+error forms, in which case the points will be plotted with the
+appropriate error bars.  Other than this, if either the ``x''
 value or the ``y'' value of a given data point is not a real number, that
 data point will be omitted from the graph.  The points on either side
 of the invalid point will @emph{not} be connected by a line.
@@ -28815,7 +28818,9 @@
 The @kbd{g S} (@code{calc-graph-point-style}) command similarly turns
 the symbols at the data points on or off, or sets the point style.
 If you turn both lines and points off, the data points will show as
-tiny dots.
+tiny dots.  If the ``y'' values being plotted contain error forms and 
+the connecting lines are turned off, then this command will also turn 
+the error bars on or off.
 
 @cindex @code{LineStyles} variable
 @cindex @code{PointStyles} variable
--- a/src/ChangeLog	Fri Aug 03 05:27:43 2007 +0000
+++ b/src/ChangeLog	Fri Aug 03 05:58:06 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:43 2007 +0000
+++ b/src/fileio.c	Fri Aug 03 05:58:06 2007 +0000
@@ -5694,11 +5694,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:43 2007 +0000
+++ b/src/xselect.c	Fri Aug 03 05:58:06 2007 +0000
@@ -1873,9 +1873,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]);