summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--admin/FOR-RELEASE4
-rw-r--r--lisp/ChangeLog39
-rw-r--r--lisp/ChangeLog.122
-rw-r--r--lisp/calc/calc-ext.el19
-rw-r--r--lisp/calc/calc-graph.el74
-rw-r--r--lisp/cus-edit.el8
-rw-r--r--lisp/emulation/tpu-edt.el15
-rw-r--r--lisp/faces.el25
-rw-r--r--lisp/mail/rmailsum.el10
-rw-r--r--lisp/menu-bar.el3
-rw-r--r--lisp/progmodes/compile.el31
-rw-r--r--lisp/server.el1
-rw-r--r--lisp/startup.el4
-rw-r--r--src/ChangeLog4
-rw-r--r--src/fileio.c8
-rw-r--r--src/xselect.c6
16 files changed, 186 insertions, 67 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 9ae3f1a2ed7..9d67f20240a 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -53,6 +53,10 @@ http://lists.gnu.org/archive/html/emacs-devel/2007-04/msg01113.html
** 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 --git a/lisp/ChangeLog b/lisp/ChangeLog
index a2735c7a185..5d830248269 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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
diff --git a/lisp/ChangeLog.12 b/lisp/ChangeLog.12
index 900e1cffe50..98c14d66e95 100644
--- a/lisp/ChangeLog.12
+++ b/lisp/ChangeLog.12
@@ -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.
diff --git a/lisp/calc/calc-ext.el b/lisp/calc/calc-ext.el
index b517a54c6f0..5a334778aa5 100644
--- a/lisp/calc/calc-ext.el
+++ b/lisp/calc/calc-ext.el
@@ -2213,6 +2213,25 @@ calc-kill calc-kill-region calc-yank))))
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 --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el
index 48bdecf59a6..a7e85d9fa85 100644
--- a/lisp/calc/calc-graph.el
+++ b/lisp/calc/calc-graph.el
@@ -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 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
(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 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
(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 @@ This \"dumb\" driver will be present in Gnuplot 3.0."
(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 --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 2cfd247a645..869533b3c3e 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1357,7 +1357,7 @@ If ALL is `groups', include only groups.
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 @@ that are not customizable options, as well as faces and groups
"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 --git a/lisp/emulation/tpu-edt.el b/lisp/emulation/tpu-edt.el
index f1cdc0ca864..f3792b92e42 100644
--- a/lisp/emulation/tpu-edt.el
+++ b/lisp/emulation/tpu-edt.el
@@ -1035,13 +1035,6 @@ This is useful for inserting control characters."
(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 @@ With argument, do this that many times."
"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 @@ A repeat count means scroll that many sections."
(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 @@ A repeat count means scroll that many sections."
(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 --git a/lisp/faces.el b/lisp/faces.el
index 76bb2b6e038..72751002765 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1577,6 +1577,28 @@ If there is neither a user setting nor a default for FACE, return nil."
(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 @@ according to the `background-mode' and `display-type' frame parameters."
;; 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 --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el
index 85527e59f67..fd5931fdef9 100644
--- a/lisp/mail/rmailsum.el
+++ b/lisp/mail/rmailsum.el
@@ -288,12 +288,14 @@ nil for FUNCTION means all messages."
(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 --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 6b579763689..48f4613287b 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1364,6 +1364,9 @@ key, a click, or a menu-item"))
(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 --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 2710066c2cd..caf0e94b927 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -917,11 +917,13 @@ non-nil; otherwise uses `compile-command'. With prefix arg, always prompts.
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 @@ visible rather than the beginning."
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 @@ The rest of the arguments are optional; for them, nil means use the default.
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 @@ Use this command in a compilation log buffer. Sets the mark at point there."
(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 --git a/lisp/server.el b/lisp/server.el
index 1bdeb07ca0f..89756fd0eca 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -164,6 +164,7 @@ Only programs can do so."
: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 --git a/lisp/startup.el b/lisp/startup.el
index e6d983ef60f..3430e588309 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -1682,9 +1682,9 @@ Type \\[describe-distribution] for information on getting the latest version."))
(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 --git a/src/ChangeLog b/src/ChangeLog
index 7e24f2ab579..e73a52759ee 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -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
diff --git a/src/fileio.c b/src/fileio.c
index 5c855c7e269..6af3386b82a 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5608,11 +5608,9 @@ file modification time, this function returns 0.
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 --git a/src/xselect.c b/src/xselect.c
index 729c05f190a..33468f0d63a 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -1854,9 +1854,9 @@ selection_data_to_lisp_data (display, data, size, type, format)
}
}
- /* 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]);