# HG changeset patch # User Miles Bader # Date 1186120199 0 # Node ID b8c79606832093d3df0d21fbb68586466dd3921f # Parent e9f1bfddeebc4a92f81de85c375f89c9a1990404# Parent 27f00e50116a2366544e50c9029b33e4eb41f969 Merge from emacs--rel--22 Patches applied: * emacs--rel--22 (patch 84-87) - Update from CVS - Change capitalization of VC backend names for new backends 2007-08-02 Richard Stallman * lisp/mail/rmailsum.el (rmail-make-summary-line): Find end of msg number to update deleted flag. * lisp/cus-edit.el (customize-apropos, customize-apropos-options) (customize-apropos-faces, customize-apropos-groups): Improve prompt. * lisp/menu-bar.el (menu-bar-help-menu): Add "About GNU" menu item. * lisp/startup.el (fancy-splash-head, startup-echo-area-message): Change message text. * lisp/emulation/tpu-edt.el (next-line-internal): Setting deleted. All callers use line-move. * lisp/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 * lisp/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 * lisp/server.el (server-window): Add switch-to-buffer-other-frame option. 2007-08-03 Richard Stallman * src/fileio.c (Fvisited_file_modtime): Use make_time. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-844 diff -r e9f1bfddeebc -r b8c796068320 admin/FOR-RELEASE --- a/admin/FOR-RELEASE Fri Aug 03 05:46:27 2007 +0000 +++ b/admin/FOR-RELEASE Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/ChangeLog --- a/lisp/ChangeLog Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/ChangeLog Fri Aug 03 05:49:59 2007 +0000 @@ -18,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 e9f1bfddeebc -r b8c796068320 lisp/ChangeLog.12 --- a/lisp/ChangeLog.12 Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/ChangeLog.12 Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/cus-edit.el --- a/lisp/cus-edit.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/cus-edit.el Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/emulation/tpu-edt.el --- a/lisp/emulation/tpu-edt.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/emulation/tpu-edt.el Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/faces.el --- a/lisp/faces.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/faces.el Fri Aug 03 05:49:59 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. @@ -1648,7 +1670,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 e9f1bfddeebc -r b8c796068320 lisp/mail/rmailsum.el --- a/lisp/mail/rmailsum.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/mail/rmailsum.el Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/menu-bar.el --- a/lisp/menu-bar.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/menu-bar.el Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/progmodes/compile.el --- a/lisp/progmodes/compile.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/progmodes/compile.el Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/server.el --- a/lisp/server.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/server.el Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 lisp/startup.el --- a/lisp/startup.el Fri Aug 03 05:46:27 2007 +0000 +++ b/lisp/startup.el Fri Aug 03 05:49:59 2007 +0000 @@ -1678,9 +1678,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 e9f1bfddeebc -r b8c796068320 src/ChangeLog --- a/src/ChangeLog Fri Aug 03 05:46:27 2007 +0000 +++ b/src/ChangeLog Fri Aug 03 05:49:59 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 e9f1bfddeebc -r b8c796068320 src/fileio.c --- a/src/fileio.c Fri Aug 03 05:46:27 2007 +0000 +++ b/src/fileio.c Fri Aug 03 05:49:59 2007 +0000 @@ -5692,11 +5692,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 e9f1bfddeebc -r b8c796068320 src/xselect.c --- a/src/xselect.c Fri Aug 03 05:46:27 2007 +0000 +++ b/src/xselect.c Fri Aug 03 05:49:59 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]);