# HG changeset patch # User Miles Bader # Date 1186120636 0 # Node ID cd5e99697764a0b8359ed6b11076bc2727688e35 # Parent 35e3789db0580c40ce50527560eae532f17e9673# Parent b8c79606832093d3df0d21fbb68586466dd3921f 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 diff -r 35e3789db058 -r cd5e99697764 admin/FOR-RELEASE --- 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 diff -r 35e3789db058 -r cd5e99697764 lisp/ChangeLog --- 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 + + * 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 * 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 + + * 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 + + * 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 + + * server.el (server-window): Add switch-to-buffer-other-frame option. + 2007-08-03 Glenn Morris * cus-edit.el (customize-apropos): Make the error message indicate diff -r 35e3789db058 -r cd5e99697764 lisp/ChangeLog.12 --- 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) : Add a header-mouse-map property. -2006-04-02 Drew Adams (tiny change) +2006-04-02 Drew Adams * speedbar.el (speedbar-after-create-hook): Doc fix. diff -r 35e3789db058 -r cd5e99697764 lisp/calc/calc-ext.el --- 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) diff -r 35e3789db058 -r cd5e99697764 lisp/calc/calc-graph.el --- 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) diff -r 35e3789db058 -r cd5e99697764 lisp/cus-edit.el --- 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. diff -r 35e3789db058 -r cd5e99697764 lisp/emulation/tpu-edt.el --- 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) diff -r 35e3789db058 -r cd5e99697764 lisp/faces.el --- 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 diff -r 35e3789db058 -r cd5e99697764 lisp/mail/rmailsum.el --- 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 diff -r 35e3789db058 -r cd5e99697764 lisp/menu-bar.el --- 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")) diff -r 35e3789db058 -r cd5e99697764 lisp/progmodes/compile.el --- 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) diff -r 35e3789db058 -r cd5e99697764 lisp/server.el --- 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"))) diff -r 35e3789db058 -r cd5e99697764 lisp/startup.el --- 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]."))) diff -r 35e3789db058 -r cd5e99697764 src/ChangeLog --- 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 + + * fileio.c (Fvisited_file_modtime): Use make_time. + 2007-08-01 Ryo Yoshitake (tiny change) * mac.c (init_mac_osx_environment): Adjust load-path on self-contained diff -r 35e3789db058 -r cd5e99697764 src/fileio.c --- 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, diff -r 35e3789db058 -r cd5e99697764 src/xselect.c --- 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]);