summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2005-06-25 15:00:08 +0000
committerKaroly Lorentey <lorentey@elte.hu>2005-06-25 15:00:08 +0000
commit0d0358be7e741898e363d02dbff01b35c662413c (patch)
treee6bdb6ae792a8be712780a5cfad4eeddb09c4f43
parentf4d9bf3a9be50a17c2e2f7569b88f3606ab273d9 (diff)
parentb93e3c3ba1644f5e746c7486bd609ba9fc7ec583 (diff)
downloademacs-0d0358be7e741898e363d02dbff01b35c662413c.tar.gz
Merged from miles@gnu.org--gnu-2005 (patch 441-446)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-441 Update reference to renamed Buffer-menu-buffer face * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-442 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-443 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-444 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-445 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-446 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-354
-rw-r--r--admin/FOR-RELEASE5
-rw-r--r--etc/NEWS11
-rw-r--r--etc/TODO4
-rw-r--r--lisp/ChangeLog83
-rw-r--r--lisp/add-log.el10
-rw-r--r--lisp/bindings.el2
-rw-r--r--lisp/cus-edit.el9
-rw-r--r--lisp/dired-aux.el2
-rw-r--r--lisp/emacs-lisp/debug.el24
-rw-r--r--lisp/emacs-lisp/ring.el9
-rw-r--r--lisp/faces.el28
-rw-r--r--lisp/gnus/ChangeLog7
-rw-r--r--lisp/gnus/dig.el3
-rw-r--r--lisp/gnus/gnus-art.el1
-rw-r--r--lisp/gnus/smime.el3
-rw-r--r--lisp/help-mode.el7
-rw-r--r--lisp/mail/emacsbug.el2
-rw-r--r--lisp/mail/sendmail.el2
-rw-r--r--lisp/progmodes/gdb-ui.el13
-rw-r--r--lisp/progmodes/gud.el40
-rw-r--r--lisp/ps-print.el7
-rw-r--r--lisp/simple.el81
-rw-r--r--lisp/subr.el2
-rw-r--r--lisp/url/ChangeLog4
-rw-r--r--lisp/url/url-cookie.el2
-rw-r--r--lispref/ChangeLog22
-rw-r--r--lispref/display.texi17
-rw-r--r--lispref/lists.texi3
-rw-r--r--lispref/markers.texi4
-rw-r--r--lispref/searching.texi16
-rw-r--r--man/ChangeLog112
-rw-r--r--man/anti.texi5
-rw-r--r--man/building.texi6
-rw-r--r--man/dired-x.texi8
-rw-r--r--man/display.texi167
-rw-r--r--man/ediff.texi2
-rw-r--r--man/emacs.texi1
-rw-r--r--man/gnus.texi25
-rw-r--r--man/info.texi10
-rw-r--r--man/message.texi4
-rw-r--r--man/mule.texi46
-rw-r--r--man/org.texi46
-rw-r--r--man/reftex.texi48
-rw-r--r--man/speedbar.texi20
-rw-r--r--man/tramp.texi13
-rw-r--r--src/ChangeLog56
-rw-r--r--src/abbrev.c2
-rw-r--r--src/category.c2
-rw-r--r--src/dispnew.c4
-rw-r--r--src/editfns.c2
-rw-r--r--src/eval.c8
-rw-r--r--src/fileio.c6
-rw-r--r--src/frame.c6
-rw-r--r--src/image.c22
-rw-r--r--src/lread.c4
-rw-r--r--src/macfns.c20
-rw-r--r--src/process.c4
-rw-r--r--src/search.c20
-rw-r--r--src/syntax.c2
-rw-r--r--src/w32fns.c8
-rw-r--r--src/xdisp.c29
-rw-r--r--src/xfaces.c2
-rw-r--r--src/xselect.c2
63 files changed, 735 insertions, 400 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE
index 0d4e0083686..ce878fc173f 100644
--- a/admin/FOR-RELEASE
+++ b/admin/FOR-RELEASE
@@ -26,6 +26,9 @@ See msg from rms to emacs-devel on 21 Dec.
** Update Speedbar.
+** Update vhdl-mode.el based on changes in
+ http://opensource.ethz.ch/emacs/vhdl-mode.html.
+
* FATAL ERRORS
@@ -139,7 +142,7 @@ man/mark.texi "Luc Teirlinck" Chong Yidong
man/mini.texi "Luc Teirlinck" Chong Yidong
man/misc.texi Chong Yidong
man/msdog.texi Chong Yidong
-man/mule.texi "Luc Teirlinck"
+man/mule.texi "Luc Teirlinck" Kenichi Handa
man/m-x.texi "Luc Teirlinck" Chong Yidong
man/picture.texi Joakim Verona <joakim@verona.se> Chong Yidong
man/programs.texi "Stephen Eglen" Chong Yidong
diff --git a/etc/NEWS b/etc/NEWS
index 40582c2ca97..618da3e801a 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -691,9 +691,9 @@ appears between the position information and the major mode.
*** New face `escape-glyph' highlights control characters and escape glyphs.
+++
-*** Non-breaking space and hyphens are now prefixed with an escape
-character, unless the new user variable `show-nonbreak-escape' is set
-to nil.
+*** Non-breaking space and hyphens are now displayed with a special
+face, either nobreak-space or escape-glyph. You can turn this off or
+specify a different mode by setting the variable `nobreak-char-display'.
+++
*** The parameters of automatic hscrolling can now be customized.
@@ -3542,10 +3542,7 @@ accepts such a list for restoring the match state.
+++
*** Functions `match-data' and `set-match-data' now have an optional
argument `reseat'. When non-nil, all markers in the match data list
-passed to these function will be reseated to point to nowhere, and if
-the value of `reseat' is `evaporate', the markers are put onto the
-free list. Note that no other references to those markers must exist
-if `evaporate' is specified for the `reseat' argument.
+passed to these function will be reseated to point to nowhere.
+++
*** The default value of `sentence-end' is now defined using the new
diff --git a/etc/TODO b/etc/TODO
index 6e174cd38a1..804b07a696c 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -30,6 +30,10 @@ to the FSF.
See also ESR's proposal for a BROWSER environment variable
<URL:http://www.catb.org/~esr/BROWSER/browse-url.patch>.
+** Enhance scroll-bar to handle tall line (similar to line-move).
+
+** Make occur handle multi-line matches cleanly with context.
+
* Important features:
** Provide user-friendly ways to list all available font families,
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1079129698e..d850358c01e 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,78 @@
+2005-06-24 Nick Roberts <nickrob@snap.net.nz>
+
+ * progmodes/gud.el (gud-tooltip-print-command): Indent properly.
+ (gud-gdb-marker-filter): Use font-lock-warning-face for any
+ initial error.
+
+ * progmodes/gdb-ui.el (gdb-send): Remove warning face from errors
+ after fresh input.
+ (gdb-var-create-handler): Put name of expression in quotes.
+
+2005-06-23 Luc Teirlinck <teirllm@auburn.edu>
+
+ * emacs-lisp/ring.el (ring-elements): Make it return a list of the
+ elements of RING in order, and without bogus nil elements.
+
+2005-06-23 Richard M. Stallman <rms@gnu.org>
+
+ * simple.el (set-variable): Args renamed; doc fix.
+ (line-move-1): When there are overlays around, use vertical-motion.
+
+ * faces.el (escape-glyph): Use brown against light background.
+ (nobreak-space): Renamed from no-break-space.
+ Fix previous change.
+
+ * dired-aux.el (dired-do-copy): Fix arg prompt.
+
+ * mail/sendmail.el (mail-setup-with-from): Fix custom type.
+
+2005-06-23 Glenn Morris <gmorris@ast.cam.ac.uk>
+
+ * mail/emacsbug.el (report-emacs-bug): Use "X server distributor"
+ rather than "Distributor".
+
+2005-06-23 Lute Kamstra <lute@gnu.org>
+
+ * emacs-lisp/debug.el (debugger-special-form-p): New defun.
+ (debug-on-entry): Use it. New interactive declaration that uses
+ function-called-at-point.
+
+2005-06-23 Kim F. Storm <storm@cua.dk>
+
+ * subr.el (save-match-data): Add comment about using evaporate arg
+ to set-match-data.
+
+2005-06-22 Glenn Morris <gmorris@ast.cam.ac.uk>
+
+ * cus-edit.el (customize-face)
+ (customize-face-other-window): Handle face aliases.
+
+ * faces.el (face-documentation, set-face-attribute)
+ (face-spec-set): Handle face aliases.
+
+2005-06-22 Juanma Barranquero <lekktu@gmail.com>
+
+ * help-mode.el (help-make-xrefs): If a symbol representing a face
+ name is not followed by the word "face", it could still be a
+ function or variable name, so don't bypass other checks.
+
+2005-06-22 Juri Linkov <juri@jurta.org>
+
+ * ps-print.el (ps-face-foreground-name, ps-face-background-name):
+ Replace aliased functions with calls where second arg `inherit' is t.
+
+2005-06-22 Nick Roberts <nickrob@snap.net.nz>
+
+ * progmodes/gdb-ui.el (gdb-error): New variable.
+ (gdb-error): New function.
+ (gdb-annotation-rules): Act on error-begin and error annotations.
+ (gdb-concat-output): Use font-lock-warning-face for errors.
+
2005-06-22 Miles Bader <miles@gnu.org>
+ * bindings.el (propertized-buffer-identification): Use renamed
+ `Buffer-menu-buffer' face.
+
* faces.el (vertical-border): Renamed from `vertical-divider'.
(escape-glyph): Change dark-background color back to `cyan'.
@@ -457,10 +530,9 @@
2005-06-15 Nick Roberts <nickrob@snap.net.nz>
- * progmodes/gdb-ui.el (gdb-tooltip-print):
- Respect tooltip-use-echo-area.
- (menu): Re-order menu items.
-
+ * progmodes/gdb-ui.el (menu): Re-order menu items.
+ (gdb-tooltip-print): Respect tooltip-use-echo-area.
+
* progmodes/gud.el (tooltip-use-echo-area): Remove alias.
Define in tooltip.el.
(gud-tooltip-process-output): Respect tooltip-use-echo-area.
@@ -580,7 +652,6 @@
variables, unless either `gtk' is boundp or this isn't a
`windows-nt' build.
->>>>>>> 1.7817
2005-06-13 Lute Kamstra <lute@gnu.org>
* abbrev.el (edit-abbrevs-mode): Use kill-all-local-variables and
@@ -1488,7 +1559,6 @@
* simple.el (filter-buffer-substring): Fix typo in docstring.
->>>>>>> 1.7768
2005-05-31 Richard M. Stallman <rms@gnu.org>
* progmodes/vhdl-mode.el (vhdl-fill-region): Test ARG, not INTERACTIVE.
@@ -1525,7 +1595,6 @@
* textmodes/tex-mode.el (tex-compile-commands, tex-compile)
(tex-start-tex): Undo all but the last part of the 2005-05-28 change.
->>>>>>> 1.7646
2005-05-30 Glenn Morris <gmorris@ast.cam.ac.uk>
* calendar/diary-lib.el (mark-included-diary-files): Only kill
diff --git a/lisp/add-log.el b/lisp/add-log.el
index bde75db8ec7..03f44976760 100644
--- a/lisp/add-log.el
+++ b/lisp/add-log.el
@@ -232,9 +232,13 @@ Note: The search is conducted only within 10%, at the beginning of the file."
(defvar change-log-font-lock-keywords
'(;;
- ;; Date lines, new and old styles.
- ("^\\sw.........[0-9:+ ]*"
- (0 'change-log-date)
+ ;; Date lines, new (2000-01-01) and old (Sat Jan 1 00:00:00 2000) styles.
+ ;; Fixme: this regepx is just an approximate one and may match
+ ;; wrongly with a non-date line existing as a random note. In
+ ;; addition, using any kind of fixed setting like this doesn't
+ ;; work if a user customizes add-log-time-format.
+ ("^[0-9-]+ +\\|^\\(Sun\\|Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\) [A-z][a-z][a-z] [0-9:+ ]+"
+ (0 'change-log-date-face)
;; Name and e-mail; some people put e-mail in parens, not angles.
("\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" nil nil
(1 'change-log-name)
diff --git a/lisp/bindings.el b/lisp/bindings.el
index 31be3a1997f..89c2cca9045 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -471,7 +471,7 @@ Menu of mode operations in the mode line.")
FMT is a format specifier such as \"%12b\". This function adds
text properties for face, help-echo, and local-map to it."
(list (propertize fmt
- 'face 'Buffer-menu-buffer-face
+ 'face 'Buffer-menu-buffer
'help-echo
(purecopy "mouse-1: previous buffer, mouse-3: next buffer")
'mouse-face 'mode-line-highlight
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index d2f89efb7f5..4889ec6d62d 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -1116,7 +1116,8 @@ version."
;;;###autoload
(defun customize-face (&optional face)
"Customize FACE, which should be a face name or nil.
-If FACE is nil, customize all faces.
+If FACE is nil, customize all faces. If FACE is actually a
+face-alias, customize the face it is aliased to.
Interactively, when point is on text which has a face specified,
suggest to customize that face, if it's customizable."
@@ -1133,6 +1134,9 @@ suggest to customize that face, if it's customizable."
face)
t nil)
"*Customize Faces*")
+ ;; If FACE is actually an alias, customize the face it is aliased to.
+ (if (get face 'face-alias)
+ (setq face (get face 'face-alias)))
(unless (facep face)
(error "Invalid face %S" face))
(custom-buffer-create (list (list face 'custom-face))
@@ -1142,6 +1146,7 @@ suggest to customize that face, if it's customizable."
;;;###autoload
(defun customize-face-other-window (&optional face)
"Show customization buffer for face FACE in other window.
+If FACE is actually a face-alias, customize the face it is aliased to.
Interactively, when point is on text which has a face specified,
suggest to customize that face, if it's customizable."
@@ -1159,6 +1164,8 @@ suggest to customize that face, if it's customizable."
face)
t nil)
"*Customize Faces*")
+ (if (get face 'face-alias)
+ (setq face (get face 'face-alias)))
(unless (facep face)
(error "Invalid face %S" face))
(custom-buffer-create-other-window
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index eec3045b53a..963866b3554 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -1509,7 +1509,7 @@ suggested for the target directory depends on the value of
(interactive "P")
(let ((dired-recursive-copies dired-recursive-copies))
(dired-do-create-files 'copy (function dired-copy-file)
- (if dired-copy-preserve-time "Copy [-p]" "Copy")
+ "Copy"
arg dired-keep-marker-copy
nil dired-copy-how-to-fn)))
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index 0ee67355bf4..e543932d8b4 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -653,6 +653,12 @@ functions to break on entry."
nil
(funcall debugger 'debug)))
+(defun debugger-special-form-p (symbol)
+ "Return whether SYMBOL is a special form."
+ (and (fboundp symbol)
+ (subrp (symbol-function symbol))
+ (eq (cdr (subr-arity (symbol-function symbol))) 'unevalled)))
+
;;;###autoload
(defun debug-on-entry (function)
"Request FUNCTION to invoke debugger each time it is called.
@@ -668,9 +674,21 @@ primitive functions only works when that function is called from Lisp.
Use \\[cancel-debug-on-entry] to cancel the effect of this command.
Redefining FUNCTION also cancels it."
- (interactive "aDebug on entry (to function): ")
- (when (and (subrp (symbol-function function))
- (eq (cdr (subr-arity (symbol-function function))) 'unevalled))
+ (interactive
+ (let ((fn (function-called-at-point)) val)
+ (when (debugger-special-form-p fn)
+ (setq fn nil))
+ (setq val (completing-read
+ (if fn
+ (format "Debug on entry to function (default %s): " fn)
+ "Debug on entry to function: ")
+ obarray
+ #'(lambda (symbol)
+ (and (fboundp symbol)
+ (not (debugger-special-form-p symbol))))
+ t nil nil (symbol-name fn)))
+ (list (if (equal val "") fn (intern val)))))
+ (when (debugger-special-form-p function)
(error "Function %s is a special form" function))
(if (or (symbolp (symbol-function function))
(subrp (symbol-function function)))
diff --git a/lisp/emacs-lisp/ring.el b/lisp/emacs-lisp/ring.el
index fce07953ba9..6e0f9cd70b4 100644
--- a/lisp/emacs-lisp/ring.el
+++ b/lisp/emacs-lisp/ring.el
@@ -155,8 +155,13 @@ will be performed."
(aref vec (ring-index index hd ln (length vec))))))
(defun ring-elements (ring)
- "Return a list of the elements of RING."
- (mapcar #'identity (cddr ring)))
+ "Return a list of the elements of RING, in order, newest first."
+ (let ((start (car ring))
+ (size (ring-size ring))
+ (vect (cddr ring))
+ lst)
+ (dotimes (var (cadr ring) lst)
+ (push (aref vect (mod (+ start var) size)) lst))))
;;; provide ourself:
diff --git a/lisp/faces.el b/lisp/faces.el
index 20dbee74517..e284d1f9ca5 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -513,8 +513,17 @@ Use `face-attribute' for finer control."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun face-documentation (face)
- "Get the documentation string for FACE."
- (get face 'face-documentation))
+ "Get the documentation string for FACE.
+If FACE is a face-alias, get the documentation for the target face."
+ (let ((alias (get face 'face-alias))
+ doc)
+ (if alias
+ (progn
+ (setq doc (get alias 'face-documentation))
+ (format "%s is an alias for the face `%s'.%s" face alias
+ (if doc (format "\n%s" doc)
+ "")))
+ (get face 'face-documentation))))
(defun set-face-documentation (face string)
@@ -661,7 +670,7 @@ like an underlying face would be, with higher priority than underlying faces."
(setq args (purecopy args))
;; If we set the new-frame defaults, this face is modified outside Custom.
(if (memq where '(0 t))
- (put face 'face-modified t))
+ (put (or (get face 'face-alias) face) 'face-modified t))
(while args
(internal-set-lisp-face-attribute face (car args)
(purecopy (cadr args))
@@ -1443,7 +1452,7 @@ If SPEC is nil, do nothing."
;; When we reset the face based on its spec, then it is unmodified
;; as far as Custom is concerned.
(if (null frame)
- (put face 'face-modified nil)))
+ (put (or (get face 'face-alias) face) 'face-modified nil)))
(defun face-attr-match-p (face attrs &optional frame)
@@ -2141,17 +2150,18 @@ Note: Other faces cannot inherit from the cursor face."
;; See the comment in minibuffer-prompt for
;; the reason not to use blue on MS-DOS.
(((type pc)) :foreground "magenta")
- ;; red4 is too light -- rms.
- (t :foreground "blue"))
+ ;; red4 is too dark, but some say blue is too loud.
+ ;; brown seems to work ok. -- rms.
+ (t :foreground "brown"))
"Face for characters displayed as ^-sequences or \-sequences."
:group 'basic-faces
:version "22.1")
-(defface no-break-space
+(defface nobreak-space
'((((class color) (min-colors 88)) :inherit escape-glyph :underline t)
- (((class color) (min-colors 8)) :background "magenta" :foreground )
+ (((class color) (min-colors 8)) :background "magenta")
(t :inverse-video t))
- "Face for non-breaking space."
+ "Face for displaying nobreak space."
:group 'basic-faces
:version "22.1")
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index dec81e0b696..a1128f214cb 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,10 @@
+2005-06-23 Lute Kamstra <lute@gnu.org>
+
+ * gnus-art.el (gnus-article-mode): Use kill-all-local-variables.
+
+ * dig.el (dig-mode):
+ * smime.el (smime-mode): Use gnus-run-mode-hooks.
+
2005-06-21 Juanma Barranquero <lekktu@gmail.com>
* nnimap.el (nnimap-split-download-body): Fix spellings.
diff --git a/lisp/gnus/dig.el b/lisp/gnus/dig.el
index a3d55cbf824..fb0df03f7aa 100644
--- a/lisp/gnus/dig.el
+++ b/lisp/gnus/dig.el
@@ -148,7 +148,8 @@ Buffer should contain output generated by `dig-invoke'."
(set (make-local-variable 'font-lock-defaults)
'(dig-font-lock-keywords t)))
(when (featurep 'font-lock)
- (font-lock-set-defaults)))
+ (font-lock-set-defaults))
+ (gnus-run-mode-hooks 'dig-mode-hook))
(defun dig-exit ()
"Quit dig output buffer."
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 04c1309963b..56a79951b0c 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -3732,6 +3732,7 @@ commands:
\\[gnus-article-describe-briefly]\t Describe the current mode briefly
\\[gnus-info-find-node]\t Go to the Gnus info node"
(interactive)
+ (kill-all-local-variables)
(gnus-simplify-mode-line)
(setq mode-name "Article")
(setq major-mode 'gnus-article-mode)
diff --git a/lisp/gnus/smime.el b/lisp/gnus/smime.el
index 399c0678c41..a1deea73738 100644
--- a/lisp/gnus/smime.el
+++ b/lisp/gnus/smime.el
@@ -596,7 +596,8 @@ The following commands are available:
(use-local-map smime-mode-map)
(buffer-disable-undo)
(setq truncate-lines t)
- (setq buffer-read-only t))
+ (setq buffer-read-only t)
+ (gnus-run-mode-hooks 'smime-mode-hook))
(defun smime-certificate-info (certfile)
(interactive "fCertificate file: ")
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 1c516930c3b..cd8c6a1c2dc 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -388,9 +388,10 @@ that."
;;; (pop-to-buffer (car location))
;;; (goto-char (cdr location))))
(help-xref-button 8 'help-function-def sym))
- ((facep sym)
- (if (save-match-data (looking-at "[ \t\n]+face\\W"))
- (help-xref-button 8 'help-face sym)))
+ ((and
+ (facep sym)
+ (save-match-data (looking-at "[ \t\n]+face\\W")))
+ (help-xref-button 8 'help-face sym))
((and (boundp sym) (fboundp sym))
;; We can't intuit whether to use the
;; variable or function doc -- supply both.
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index 5daa9a2d4aa..18ea59fdf3f 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -130,7 +130,7 @@ usually do not have translators to read other languages for them.\n\n")
(insert "In " (emacs-version) "\n")
(if (fboundp 'x-server-vendor)
(condition-case nil
- (insert "Distributor `" (x-server-vendor) "', version "
+ (insert "X server distributor `" (x-server-vendor) "', version "
(mapconcat 'number-to-string (x-server-version) ".") "\n")
(error t)))
(if (and system-configuration-options
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 4084cd85cc2..9596b80dff3 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -44,7 +44,7 @@
(defcustom mail-setup-with-from t
"Non-nil means insert `From:' field when setting up the message."
- :type 'binary
+ :type 'boolean
:group 'sendmail
:version "22.1")
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 3a34a621fc6..7653ff90a2f 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -85,6 +85,7 @@
(defvar gdb-find-file-unhook nil)
(defvar gdb-active-process nil "GUD tooltips display variable values when t, \
and #define directives otherwise.")
+(defvar gdb-error "Non-nil when GDB is reporting an error.")
(defvar gdb-macro-info nil
"Non-nil if GDB knows that the inferior includes preprocessor macro info.")
@@ -359,6 +360,7 @@ Also display the main routine in the disassembly buffer if present."
gdb-flush-pending-output nil
gdb-location-alist nil
gdb-find-file-unhook nil
+ gdb-error nil
gdb-macro-info nil)
;;
(setq gdb-buffer-type 'gdba)
@@ -430,7 +432,7 @@ Also display the main routine in the disassembly buffer if present."
(setq gdb-var-changed t)))
(if (re-search-forward "Undefined command" nil t)
(message-box "Watching expressions requires gdb 6.0 onwards")
- (message "No symbol %s in current context." expr)))))
+ (message "No symbol \"%s\" in current context." expr)))))
(defun gdb-var-evaluate-expression-handler (varnum changed)
(with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
@@ -774,6 +776,8 @@ The key should be one of the cars in `gdb-buffer-rules-assoc'."
(defun gdb-send (proc string)
"A comint send filter for gdb.
This filter may simply queue input for a later time."
+ (with-current-buffer gud-comint-buffer
+ (remove-text-properties (point-min) (point-max) '(face)))
(let ((item (concat string "\n")))
(if gud-running
(progn
@@ -860,6 +864,8 @@ This filter may simply queue input for a later time."
("watchpoint" gdb-stopping)
("frame-begin" gdb-frame-begin)
("stopped" gdb-stopped)
+ ("error-begin" gdb-error)
+ ("error" gdb-error)
) "An assoc mapping annotation tags to functions which process them.")
(defun gdb-resync()
@@ -989,6 +995,9 @@ sink to `user' in `gdb-stopping', that is fine."
(gdb-resync)
(error "Unexpected stopped annotation")))))
+(defun gdb-error (ignored)
+ (setq gdb-error (not gdb-error)))
+
(defun gdb-post-prompt (ignored)
"An annotation handler for `post-prompt'.
This begins the collection of output from the current command if that
@@ -1083,6 +1092,8 @@ happens to be appropriate."
output)))
(defun gdb-concat-output (so-far new)
+ (if gdb-error
+ (put-text-property 0 (length new) 'face font-lock-warning-face new))
(let ((sink gdb-output-sink))
(cond
((eq sink 'user) (concat so-far new))
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 7d4fc00cd56..c6e85934db4 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -497,18 +497,24 @@ off the specialized speedbar mode."
;; Check for annotations and change gud-minor-mode to 'gdba if
;; they are found.
(while (string-match "\n\032\032\\(.*\\)\n" gud-marker-acc)
- (when (string-equal (match-string 1 gud-marker-acc) "prompt")
- (require 'gdb-ui)
- (gdb-prompt nil))
-
- (setq
- ;; Append any text before the marker to the output we're going
- ;; to return - we don't include the marker in this text.
- output (concat output
- (substring gud-marker-acc 0 (match-beginning 0)))
-
- ;; Set the accumulator to the remaining text.
- gud-marker-acc (substring gud-marker-acc (match-end 0))))
+ (let ((match (match-string 1 gud-marker-acc)))
+ (when (string-equal match "prompt")
+ (require 'gdb-ui)
+ (gdb-prompt nil))
+
+ (setq
+ ;; Append any text before the marker to the output we're going
+ ;; to return - we don't include the marker in this text.
+ output (concat output
+ (substring gud-marker-acc 0 (match-beginning 0)))
+
+ ;; Set the accumulator to the remaining text.
+
+ gud-marker-acc (substring gud-marker-acc (match-end 0)))
+ (if (string-equal match "error-begin")
+ (put-text-property 0 (length gud-marker-acc)
+ 'face font-lock-warning-face
+ gud-marker-acc))))
;; Does the remaining text look like it might end with the
;; beginning of another marker? If it does, then keep it in
@@ -3256,11 +3262,11 @@ If GUD-TOOLTIP-DEREFERENCE is t, also prepend a `*' to EXPR."
(when gud-tooltip-dereference
(setq expr (concat "*" expr)))
(case gud-minor-mode
- (gdba (concat "server print " expr))
- ((dbx gdbmi) (concat "print " expr))
- (xdb (concat "p " expr))
- (sdb (concat expr "/"))
- (perldb expr)))
+ (gdba (concat "server print " expr))
+ ((dbx gdbmi) (concat "print " expr))
+ (xdb (concat "p " expr))
+ (sdb (concat expr "/"))
+ (perldb expr)))
(defun gud-tooltip-tips (event)
"Show tip for identifier or selection under the mouse.
diff --git a/lisp/ps-print.el b/lisp/ps-print.el
index 2868ae7d97b..e62ab644a1c 100644
--- a/lisp/ps-print.el
+++ b/lisp/ps-print.el
@@ -1549,9 +1549,10 @@ Please send all bug fixes and enhancements to
(defvar mark-active nil)
(defun ps-mark-active-p ()
mark-active)
- (defalias 'ps-face-foreground-name 'face-foreground)
- (defalias 'ps-face-background-name 'face-background)
- ))
+ (defun ps-face-foreground-name (face)
+ (face-foreground face nil t))
+ (defun ps-face-background-name (face)
+ (face-background face nil t))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/lisp/simple.el b/lisp/simple.el
index 9c1059423d8..5d4872e516b 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -3437,18 +3437,28 @@ Outline mode sets this."
;; Now move a line.
(end-of-line)
;; If there's no invisibility here, move over the newline.
- (if (and (not (integerp selective-display))
- (not (line-move-invisible-p (point))))
+ (let ((pos-before (point))
+ line-done)
+ (if (eobp)
+ (if (not noerror)
+ (signal 'end-of-buffer nil)
+ (setq done t)))
+ (when (and (not done)
+ (not (integerp selective-display))
+ (not (line-move-invisible-p (point))))
;; We avoid vertical-motion when possible
;; because that has to fontify.
- (if (eobp)
- (if (not noerror)
- (signal 'end-of-buffer nil)
- (setq done t))
- (forward-line 1))
+ (forward-line 1)
+ ;; If there are overlays in and around
+ ;; the text we moved over, we need to be
+ ;; sophisticated.
+ (unless (overlays-in (max (1- pos-before) (point-min))
+ (min (1+ (point)) (point-max)))
+ (setq line-done t)))
;; Otherwise move a more sophisticated way.
;; (What's the logic behind this code?)
- (and (zerop (vertical-motion 1))
+ (and (not done) (not line-done)
+ (zerop (vertical-motion 1))
(if (not noerror)
(signal 'end-of-buffer nil)
(setq done t))))
@@ -3458,18 +3468,24 @@ Outline mode sets this."
;; it just goes in the other direction.
(while (and (< arg 0) (not done))
(beginning-of-line)
- (if (or (bobp)
- (and (not (integerp selective-display))
- (not (line-move-invisible-p (1- (point))))))
- (if (bobp)
- (if (not noerror)
- (signal 'beginning-of-buffer nil)
- (setq done t))
- (forward-line -1))
- (if (zerop (vertical-motion -1))
+ (let ((pos-before (point))
+ line-done)
+ (if (bobp)
(if (not noerror)
(signal 'beginning-of-buffer nil)
- (setq done t))))
+ (setq done t)))
+ (when (and (not done)
+ (not (integerp selective-display))
+ (not (line-move-invisible-p (1- (point)))))
+ (forward-line -1)
+ (unless (overlays-in (max (1- (point)) (point-min))
+ (min (1+ pos-before) (point-max)))
+ (setq line-done t)))
+ (and (not done) (not line-done)
+ (zerop (vertical-motion -1))
+ (if (not noerror)
+ (signal 'beginning-of-buffer nil)
+ (setq done t))))
(unless done
(setq arg (1+ arg))
(while (and ;; Don't move over previous invis lines
@@ -4508,10 +4524,11 @@ Each action has the form (FUNCTION . ARGS)."
(defvar set-variable-value-history nil
"History of values entered with `set-variable'.")
-(defun set-variable (var val &optional make-local)
+(defun set-variable (variable value &optional make-local)
"Set VARIABLE to VALUE. VALUE is a Lisp object.
-When using this interactively, enter a Lisp object for VALUE.
-If you want VALUE to be a string, you must surround it with doublequotes.
+VARIABLE should be a user option variable name, a Lisp variable
+meant to be customized by users. You should enter VALUE in Lisp syntax,
+so if you want VALUE to be a string, you must surround it with doublequotes.
VALUE is used literally, not evaluated.
If VARIABLE has a `variable-interactive' property, that is used as if
@@ -4524,9 +4541,9 @@ With a prefix argument, set VARIABLE to VALUE buffer-locally."
(interactive
(let* ((default-var (variable-at-point))
(var (if (symbolp default-var)
- (read-variable (format "Set variable (default %s): " default-var)
- default-var)
- (read-variable "Set variable: ")))
+ (read-variable (format "Set variable (default %s): " default-var)
+ default-var)
+ (read-variable "Set variable: ")))
(minibuffer-help-form '(describe-variable var))
(prop (get var 'variable-interactive))
(prompt (format "Set %s%s to value: " var
@@ -4547,22 +4564,22 @@ With a prefix argument, set VARIABLE to VALUE buffer-locally."
'set-variable-value-history)))))
(list var val current-prefix-arg)))
- (and (custom-variable-p var)
- (not (get var 'custom-type))
- (custom-load-symbol var))
- (let ((type (get var 'custom-type)))
+ (and (custom-variable-p variable)
+ (not (get variable 'custom-type))
+ (custom-load-symbol variable))
+ (let ((type (get variable 'custom-type)))
(when type
;; Match with custom type.
(require 'cus-edit)
(setq type (widget-convert type))
- (unless (widget-apply type :match val)
+ (unless (widget-apply type :match value)
(error "Value `%S' does not match type %S of %S"
- val (car type) var))))
+ value (car type) variable))))
(if make-local
- (make-local-variable var))
+ (make-local-variable variable))
- (set var val)
+ (set variable value)
;; Force a thorough redisplay for the case that the variable
;; has an effect on the display, like `tab-width' has.
diff --git a/lisp/subr.el b/lisp/subr.el
index f43f84fd7d7..113ba4239e0 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -2032,6 +2032,8 @@ The value returned is the value of the last form in BODY."
'((save-match-data-internal (match-data)))
(list 'unwind-protect
(cons 'progn body)
+ ;; It is safe to free (evaporate) markers immediately here,
+ ;; as Lisp programs should not copy from save-match-data-internal.
'(set-match-data save-match-data-internal 'evaporate))))
(defun match-string (num &optional string)
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 5470a822a51..4da3d22584a 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,7 @@
+2005-06-23 Richard M. Stallman <rms@gnu.org>
+
+ * url-cookie.el (url-cookie-generate-header-lines): Fix autoload cookie.
+
2005-06-21 Juanma Barranquero <lekktu@gmail.com>
* url-gw.el (url-open-stream):
diff --git a/lisp/url/url-cookie.el b/lisp/url/url-cookie.el
index 7cee222c373..db50f289521 100644
--- a/lisp/url/url-cookie.el
+++ b/lisp/url/url-cookie.el
@@ -262,7 +262,7 @@ telling Microsoft that."
(setq retval (cons cur retval))))))
retval))
-;;;###autolaod
+;;;###autoload
(defun url-cookie-generate-header-lines (host path secure)
(let* ((cookies (url-cookie-retrieve host path secure))
(retval nil)
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 24d00a90f3a..77d2d961905 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,25 @@
+2005-06-23 Richard M. Stallman <rms@gnu.org>
+
+ * display.texi (Face Functions): Correct Texinfo usage.
+
+2005-06-23 Luc Teirlinck <teirllm@auburn.edu>
+
+ * lists.texi (Rings): `ring-elements' now returns the elements of
+ RING in order.
+
+2005-06-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * markers.texi (The Mark): Texinfo usage fix.
+
+2005-06-23 Kim F. Storm <storm@cua.dk>
+
+ * searching.texi (Entire Match Data): Remove evaporate option for
+ match-data. Do not mention evaporate option for set-match-data.
+
+2005-06-22 Glenn Morris <gmorris@ast.cam.ac.uk>
+
+ * display.texi (Face Functions): Mention face aliases.
+
2005-06-21 Richard M. Stallman <rms@gnu.org>
* anti.texi (Antinews): Texinfo usage fix.
diff --git a/lispref/display.texi b/lispref/display.texi
index 2243a1e6899..aa3284ad0e4 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -2523,6 +2523,17 @@ This returns non-@code{nil} if the face @var{face} displays
differently from the default face.
@end defun
+@cindex face alias
+A @dfn{face alias} provides an equivalent name for a face. You can
+define a face alias by giving the alias symbol the @code{face-alias}
+property, with a value of the target face name. The following example
+makes @code{modeline} an alias for the @code{mode-line} face.
+
+@example
+(put 'modeline 'face-alias 'mode-line)
+@end example
+
+
@node Auto Faces
@subsection Automatic Face Assignment
@cindex automatic face assignment
@@ -2862,9 +2873,9 @@ default @code{fringe} face. @var{face} is automatically merged with
the @code{fringe} face, so normally @var{face} need only specify the
foreground color for the bitmap.
- These are the symbols identify the standard fringe bitmaps.
-Evaluate @code{(require 'fringe)} to define them. Fringe bitmap
-symbols have their own name space.
+ These symbols identify the standard fringe bitmaps. Evaluate
+@code{(require 'fringe)} to define them. Fringe bitmap symbols have
+their own name space.
@table @asis
@item Truncation and continuation line bitmaps:
diff --git a/lispref/lists.texi b/lispref/lists.texi
index c84a998b573..22edec42db2 100644
--- a/lispref/lists.texi
+++ b/lispref/lists.texi
@@ -1704,8 +1704,7 @@ The value will never exceed that returned by @code{ring-size}.
@end defun
@defun ring-elements ring
-This returns a list of the objects in @var{ring}, in no particular
-order.
+This returns a list of the objects in @var{ring}, in order, newest first.
@end defun
@defun ring-copy ring
diff --git a/lispref/markers.texi b/lispref/markers.texi
index 3353d7805ae..4eb34ce13a0 100644
--- a/lispref/markers.texi
+++ b/lispref/markers.texi
@@ -557,9 +557,9 @@ make the mark inactive.
Lisp programs can set @code{transient-mark-mode} to @code{only} to
enable Transient Mark mode for the following command only. During
-that following command, the value of transient-mark-mode is
+that following command, the value of @code{transient-mark-mode} is
@code{identity}. If it is still @code{identity} at the end of the
-command, it changes to nil.
+command, it changes to @code{nil}.
@end defopt
@defopt mark-even-if-inactive
diff --git a/lispref/searching.texi b/lispref/searching.texi
index f2f21458506..c7c426ea03f 100644
--- a/lispref/searching.texi
+++ b/lispref/searching.texi
@@ -1527,13 +1527,7 @@ stays the same, but the elements that were not used are set to
garbage collection.
If @var{reseat} is non-@code{nil}, all markers on the @var{reuse} list
-are reseated to point to nowhere, and if the value is @code{evaporate},
-the markers are put back on the free list.
-
-@strong{Warning:} When @code{evaporate} is specified for @var{reseat},
-you must ensure that no other references to the markers on the
-@var{reuse} list exists; otherwise, Emacs may crash during the next
-garbage collection.
+are reseated to point to nowhere.
As always, there must be no possibility of intervening searches between
the call to a search function and the call to @code{match-data} that is
@@ -1560,13 +1554,7 @@ If @var{match-list} refers to a buffer that doesn't exist, you don't get
an error; that sets the match data in a meaningless but harmless way.
If @var{reseat} is non-@code{nil}, all markers on the @var{match-list} list
-are reseated to point to nowhere, and if the value is @code{evaporate},
-the markers are put back on the free list.
-
-@strong{Warning:} When @code{evaporate} is specified for @var{reseat},
-you must ensure that no other references to the markers on the
-@var{match-list} list exists; otherwise, Emacs may crash during the
-next garbage collection.
+are reseated to point to nowhere.
@findex store-match-data
@code{store-match-data} is a semi-obsolete alias for @code{set-match-data}.
diff --git a/man/ChangeLog b/man/ChangeLog
index 1289ebb6a55..6bcbe6dc9e9 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,55 @@
+2005-06-23 Richard M. Stallman <rms@gnu.org>
+
+ * anti.texi (Antinews): Renamed show-nonbreak-escape to
+ nobreak-char-display.
+
+ * emacs.texi (Top): Update detailed node listing.
+
+ * display.texi (Text Display): Renamed show-nonbreak-escape
+ to nobreak-char-display and no-break-space to nobreak-space.
+ (Standard Faces): Split up the list of standard faces
+ and put it in a separate node. Add nobreak-space and
+ escape-glyph.
+
+ * speedbar.texi (Creating a display): Texinfo usage fixes.
+
+ * tramp.texi (Customizing Completion, Auto-save and Backup):
+ Texinfo usage fixes.
+
+2005-06-23 Lute Kamstra <lute@gnu.org>
+
+ * mule.texi (Select Input Method): Fix typo.
+
+2005-06-23 Kenichi Handa <handa@m17n.org>
+
+ * mule.texi (International): List all supported scripts. Adjust
+ text for that leim is now included in the normal Emacs
+ distribution.
+ (Language Environments): List all language environments.
+ Intlfonts contains fonts for most supported scripts, not all..
+ (Select Input Method): Refer to C-u C-x = to see how to type to
+ input a specifc character.
+ (Recognize Coding): Fix typo, china-iso-8bit -> chinese-iso-8bit.
+
+2005-06-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * building.texi (Grep Searching):
+ * dired-x.texi (Miscellaneous Commands):
+ * ediff.texi (Miscellaneous):
+ * gnus.texi (MIME Commands, Fancy Mail Splitting, Agent Visuals)
+ (Agent Variables):
+ * info.texi (Help-Xref):
+ * message.texi (Message Headers):
+ * org.texi (Remember):
+ * reftex.texi (Options (Defining Label Environments)):
+ (Options (Index Support)):
+ (Options (Viewing Cross-References)):
+ (Options (Misc)):
+ (Changes):
+ * speedbar.texi (Creating a display):
+ * tramp.texi (Customizing Completion, Auto-save and Backup):
+ Texinfo usage fix.
+
2005-06-22 Miles Bader <miles@gnu.org>
* display.texi (Faces): Change `vertical-divider' to `vertical-border'.
@@ -187,7 +239,7 @@
2005-05-16 Luc Teirlinck <teirllm@auburn.edu>
- * display.texi: Various minor changes.
+ * display.texi: Various minor changes.
(Faces): Delete text that is repeated in the next section.
2005-05-16 Nick Roberts <nickrob@snap.net.nz>
@@ -941,8 +993,8 @@
* calendar.texi (General Calendar): Document binding of
scroll-other-window-down.
(Mayan Calendar): Fix earliest date.
- (Time Intervals): Document timeclock-change. Fix
- timeclock-ask-before-exiting documentation.
+ (Time Intervals): Document timeclock-change.
+ Fix timeclock-ask-before-exiting documentation.
2005-02-26 Kim F. Storm <storm@cua.dk>
@@ -1063,14 +1115,14 @@
2005-02-10 Jay Belanger <belanger@truman.edu>
- * calc.texi: Change @LaTeX to La@TeX throughout.
+ * calc.texi: Change @LaTeX to La@TeX throughout.
Redefine @expr as @math for TeX output.
Redefine @texline as a no-op for TeX output.
Define @tfn, replace @t by @tfn throughout.
2005-02-09 Jay Belanger <belanger@truman.edu>
- * calc.texi: Add macro for LaTeX for info output.
+ * calc.texi: Add macro for LaTeX for info output.
2005-02-08 Kim F. Storm <storm@cua.dk>
@@ -1233,7 +1285,7 @@
* faq.texi: Update AUCTeX version info.
-2005-01-16 Xavier Maillard <zedek@gnu-rox.org> (tiny change)
+2005-01-16 Xavier Maillard <zedek@gnu-rox.org> (tiny change)
* gnus-faq.texi ([4.1]): Typo.
@@ -1644,7 +1696,7 @@
2004-10-18 Jay Belanger <belanger@truman.edu>
- * calc.texi (Reporting Bugs): Changed the address that bugs
+ * calc.texi (Reporting Bugs): Changed the address that bugs
should be sent to.
2004-10-15 Reiner Steib <Reiner.Steib@gmx.de>
@@ -1663,7 +1715,7 @@
2004-10-12 Jay Belanger <belanger@truman.edu>
- * calc.texi (Help Commands): Changed the descriptions of
+ * calc.texi (Help Commands): Changed the descriptions of
calc-describe-function and calc-describe-variable to match their
current behavior.
@@ -1704,7 +1756,7 @@
2004-10-06 Karl Berry <karl@gnu.org>
- * info.texi (@kbd{1}--@kbd{9}): no space around --, for
+ * info.texi (@kbd{1}--@kbd{9}): No space around --, for
consistency with other uses of dashes.
2004-10-06 Nick Roberts <nickrob@snap.net.nz>
@@ -1718,7 +1770,7 @@
2004-10-05 Karl Berry <karl@gnu.org>
- * info.texi: consistently use --- throughout, periods at end of
+ * info.texi: Consistently use --- throughout, periods at end of
menu descriptions, and a couple typos.
2004-10-05 Luc Teirlinck <teirllm@auburn.edu>
@@ -1734,7 +1786,7 @@
`selective-display-ellipses' no longer has an effect on Outline mode.
(TeX Misc): Add missing @cindex.
Replace xref for RefTeX with inforef.
- (Requesting Formatted Text): the variable
+ (Requesting Formatted Text): The variable
`enriched-fill-after-visiting' no longer exists.
(Editing Format Info): Update names of menu items and commands.
(Format Faces): Mention special effect of specifying the default face.
@@ -1749,7 +1801,6 @@
(Forcing Enriched Mode): `format-decode-buffer' automatically
turns on Enriched mode if the buffer is in text/enriched format.
-
2004-10-05 Emilio C. Lopes <eclig@gmx.net>
* calendar.texi (From Other Calendar): Add calendar-goto-iso-week.
@@ -1762,7 +1813,7 @@
2004-09-26 Jesper Harder <harder@ifa.au.dk>
* sieve.texi (Manage Sieve API): nil -> @code{nil}.
- * pgg.texi (User Commands, Backend methods): do.
+ * pgg.texi (User Commands, Backend methods): Do.
* gnus.texi: Markup fixes.
(Setting Process Marks): Fix `M P a' entry.
* emacs-mime: Fixes.
@@ -1855,23 +1906,22 @@
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
- * gnus.texi (IMAP): add comments about imaps synonym to imap in
- netrc syntax
+ * gnus.texi (IMAP): Add comments about imaps synonym to imap in
+ netrc syntax.
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
- * gnus.texi (Spam ELisp Package Sequence of Events): some clarifications
- (Spam ELisp Package Global Variables)
- (Spam ELisp Package Global Variables): more clarifications
+ * gnus.texi (Spam ELisp Package Sequence of Events): Some clarifications.
+ (Spam ELisp Package Global Variables): More clarifications.
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
* gnus.texi (Spam ELisp Package Filtering of Incoming Mail):
- mention spam-split does not modify incoming mail
+ Mention spam-split does not modify incoming mail.
2004-09-10 Teodor Zlatanov <tzz@lifelogs.com>
- * gnus.texi (Spam ELisp Package Sequence of Events): fix typo
+ * gnus.texi (Spam ELisp Package Sequence of Events): Fix typo.
2004-09-10 Eli Zaretskii <eliz@gnu.org>
@@ -2114,7 +2164,7 @@
2004-08-30 Reiner Steib <Reiner.Steib@gmx.de>
* emacs-mime.texi, gnus-faq.texi, gnus.texi, message.texi,
- pgg.texi, sieve.texi: Use @copying and @insertcopying.
+ * pgg.texi, sieve.texi: Use @copying and @insertcopying.
2004-08-22 Reiner Steib <Reiner.Steib@gmx.de>
@@ -2184,15 +2234,15 @@
2004-06-21 Karl Berry <karl@gnu.org>
- * info.texi (Top): mention that only Emacs has mouse support.
- (Getting Started): mention this in a few other places.
+ * info.texi (Top): Mention that only Emacs has mouse support.
+ (Getting Started): Mention this in a few other places.
2004-06-20 Jesper Harder <harder@ifa.au.dk>
* msdog.texi (Text and Binary, MS-DOS Printing): Use m-dash.
- * custom.texi (Customization): do.
- * anti.texi (Antinews): do.
- * abbrevs.texi (Defining Abbrevs): do.
+ * custom.texi (Customization): Do.
+ * anti.texi (Antinews): Do.
+ * abbrevs.texi (Defining Abbrevs): Do.
* programs.texi (Info Lookup): Fix keybinding for
info-lookup-symbol.
@@ -2492,7 +2542,7 @@
2004-02-17 Karl Berry <karl@gnu.org>
- * info.texi (Help-Int): mention the new line number feature.
+ * info.texi (Help-Int): Mention the new line number feature.
2004-02-15 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
@@ -2603,7 +2653,7 @@
2003-10-26 Karl Berry <karl@gnu.org>
- * info.texi (Info Search): echo area, not echo are. From Debian
+ * info.texi (Info Search): Echo area, not echo are. From Debian
diff.
2003-10-26 Per Abrahamsen <abraham@dina.kvl.dk>
@@ -2640,7 +2690,7 @@
2003-10-06 Luc Teirlinck <teirllm@auburn.edu>
- * texinfo.tex: Replace `%' in arch tagline by @ignore.
+ * texinfo.tex: Replace `%' in arch tagline by @ignore.
2003-09-30 Richard M. Stallman <rms@gnu.org>
@@ -3574,7 +3624,7 @@
1990-06-26 David Lawrence (tale@geech)
- * emacs.tex: Note that completion-ignored-extensions is not used
+ * emacs.tex: Note that completion-ignored-extensions is not used
to filter out names when all completions are displayed in
*Completions*.
@@ -3603,7 +3653,7 @@
Also add an @finalout command to remove overfull hboxes from the
printed output.
- * cl.texinfo: Add @bye, \input line and @settitle to file.
+ * cl.texinfo: Add @bye, \input line and @settitle to file.
This file is clearly intended to be a chapter of some other work,
but the other work does not yet exist.
diff --git a/man/anti.texi b/man/anti.texi
index 40e7c861fe2..c2ffaf7db72 100644
--- a/man/anti.texi
+++ b/man/anti.texi
@@ -151,9 +151,8 @@ The variable @code{fill-nobreak-predicate} is no longer customizable,
and it can only hold a single function.
@item
-Non-breaking spaces and hyphens are displayed just like normal
-characters. The user option @code{show-nonbreak-escape} is therefore
-obsolete, and has been removed.
+Nobreak spaces and hyphens are displayed just like normal characters,
+and the user option @code{nobreak-char-display} has been removed.
@item
@kbd{C-w} in an incremental search always grabs an entire word
diff --git a/man/building.texi b/man/building.texi
index 7d03c102921..69b56f467f5 100644
--- a/man/building.texi
+++ b/man/building.texi
@@ -344,9 +344,9 @@ can find the corresponding lines in the original files using @kbd{C-x
Some grep programs accept a @samp{--color} option to output special
markers around matches for the purpose of highlighting. You can make
-use of this feature by setting @code{grep-highlight-matches} to t.
-When displaying a match in the source buffer, the exact match will be
-highlighted, instead of the entire source line.
+use of this feature by setting @code{grep-highlight-matches} to
+@code{t}. When displaying a match in the source buffer, the exact
+match will be highlighted, instead of the entire source line.
@findex grep-find
@findex find-grep
diff --git a/man/dired-x.texi b/man/dired-x.texi
index 208d07ce170..3e1c724dd5a 100644
--- a/man/dired-x.texi
+++ b/man/dired-x.texi
@@ -1154,8 +1154,8 @@ bound to @kbd{C-x C-j} and @code{dired-jump-other-window} will not be bound to
@cindex Reading mail.
@kindex V
@findex dired-vm
-Bound to @kbd{V} if @code{dired-bind-vm} is t. Run VM on this file (assumed
-to be a UNIX mail folder).
+Bound to @kbd{V} if @code{dired-bind-vm} is @code{t}. Run VM on this
+file (assumed to be a UNIX mail folder).
@vindex dired-vm-read-only-folders
If you give this command a prefix argument, it will visit the folder
@@ -1168,8 +1168,8 @@ the symbol @code{if-file-read-only}, only files not writable by you are
visited read-only. This is the recommended value if you run VM 5.
@vindex dired-bind-vm
-If the variable @code{dired-bind-vm} is t, @code{dired-vm} will be bound to
-@kbd{V}. Otherwise, @code{dired-bind-rmail} will be bound.
+If the variable @code{dired-bind-vm} is @code{t}, @code{dired-vm} will be bound
+to @kbd{V}. Otherwise, @code{dired-bind-rmail} will be bound.
@item dired-rmail
@cindex Reading mail.
diff --git a/man/display.texi b/man/display.texi
index 473f1e65e4b..7bdd1d5fb59 100644
--- a/man/display.texi
+++ b/man/display.texi
@@ -12,6 +12,7 @@ display it.
@menu
* Faces:: How to change the display style using faces.
+* Standard Faces:: Emacs' predefined faces.
* Font Lock:: Minor mode for syntactic highlighting using faces.
* Highlight Changes:: Using colors to show where you changed the buffer.
* Highlight Interactively:: Tell Emacs what text to highlight.
@@ -44,6 +45,12 @@ terminals support inverse video, bold, and underline attributes; some
support colors. Character terminals generally do not support changing
the height and width or the font family.
+ The easiest way to use faces is to turn on Font Lock mode.
+@xref{Font Lock}, for more information about Font Lock mode and
+syntactic highlighting. You can print out the buffer with the
+highlighting that appears on your screen using the command
+@code{ps-print-buffer-with-faces}. @xref{PostScript}.
+
Features which rely on text in multiple faces (such as Font Lock mode)
will also work on non-windowed terminals that can display more than one
face, whether by colors or underlining and emboldening. This includes
@@ -90,21 +97,88 @@ fonts for editing program source code. Filling will sometimes make
lines too long or too short. We plan to address these issues in
future Emacs versions.
+@node Standard Faces
+@section Standard Faces
+
@findex list-faces-display
- To see what faces are currently defined, and what they look like, type
-@kbd{M-x list-faces-display}. It's possible for a given face to look
-different in different frames; this command shows the appearance in the
-frame in which you type it. Here's a list of the standard defined
-faces:
+ To see what faces are currently defined, and what they look like,
+type @kbd{M-x list-faces-display}. It's possible for a given face to
+look different in different frames; this command shows the appearance
+in the frame in which you type it. Here are the standard faces
+for specifying text appearance:
@table @code
@item default
This face is used for ordinary text that doesn't specify any other face.
+@item bold
+This face uses a bold variant of the default font, if it has one.
+@item italic
+This face uses an italic variant of the default font, if it has one.
+@item bold-italic
+This face uses a bold italic variant of the default font, if it has one.
+@item underline
+This face underlines text.
+@item fixed-pitch
+The basic fixed-pitch face.
+@item variable-pitch
+The basic variable-pitch face.
+@end table
+
+ Here's an incomplete list of faces used to highlight parts of the
+text temporarily for specific purposes. (Many other modes define
+their own faces for this purpose.)
+
+@table @code
+@item highlight
+This face is used for highlighting portions of text, in various modes.
+For example, mouse-sensitive text is highlighted using this face.
+@item mode-line-highlight
+Like @code{highlight}, but used for portions of text on mode lines.
+@item isearch
+This face is used for highlighting Isearch matches.
+@item lazy-highlight
+This face is used for lazy highlighting of Isearch and Query Replace
+matches other than the current one.
+@item region
+This face is used for displaying a selected region (when Transient Mark
+mode is enabled---see below).
+@item secondary-selection
+This face is used for displaying a secondary X selection (@pxref{Secondary
+Selection}).
+@item trailing-whitespace
+The face for highlighting trailing whitespace when
+@code{show-trailing-whitespace} is non-@code{nil}; see @ref{Useless
+Whitespace}.
+@item nobreak-space
+The face for displaying the character ``nobreak space''.
+@item escape-glyph
+The face for highlighting the @samp{\} or @samp{^} that indicates
+a control character. It's also used when @samp{\} indicates a
+nobreak space or nobreak (soft) hyphen.
+@item shadow
+The basic face for making the text less noticeable than the surrounding
+ordinary text. Usually this is achieved by using shades of grey in
+contrast with either black or white default foreground color.
+@end table
+
+@cindex @code{region} face
+ When Transient Mark mode is enabled, the text of the region is
+highlighted when the mark is active. This uses the face named
+@code{region}; you can control the style of highlighting by changing the
+style of this face (@pxref{Face Customization}). @xref{Transient Mark},
+for more information about Transient Mark mode and activation and
+deactivation of the mark.
+
+ These faces control the appearance of parts of the Emacs frame.
+They exist as faces to provide a consistent way to customize the
+appearance of these parts of the frame.
+
+@table @code
@item mode-line
This face is used for the mode line of the currently selected window.
By default, it's drawn with shadows for a ``raised'' effect on window
systems, and drawn as the inverse of the default face on non-windowed
-terminals. @xref{Display Custom}.
+terminals.
@item mode-line-inactive
Like @code{mode-line}, but used for mode lines of the windows other
than the selected one (if @code{mode-line-in-non-selected-windows} is
@@ -119,39 +193,15 @@ character terminals. By default this face inherits from the
@code{mode-line-inactive} face.
@item minibuffer-prompt
This face is used for the prompt strings displayed in the minibuffer.
-@item highlight
-This face is used for highlighting portions of text, in various modes.
-For example, mouse-sensitive text is highlighted using this face.
-@item mode-line-highlight
-Like @code{highlight}, but used for portions of text on mode lines.
-@item isearch
-This face is used for highlighting Isearch matches.
-@item lazy-highlight
-This face is used for lazy highlighting of Isearch and Query Replace
-matches other than the current one.
-@item region
-This face is used for displaying a selected region (when Transient Mark
-mode is enabled---see below).
-@item secondary-selection
-This face is used for displaying a secondary X selection (@pxref{Secondary
-Selection}).
-@item bold
-This face uses a bold variant of the default font, if it has one.
-@item italic
-This face uses an italic variant of the default font, if it has one.
-@item bold-italic
-This face uses a bold italic variant of the default font, if it has one.
-@item underline
-This face underlines text.
-@item fixed-pitch
-The basic fixed-pitch face.
@item fringe
@cindex fringe
The face for the fringes to the left and right of windows on graphic
displays. (The fringes are the narrow portions of the Emacs frame
between the text area and the window's right and left borders.)
+@xref{Fringes}.
@item scroll-bar
This face determines the visual appearance of the scroll bar.
+@xref{Scroll Bars}.
@item border
This face determines the color of the frame border.
@item cursor
@@ -160,41 +210,15 @@ This face determines the color of the cursor.
This face determines the color of the mouse pointer.
@item tool-bar
This is the basic tool-bar face. No text appears in the tool bar, but the
-colors of this face affect the appearance of tool bar icons.
+colors of this face affect the appearance of tool bar icons. @xref{Tool Bars}.
@item tooltip
-This face is used for tooltips.
+This face is used for tooltips. @xref{Tooltips}.
@item menu
This face determines the colors and font of Emacs's menus. Setting the
font of LessTif/Motif menus is currently not supported; attempts to set
-the font are ignored in this case.
-@item trailing-whitespace
-The face for highlighting trailing whitespace when
-@code{show-trailing-whitespace} is non-@code{nil}; see @ref{Useless
-Whitespace}.
-@item variable-pitch
-The basic variable-pitch face.
-@item shadow
-The basic face for making the text less noticeable than the surrounding
-ordinary text. Usually this is achieved by using shades of grey in
-contrast with either black or white default foreground color.
+the font are ignored in this case. @xref{Menu Bars}.
@end table
-@cindex @code{region} face
- When Transient Mark mode is enabled, the text of the region is
-highlighted when the mark is active. This uses the face named
-@code{region}; you can control the style of highlighting by changing the
-style of this face (@pxref{Face Customization}). @xref{Transient Mark},
-for more information about Transient Mark mode and activation and
-deactivation of the mark.
-
- One easy way to use faces is to turn on Font Lock mode. @xref{Font
-Lock}, for more information about Font Lock mode and syntactic
-highlighting.
-
- You can print out the buffer with the highlighting that appears
-on your screen using the command @code{ps-print-buffer-with-faces}.
-@xref{PostScript}.
-
@node Font Lock
@section Font Lock mode
@cindex Font Lock mode
@@ -921,16 +945,17 @@ they are displayed using their graphics (assuming your terminal supports
them), otherwise as escape sequences. @xref{Single-Byte Character
Support}.
-@vindex show-nonbreak-escape
-@cindex no-break space, display
-@cindex no-break hyphen, display
- Some character sets define ``no-break'' versions of the space
-and hyphen characters, which are used where a line should not be
-broken. Emacs displays these with an escape character in order to
-distinguish them from ordinary spaces and hyphens. For example, a
-non-breaking space is displayed as @samp{\ }. You can turn off this
-behavior by setting the variable @code{show-nonbreak-escape} to
-@code{nil}.
+@vindex nobreak-char-display
+@cindex nobreak space, display
+@cindex nobreak hyphen, display
+ Some character sets define ``no-break'' versions of the space and
+hyphen characters, which are used where a line should not be broken.
+Emacs normally displays these characters with special faces
+(respectively, @code{nobreak-space} and @code{escape-glyph}) to
+distinguish them from ordinary spaces and hyphens. You can turn off
+this feature by setting the variable @code{nobreak-char-display} to
+@code{nil}. If you set the variable to any other value, that means to
+prefix these characters with an escape character.
@node Cursor Display
@section Displaying the Cursor
diff --git a/man/ediff.texi b/man/ediff.texi
index 8e176a49fe0..7b997e4b0eb 100644
--- a/man/ediff.texi
+++ b/man/ediff.texi
@@ -2266,7 +2266,7 @@ version control, Ediff first tries to check the file out.
@item ediff-make-buffers-readonly-at-startup nil
@vindex ediff-make-buffers-readonly-at-startup
-If t, all variant buffers are made read-only at Ediff startup.
+If @code{t}, all variant buffers are made read-only at Ediff startup.
@item ediff-keep-variants
@vindex @code{ediff-keep-variants}
diff --git a/man/emacs.texi b/man/emacs.texi
index ef9200d595e..a4e713fd6f6 100644
--- a/man/emacs.texi
+++ b/man/emacs.texi
@@ -305,6 +305,7 @@ Registers
Controlling the Display
* Faces:: How to change the display style using faces.
+* Standard Faces:: Emacs' predefined faces.
* Font Lock:: Minor mode for syntactic highlighting using faces.
* Highlight Changes:: Using colors to show where you changed the buffer.
* Highlight Interactively:: Tell Emacs what text to highlight.
diff --git a/man/gnus.texi b/man/gnus.texi
index dd736cd8162..f386297e925 100644
--- a/man/gnus.texi
+++ b/man/gnus.texi
@@ -9347,12 +9347,13 @@ If displaying "text/html" is discouraged, see
@code{mm-discouraged-alternatives} in @ref{Display Customization,
Display Customization, , emacs-mime, Emacs-Mime Manual}. Images or
other material inside a "multipart/related" part might be overlooked
-when this variable is nil.
+when this variable is @code{nil}.
@vindex gnus-mime-display-multipart-as-mixed
@item gnus-mime-display-multipart-as-mixed
-Display "multipart" parts as "multipart/mixed". If t, it overrides nil
-values of @code{gnus-mime-display-multipart-alternative-as-mixed} and
+Display "multipart" parts as "multipart/mixed". If @code{t}, it
+overrides @code{nil} values of
+@code{gnus-mime-display-multipart-alternative-as-mixed} and
@code{gnus-mime-display-multipart-related-as-mixed}.
@vindex mm-file-name-rewrite-functions
@@ -14142,9 +14143,9 @@ surrounded by anything.
In this example, messages sent from @samp{joedavis@@foo.org} will
normally not be filed in @samp{joemail}. With
-@code{nnmail-split-fancy-match-partial-words} set to t, however, the
-match will happen. In effect, the requirement of a word boundary is
-removed and instead the match becomes more like a grep.
+@code{nnmail-split-fancy-match-partial-words} set to @code{t},
+however, the match will happen. In effect, the requirement of a word
+boundary is removed and instead the match becomes more like a grep.
@findex nnmail-split-fancy-with-parent
@code{nnmail-split-fancy-with-parent} is a function which allows you to
@@ -18372,11 +18373,11 @@ faces will be obscured by the undownloaded faces. If this is your
situation, you have two choices available. First, you can completely
disable the undownload faces by customizing
@code{gnus-summary-highlight} to delete the three cons-cells that
-refer to the @code{gnus-summary-*-undownloaded-face} faces. Second, if
-you prefer to take a more fine-grained approach, you may set the
-@code{agent-disable-undownloaded-faces} group parameter to t. This
-parameter, like all other agent parameters, may be set on an Agent
-Category (@pxref{Agent Categories}), a Group Topic (@pxref{Topic
+refer to the @code{gnus-summary-*-undownloaded-face} faces. Second,
+if you prefer to take a more fine-grained approach, you may set the
+@code{agent-disable-undownloaded-faces} group parameter to @code{t}.
+This parameter, like all other agent parameters, may be set on an
+Agent Category (@pxref{Agent Categories}), a Group Topic (@pxref{Topic
Parameters}), or an individual group (@pxref{Group Parameters}).
@node Agent as Cache
@@ -18588,7 +18589,7 @@ online status.
If @code{gnus-agent-mark-unread-after-downloaded} is non-@code{nil},
mark articles as unread after downloading. This is usually a safe
thing to do as the newly downloaded article has obviously not been
-read. The default is t.
+read. The default is @code{t}.
@item gnus-agent-consider-all-articles
@vindex gnus-agent-consider-all-articles
diff --git a/man/info.texi b/man/info.texi
index 014e9165087..e6c508b4b49 100644
--- a/man/info.texi
+++ b/man/info.texi
@@ -820,11 +820,11 @@ happens.
If you always like to have that information available without having
to move your mouse over the cross reference, set
-@code{Info-hide-note-references} to a value other than t (@pxref{Emacs
-Info Variables}). You might also want to do that if you have a lot of
-cross references to files on remote machines and have non-permanent or
-slow access, since otherwise you might not be able to distinguish
-between local and remote links.
+@code{Info-hide-note-references} to a value other than @code{t}
+(@pxref{Emacs Info Variables}). You might also want to do that if you
+have a lot of cross references to files on remote machines and have
+non-permanent or slow access, since otherwise you might not be able to
+distinguish between local and remote links.
@format
>> Now type @kbd{n} to learn more commands.
diff --git a/man/message.texi b/man/message.texi
index 20a89debcc5..ce78e1bb68b 100644
--- a/man/message.texi
+++ b/man/message.texi
@@ -8,7 +8,7 @@
@copying
This file documents Message, the Emacs message composition mode.
-Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
@quotation
@@ -1372,7 +1372,7 @@ Controls what to do with trailing @samp{(was: <old subject>)} in subject
lines. If @code{nil}, leave the subject unchanged. If it is the symbol
@code{ask}, query the user what do do. In this case, the subject is
matched against @code{message-subject-trailing-was-ask-regexp}. If
-@code{message-subject-trailing-was-query} is t, always strip the
+@code{message-subject-trailing-was-query} is @code{t}, always strip the
trailing old subject. In this case,
@code{message-subject-trailing-was-regexp} is used.
diff --git a/man/mule.texi b/man/mule.texi
index 985d0b9afb5..0f9873cdb0d 100644
--- a/man/mule.texi
+++ b/man/mule.texi
@@ -35,11 +35,12 @@
@cindex Dutch
@cindex Spanish
Emacs supports a wide variety of international character sets,
-including European variants of the Latin alphabet, as well as Chinese,
-Cyrillic, Devanagari (Hindi and Marathi), Ethiopic, Greek, Hebrew, IPA,
-Japanese, Korean, Lao, Thai, Tibetan, and Vietnamese scripts. These features
-have been merged from the modified version of Emacs known as MULE (for
-``MULti-lingual Enhancement to GNU Emacs'')
+including European and Vietnamese variants of the Latin alphabet, as
+well as Cyrillic, Devanagari (for Hindi and Marathi), Ethiopic, Greek,
+Han (for Chinese and Japanese), Hangul (for Korean), Hebrew, IPA,
+Kannada, Lao, Malayalam, Tamil, Thai, Tibetan, and Vietnamese scripts.
+These features have been merged from the modified version of Emacs
+known as MULE (for ``MULti-lingual Enhancement to GNU Emacs'')
Emacs also supports various encodings of these characters used by
other internationalized software, such as word processors and mailers.
@@ -69,8 +70,7 @@ describes possible problems and explains how to solve them.
You can insert non-@acronym{ASCII} characters or search for them. To do that,
you can specify an input method (@pxref{Select Input Method}) suitable
for your language, or use the default input method set up when you set
-your language environment. (Emacs input methods are part of the Leim
-package, which must be installed for you to be able to use them.) If
+your language environment. If
your keyboard can produce non-@acronym{ASCII} characters, you can select an
appropriate keyboard coding system (@pxref{Specify Coding}), and Emacs
will accept those characters. Latin-1 characters can also be input by
@@ -240,13 +240,19 @@ the Emacs session. The supported language environments include:
@cindex Euro sign
@cindex UTF-8
@quotation
-Chinese-BIG5, Chinese-CNS, Chinese-GB, Cyrillic-ALT, Cyrillic-ISO,
-Cyrillic-KOI8, Czech, Devanagari, Dutch, English, Ethiopic, German,
-Greek, Hebrew, IPA, Japanese, Korean, Lao, Latin-1, Latin-2, Latin-3,
-Latin-4, Latin-5, Latin-8 (Celtic), Latin-9 (updated Latin-1, with the
-Euro sign), Polish, Romanian, Slovak, Slovenian, Spanish, Thai, Tibetan,
-Turkish, UTF-8 (for a setup which prefers Unicode characters and files
-encoded in UTF-8), and Vietnamese.
+Belarusian, Brazilian Portuguese, Bulgarian, Chinese-BIG5,
+Chinese-CNS, Chinese-EUC-TW, Chinese-GB, Croatian, Cyrillic-ALT,
+Cyrillic-ISO, Cyrillic-KOI8, Czech, Devanagari, Dutch, English,
+Ethiopic, French, Georgian, German, Greek, Hebrew, IPA, Italian,
+Japanese, Kannada, Korean, Lao, Latin-1, Latin-2, Latin-3,
+Latin-4, Latin-5, Latin-6, Latin-7, Latin-8 (Celtic),
+Latin-9 (updated Latin-1 with the Euro sign), Latvian,
+Lithuanian, Malayalam, Polish, Romanian, Russian, Slovak,
+Slovenian, Spanish, Swedish, Tajik, Tamil, Thai, Tibetan,
+Turkish, UTF-8 (for a setup which prefers Unicode characters and
+files encoded in UTF-8), Ukrainian, Vietnamese, Welsh, and
+Windows-1255 (for a setup which prefers Cyrillic characters and
+files encoded in Windows-1255).
@end quotation
@cindex fonts for various scripts
@@ -254,7 +260,7 @@ encoded in UTF-8), and Vietnamese.
To display the script(s) used by your language environment on a
graphical display, you need to have a suitable font. If some of the
characters appear as empty boxes, you should install the GNU Intlfonts
-package, which includes fonts for all supported scripts.@footnote{If
+package, which includes fonts for most supported scripts.@footnote{If
you run Emacs on X, you need to inform the X server about the location
of the newly installed fonts with the following commands:
@@ -525,9 +531,11 @@ actual keyboard layout. To specify which layout your keyboard has, use
the command @kbd{M-x quail-set-keyboard-layout}.
@findex quail-show-key
- You can use the command @kbd{M-x quail-show-key} to show what key
-(or key sequence) to type in order to input the character following
-point, using the selected keyboard layout.
+ You can use the command @kbd{M-x quail-show-key} to show what key (or
+key sequence) to type in order to input the character following point,
+using the selected keyboard layout. The command @kbd{C-u C-x =} also
+shows that information in addition to the other information about the
+character.
@findex list-input-methods
To display a list of all the supported input methods, type @kbd{M-x
@@ -736,7 +744,7 @@ example, to read and write all @samp{.txt} files using the coding system
@code{china-iso-8bit}, you can execute this Lisp expression:
@smallexample
-(modify-coding-system-alist 'file "\\.txt\\'" 'china-iso-8bit)
+(modify-coding-system-alist 'file "\\.txt\\'" 'chinese-iso-8bit)
@end smallexample
@noindent
diff --git a/man/org.texi b/man/org.texi
index 69c323c5eba..e3d35cf19fa 100644
--- a/man/org.texi
+++ b/man/org.texi
@@ -9,7 +9,7 @@
@dircategory Emacs
@direntry
-* Org Mode: (org). Outline-based notes management and organizer
+* Org Mode: (org). Outline-based notes management and organizer
@end direntry
@c Version and Contact Info
@@ -264,7 +264,7 @@ MY PROJECTS -*- mode: org; -*-
@noindent which will select Org-mode for this buffer no matter what
the file's name is. See also the variable
-@code{org-insert-mode-line-in-empty-file'}.
+@code{org-insert-mode-line-in-empty-file'}.
@node Feedback, , Installation and Activation, Introduction
@section Feedback
@@ -710,7 +710,7 @@ above.
@kindex C-c ?
@item C-c ?
Which table column is the cursor in? Displays number >0 in echo
-area.
+area.
@cindex region, active
@cindex active region
@@ -721,8 +721,8 @@ Sum the numbers in the current column, or in the rectangle defined by
the active region. The result is displayed in the echo area and can
be inserted with @kbd{C-y}.
-@kindex S-@key{RET}
-@item S-@key{RET}
+@kindex S-@key{RET}
+@item S-@key{RET}
When current field is empty, copy from first non-empty field above.
When not empty, copy current field down to next row and move cursor
along with it. Depending on the variable
@@ -954,7 +954,7 @@ cycling (@key{TAB}) to find a better place. Pressing @key{RET} or
@item on headline @tab @key{RET} @tab as sublevel of the heading at cursor
@item @tab @key{left} @tab as same level, before current heading
@item @tab @key{right} @tab as same level, after current heading
-@item not on headline @tab @key{RET}
+@item not on headline @tab @key{RET}
@tab at cursor position, level taken from context.
Or use prefix arg to specify level manually.
@end multitable
@@ -969,8 +969,8 @@ Before inserting the text into a tree, the function ensures that the
text has a headline, i.e. a first line that starts with a @samp{*}.
If not, a headline is constructed from the current date and some
additional data. If the variable @code{org-adapt-indentation} is
-non-nil, the entire text is also indented so that it starts in the
-same column as the headline (after the asterisks).
+non-@code{nil}, the entire text is also indented so that it starts in
+the same column as the headline (after the asterisks).
@node TODO items, Timestamps, Hyperlinks, Top
@chapter TODO items
@@ -1125,7 +1125,7 @@ in the line to make the changes known to Org-mode@footnote{Org-mode
parses these lines only when Org-mode is activated after visiting a
file. @kbd{C-c C-c} with the cursor in a line starting with @samp{#-}
is simply restarting Org-mode, making sure that these changes will be
-respected.}.
+respected.}.
If you want to use very many keywords, for example when working with a
large group of people, you may split the names over several lines:
@@ -1578,7 +1578,7 @@ Previous line (same as @key{down}).
@kindex mouse-3
@kindex @key{SPC}
@item mouse-3
-@itemx @key{SPC}
+@itemx @key{SPC}
Display the original location of the item in another window.
@kindex l
@@ -1680,7 +1680,7 @@ Change the time stamp associated with the current line by one day into
the future. With prefix argument, change it by that many days. For
example, @kbd{3 6 5 S-@key{right}} will change it by a year. The
stamp is changed in the original org file, but the change is not
-directly reflected in the agenda buffer. Use the
+directly reflected in the agenda buffer. Use the
@kbd{r} key to update the buffer.
@kindex S-@key{left}
@@ -1859,16 +1859,16 @@ creates only top level headlines and does the rest as items.
@cindex active region
@cindex transient-mark-mode
@table @kbd
-@kindex C-c C-x a
+@kindex C-c C-x a
@item C-c C-x a
Export as ASCII file. If there is an active region, only the region
will be exported. For an org file @file{myfile.org}, the ASCII file
will be @file{myfile.txt}. The file will be overwritten without
warning.
-@kindex C-c C-x h
+@kindex C-c C-x h
@item C-c C-x h
Export as HTML file @file{myfile.html}.
-@kindex C-c C-x C-h
+@kindex C-c C-x C-h
@item C-c C-x C-h
Export as HTML file and open it with a browser.
@kindex C-c C-x t
@@ -1914,7 +1914,7 @@ horizontal separator line will be formatted as table header fields.
@cindex fixed width
@item
Lines starting with @samp{:} are typeset in a fixed-width font, to
-allow quoting of computer code etc.
+allow quoting of computer code etc.
@cindex HTML tags
@item
@@ -1936,7 +1936,7 @@ additional information. These lines may be put anywhere in the file.
The whole set of lines can be inserted into the buffer with @kbd{C-c
C-x t}. For individual lines, a good way to make sure the keyword is
correct it to type @samp{#+} and then use @kbd{M-@key{TAB}} completion
-(@pxref{Completion}).
+(@pxref{Completion}).
@example
#+TITLE: the title to be shown (default is the buffer name)
@@ -2162,7 +2162,7 @@ S-RET -> C-S-RET
@end example
Yes, these are unfortunately more difficult to remember. If you want
to have other replacement keys, look at the variable
-@code{org-disputed-keys}.
+@code{org-disputed-keys}.
@end table
@@ -2174,30 +2174,30 @@ Here is a list of things which should work differently, but which I
have found too hard to fix.
@itemize @bullet
-@item
+@item
If you call @code{fill-paragraph} (bound to @kbd{M-q}) in a table, the
filling is correctly disabled. However, if some text directly
(without an empty line in between) preceeds or follws a table, calling
@code{fill-paragraph} in that text will also fill the table like
normal text. Also, @code{fill-region} does bypass the
@code{fill-paragraph} code and will fill tables like normal text.
-@item
+@item
When the application called by @kbd{C-c C-o} to open a file link fails
(for example because the application does not exits or refuses to open
the file), it does so silently. No error message is displayed.
-@item
+@item
Under XEmacs, if Org-mode entries are included into the diary, it is
not possible to jump back from the diary to the org file. Apparently,
the text properties are lost when the fancy-diary-display is used.
However, from Org-mode's timeline and agenda buffers (created with
@kbd{C-c C-r} and @kbd{C-c a}), things do work correctly.
-@item
+@item
Linux should also have a default viewer application, using mailcap.
Maybe we can use GNUS or VM mime code? Or dired's guessing commands?
Any hints (or even patches) are appreciated.
-@item
+@item
When you write @samp{x = a /b/ c}, b will be exported in italics.
-@item
+@item
The exporters work well, but could be made more efficient.
@end itemize
diff --git a/man/reftex.texi b/man/reftex.texi
index 32db61e0eea..f6e5a6da082 100644
--- a/man/reftex.texi
+++ b/man/reftex.texi
@@ -153,7 +153,7 @@ Citations
* Citation Info:: View the corresponding database entry.
* Chapterbib and Bibunits:: Multiple bibliographies in a Document.
* Citations Outside LaTeX:: How to make citations in Emails etc.
-* BibTeX Database Subsets:: Extract parts of a big database.
+* BibTeX Database Subsets:: Extract parts of a big database.
Index Support
@@ -1668,7 +1668,7 @@ support for citations helps to select the correct key quickly.
* Citation Info:: View the corresponding database entry.
* Chapterbib and Bibunits:: Multiple bibliographies in a Document.
* Citations Outside LaTeX:: How to make citations in Emails etc.
-* BibTeX Database Subsets:: Extract parts of a big database.
+* BibTeX Database Subsets:: Extract parts of a big database.
@end menu
@node Creating Citations, Citation Styles, , Citations
@@ -1772,12 +1772,12 @@ separate @code{\cite} macro for each of it.
@item e
Create a new BibTeX database file which contains all @i{marked} entries
in the selection buffer. If no entries are marked, all entries are
-selected.
+selected.
@item E
Create a new BibTeX database file which contains all @i{unmarked}
entries in the selection buffer. If no entries are marked, all entries
-are selected.
+are selected.
@item @key{TAB}
Enter a citation key with completion. This may also be a key which does
@@ -3211,7 +3211,7 @@ way.
Before calling a @b{Ref@TeX{}} function, the style hook should always
test for the availability of the function, so that the style file will
-also work for people who do not use @b{Ref@TeX{}}.
+also work for people who do not use @b{Ref@TeX{}}.
Additions made with style files in the way described below remain local
to the current document. For example, if one package uses AMSTeX, the
@@ -3492,7 +3492,7 @@ With @i{Viper} mode prior to Vipers version 3.01, you need to protect
@b{Ref@TeX{}} was written by @i{Carsten Dominik}
@email{dominik@@science.uva.nl}, with contributions by @i{Stephen
-Eglen}. @b{Ref@TeX{}} is currently maintained by
+Eglen}. @b{Ref@TeX{}} is currently maintained by
@noindent
Carsten Dominik <dominik@@science.uva.nl>
@@ -3712,7 +3712,7 @@ Produce a list of all duplicate labels in the document.
Create a new BibTeX database file with all entries referenced in document.
The command prompts for a filename and writes the collected entries to
that file. Only entries referenced in the current document with
-any @code{\cite}-like macros are used.
+any @code{\cite}-like macros are used.
The sequence in the new file is the same as it was in the old database.
@end deffn
@@ -3817,7 +3817,7 @@ only in that frame. So when creating that frame (with @kbd{d} key in an
ordinary TOC window), the automatic recentering is turned on. When the
frame gets destroyed, automatic recentering is turned off again.
-This feature can be turned on and off from the menu
+This feature can be turned on and off from the menu
(Ref->Options).
@end defopt
@@ -3927,7 +3927,7 @@ group which contains all labels.
This may also be a function to do local parsing and identify point to be
in a non-standard label environment. The function must take an
argument @var{bound} and limit backward searches to this value. It
-should return either nil or a cons cell @code{(@var{function}
+should return either @code{nil} or a cons cell @code{(@var{function}
. @var{position})} with the function symbol and the position where the
special environment starts. See the Info documentation for an
example.
@@ -4084,7 +4084,7 @@ special packages like fancyref) are being used. RefTeX can and by
default does parse around each label to detect the correct label type,
but this process can be slow when a document contains thousands of
labels. If you use label prefixes consistently, you may speed up
-document parsing by setting this variable to a non-nil value. RefTeX
+document parsing by setting this variable to a non-@code{nil} value. RefTeX
will then compare the label prefix with the prefixes found in
`reftex-label-alist' and derive the correct label type in this way.
Possible values for this option are:
@@ -4093,7 +4093,7 @@ Possible values for this option are:
t @r{This means to trust any label prefixes found.}
regexp @r{If a regexp, only prefixes matched by the regexp are trusted.}
list @r{List of accepted prefixes, as strings. The colon is part of}
- @r{the prefix, e.g. ("fn:" "eqn:" "item:").}
+ @r{the prefix, e.g. ("fn:" "eqn:" "item:").}
nil @r{Never trust a label prefix.}
@end example
The only disadvantage of using this feature is that the label context
@@ -4649,7 +4649,7 @@ case.
@defopt reftex-index-verify-function
A function which is called at each match during global indexing.
-If the function returns nil, the current match is skipped.
+If the function returns @code{nil}, the current match is skipped.
@end defopt
@defopt reftex-index-phrases-skip-indexed-matches
@@ -4769,10 +4769,10 @@ escapes.
@defopt reftex-revisit-to-echo
Non-@code{nil} means, automatic citation display will revisit files if
-necessary. When nil, citation display in echo area will only be active
-for cached echo strings (see @code{reftex-cache-cite-echo}), or for
-BibTeX database files which are already visited by a live associated
-buffers.
+necessary. When @code{nil}, citation display in echo area will only
+be active for cached echo strings (see @code{reftex-cache-cite-echo}),
+or for BibTeX database files which are already visited by a live
+associated buffers.
@end defopt
@defopt reftex-cache-cite-echo
@@ -5113,7 +5113,7 @@ See the AUCTeX documentation for more information.
@defopt reftex-revisit-to-follow
Non-@code{nil} means, follow-mode will revisit files if necessary.
-When nil, follow-mode will be suspended for stuff in unvisited files.
+When @code{nil}, follow-mode will be suspended for stuff in unvisited files.
@end defopt
@defopt reftex-allow-detached-macro-args
@@ -5177,11 +5177,11 @@ Fixed bug with @samp{%F} in a label prefix. Added new escapes
@noindent @b{Version 4.24}
@itemize @bullet
-@item
+@item
Inserting citation commands now prompts for optional arguments
when called with a prefix argument. Related new options are
@code{reftex-cite-prompt-optional-args} and
-@code{reftex-cite-cleanup-optional-args}.
+@code{reftex-cite-cleanup-optional-args}.
@item
New option @code{reftex-trust-label-prefix}. Configure this variable
if you'd like RefTeX to base its classification of labels on prefixes.
@@ -5189,7 +5189,7 @@ This can speed-up document parsing, but may in some cases reduce the
quality of the context used by RefTeX to describe a label.
@item
Fixed bug in @code{reftex-create-bibtex-file} when @code{reftex-comment-citations}
-is non-nil.
+is non-@code{nil}.
@item
Fixed bugs in indexing: Case-sensitive search, quotes before and/or
after words. Disabbled indexing in comment lines.
@@ -5197,7 +5197,7 @@ after words. Disabbled indexing in comment lines.
@noindent @b{Version 4.22}
@itemize @bullet
-@item
+@item
New command @code{reftex-create-bibtex-file} to create a new database
with all entries referenced in the current document.
@item
@@ -5207,7 +5207,7 @@ from entries marked in a citation selection buffer.
@noindent @b{Version 4.21}
@itemize @bullet
-@item
+@item
Renaming labels from the toc buffer with key @kbd{M-%}.
@end itemize
@@ -5423,7 +5423,7 @@ File search further refined. New option @code{reftex-file-extensions}.
document, all labels and associated context. New keys @kbd{i}, @kbd{l},
and @kbd{c}. New options @code{reftex-toc-include-labels},
@code{reftex-toc-include-context},
-@code{reftex-toc-include-file-boundaries}.
+@code{reftex-toc-include-file-boundaries}.
@end itemize
@noindent @b{Version 3.41}
@@ -5536,7 +5536,7 @@ New option @code{reftex-cache-cite-echo}.
@kbd{M-x reftex-reset-mode} now also removes the file with parsing
info.
@item
-Default of @code{reftex-revisit-to-follow} changed to nil.
+Default of @code{reftex-revisit-to-follow} changed to @code{nil}.
@end itemize
@noindent @b{Version 3.24}
diff --git a/man/speedbar.texi b/man/speedbar.texi
index 62cce0024ae..40296f57082 100644
--- a/man/speedbar.texi
+++ b/man/speedbar.texi
@@ -1175,11 +1175,11 @@ the next line.
Create a tag line with @var{exp-button-type} for the small expansion
button. This is the button that expands or contracts a node (if
applicable), and @var{exp-button-char} the character in it (@samp{+},
-@samp{-}, @samp{?},
-etc). @var{exp-button-function} is the function to call if it's clicked
-on. Button types are @code{'bracket}, @code{'angle}, @code{'curly},
-@code{'expandtag}, @code{'statictag}, or nil. @var{exp-button-data} is
-extra data attached to the text forming the expansion button.
+@samp{-}, @samp{?}, etc). @var{exp-button-function} is the function
+to call if it's clicked on. Button types are @code{bracket},
+@code{angle}, @code{curly}, @code{expandtag}, @code{statictag}, and
+@code{nil}. @var{exp-button-data} is extra data attached to the text
+forming the expansion button.
Next, @var{tag-button} is the text of the tag.
@var{tag-button-function} is the function to call if clicked on, and
@@ -1221,15 +1221,15 @@ obvious is @code{speedbar-tag-hierarchy-method}.
@defvar speedbar-generic-list-group-expand-button-type
This is the button type used for groups of tags, whether expanded
or added in via a hierarchy method. Two good values are
-@code{'curly} and @code{'expandtag}. Curly is the default button, and
-@code{'expandtag} is useful if the groups also has a position.
+@code{curly} and @code{expandtag}. Curly is the default button, and
+@code{expandtag} is useful if the groups also has a position.
@end defvar
@defvar speedbar-generic-list-tag-button-type
This is the button type used for a single tag.
-Two good values are @code{nil} and @code{'statictag}.
-@code{nil} is the default, and @code{'statictag} has the same width as
-@code{'expandtag}.
+Two good values are @code{nil} and @code{statictag}.
+@code{nil} is the default, and @code{statictag} has the same width as
+@code{expandtag}.
@end defvar
@end defun
diff --git a/man/tramp.texi b/man/tramp.texi
index 5b406cb1662..756b467157c 100644
--- a/man/tramp.texi
+++ b/man/tramp.texi
@@ -1211,7 +1211,8 @@ in @file{~/.ssh/config} style files.
SSH2 parsing of directories @file{/etc/ssh2/hostkeys/*} and
@file{~/ssh2/hostkeys/*}. Hosts are coded in file names
-@file{hostkey_PORTNUMBER_HOST-NAME.pub}. User names are always nil.
+@file{hostkey_@var{portnumber}_@var{host-name}.pub}. User names
+are always @code{nil}.
@item @code{tramp-parse-sknownhosts}
@findex tramp-parse-shostkeys
@@ -1219,7 +1220,7 @@ SSH2 parsing of directories @file{/etc/ssh2/hostkeys/*} and
Another SSH2 style parsing of directories like
@file{/etc/ssh2/knownhosts/*} and @file{~/ssh2/knownhosts/*}. This
case, hosts names are coded in file names
-@file{HOST-NAME.ALGORITHM.pub}. User names are always nil.
+@file{@var{host-name}.@var{algorithm}.pub}. User names are always @code{nil}.
@item @code{tramp-parse-hosts}
@findex tramp-parse-hosts
@@ -1522,7 +1523,7 @@ When
@ifset xemacs
@code{bkup-backup-directory-info}
@end ifset
-is nil (the default), such problems do not occur.
+is @code{nil} (the default), such problems do not occur.
Therefore, it is usefull to set special values for @value{tramp}
files. For example, the following statement effectively `turns off'
@@ -1610,7 +1611,7 @@ contains the directory where @value{emacsname} was built. A
workaround is to manually set the variable to a sane value.
If auto-saved files should go into the same directory as the original
-files, @code{auto-save-file-name-transforms} should be set to nil.
+files, @code{auto-save-file-name-transforms} should be set to @code{nil}.
Another possibility is to set the variable
@code{tramp-auto-save-directory} to a proper value.
@@ -2125,7 +2126,8 @@ fi
@end example
-@item @value{tramp} doesn't transfer strings with more than 500 characters
+@item
+@value{tramp} doesn't transfer strings with more than 500 characters
correctly
On some few systems, the implementation of @code{process-send-string}
@@ -2133,7 +2135,6 @@ seems to be broken for longer strings. This case, you should
customize the variable @code{tramp-chunksize} to 500. For a
description how to determine whether this is necessary see the
documentation of @code{tramp-chunksize}.
-
@end itemize
diff --git a/src/ChangeLog b/src/ChangeLog
index 659f1066efc..2ffb3c4959c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,45 @@
+2005-06-23 Richard M. Stallman <rms@gnu.org>
+
+ * xdisp.c (get_next_display_element): Finish reversing the tests of
+ Vnobreak_char_display.
+
+ * xdisp.c (Vnobreak_char_display): Renamed from Vshow_nonbreak_escape.
+ All uses changed.
+ (Qnobreak_space): Renamed from Qno_break_space. All uses changed.
+ (syms_of_xdisp): Define nobreak-char-display and nobreak-space.
+
+ * fileio.c (Frename_file): Preserve owner and group, if possible,
+ when copying.
+
+2005-06-23 Juanma Barranquero <lekktu@gmail.com>
+
+ * abbrev.c (Funexpand_abbrev):
+ * category.c (Fmake_category_set):
+ * dispnew.c (Fsleep_for, Fsit_for):
+ * editfns.c (Fsubst_char_in_region):
+ * eval.c (Fdefvar, Fdefconst, Feval, Ffuncall):
+ * frame.c (make_frame_without_minibuffer):
+ * lread.c (read_vector):
+ * macfns.c (check_x_frame):
+ * process.c (Fstop_process, Fcontinue_process):
+ * search.c (Freplace_match):
+ * syntax.c (Fstring_to_syntax):
+ * w32fns.c (check_x_frame, check_x_display_info):
+ * xfaces.c (x_supports_face_attributes_p):
+ * xselect.c (Fx_own_selection_internal): Follow error conventions.
+
+ * image.c (fn_png_init_io): Don't define it.
+ (init_png_functions) [HAVE_NTGUI]: Don't initialize fn_png_init_io.
+ (png_read_from_file): New function, based on png_read_from_memory.
+ (png_load): Use it, instead of fn_png_init_io.
+
+2005-06-23 Kim F. Storm <storm@cua.dk>
+
+ * search.c (Fmatch_data): Remove evaporate option.
+ (Fset_match_data): Do not mention evaporate option in doc string.
+ Add commentary explaining evaporate arg (for internal use only).
+ (unwind_set_match_data): Add comment on evaporate use.
+
2005-06-22 Miles Bader <miles@gnu.org>
* xfaces.c (Qvertical_border): Renamed from `Qvertical_divider'.
@@ -2799,7 +2841,7 @@
* xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
- * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
+ * xfaces.c (clear_font_table) [MAC_OS]: Call mac_unload_font.
2004-12-27 Richard M. Stallman <rms@gnu.org>
@@ -2838,7 +2880,7 @@
(xmenu_show): In no toolkit version, if menu returns NO_SELECT call
Fsignal to quit.
- * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
+ * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
* gtkutil.c (xg_initialize): Install bindings for C-g so that
dialogs and menus pop down.
@@ -3624,7 +3666,7 @@
2004-11-12 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
* xmenu.c (x_menu_wait_for_event): New function.
- (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
+ (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
to handle timers.
(popup_widget_loop): Add argument do_timers.
(create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
@@ -4002,7 +4044,7 @@
2004-10-28 Will <will@glozer.net>
- * macterm.c: allow user to assign key modifiers to the Mac Option
+ * macterm.c: Allow user to assign key modifiers to the Mac Option
key via a 'mac-option-modifier' variable.
2004-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
@@ -4864,7 +4906,7 @@
* keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
- * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
+ * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
* callint.c (Fcall_interactively): Doc fix.
@@ -8191,7 +8233,7 @@
* fileio.c (Fread_file_name): Check use_file_dialog also before
calling Fx_file_dialog.
- * fns.c: use_file_dialog: New variable.
+ * fns.c (use_file_dialog): New variable.
(syms_of_fns): DEFVAR_BOOL use-file-dialog.
2003-11-29 Kim F. Storm <storm@cua.dk>
@@ -11637,7 +11679,7 @@
for USE_GTK.
(x_scroll_bar_handle_click): Use this function for toolkit scrollbars
also.
- (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
+ (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
scrollbar and control is pressed, call x_scroll_bar_handle_click.
* gtkutil.h (xg_get_scroll_id_for_window): Declare.
diff --git a/src/abbrev.c b/src/abbrev.c
index ac132f20023..3883e35da31 100644
--- a/src/abbrev.c
+++ b/src/abbrev.c
@@ -442,7 +442,7 @@ is not undone. */)
val = SYMBOL_VALUE (Vlast_abbrev);
if (!STRINGP (val))
- error ("value of abbrev-symbol must be a string");
+ error ("Value of `abbrev-symbol' must be a string");
zv_before = ZV;
del_range_byte (PT_BYTE, PT_BYTE + SBYTES (val), 1);
/* Don't inherit properties here; just copy from old contents. */
diff --git a/src/category.c b/src/category.c
index b7eadd0e771..1cae5a6e756 100644
--- a/src/category.c
+++ b/src/category.c
@@ -67,7 +67,7 @@ those categories. */)
val = MAKE_CATEGORY_SET;
if (STRING_MULTIBYTE (categories))
- error ("Multibyte string in make-category-set");
+ error ("Multibyte string in `make-category-set'");
len = SCHARS (categories);
while (--len >= 0)
diff --git a/src/dispnew.c b/src/dispnew.c
index c5256142588..cc9e6152d1a 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -6374,7 +6374,7 @@ Emacs was built without floating point support.
#ifndef EMACS_HAS_USECS
if (sec == 0 && usec != 0)
- error ("millisecond `sleep-for' not supported on %s", SYSTEM_TYPE);
+ error ("Millisecond `sleep-for' not supported on %s", SYSTEM_TYPE);
#endif
/* Assure that 0 <= usec < 1000000. */
@@ -6474,7 +6474,7 @@ usage: (sit-for SECONDS &optional NODISP OLD-NODISP) */)
#ifndef EMACS_HAS_USECS
if (usec != 0 && sec == 0)
- error ("millisecond `sit-for' not supported on %s", SYSTEM_TYPE);
+ error ("Millisecond `sit-for' not supported on %s", SYSTEM_TYPE);
#endif
return sit_for (sec, usec, 0, NILP (nodisp), NILP (nodisp));
diff --git a/src/editfns.c b/src/editfns.c
index 4bc5336e997..a7296c4428f 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -2660,7 +2660,7 @@ Both characters must have the same length of multi-byte form. */)
{
len = CHAR_STRING (XFASTINT (fromchar), fromstr);
if (CHAR_STRING (XFASTINT (tochar), tostr) != len)
- error ("Characters in subst-char-in-region have different byte-lengths");
+ error ("Characters in `subst-char-in-region' have different byte-lengths");
if (!ASCII_BYTE_P (*tostr))
{
/* If *TOSTR is in the range 0x80..0x9F and TOCHAR is not a
diff --git a/src/eval.c b/src/eval.c
index 445eb283114..8ad289fd51f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -785,7 +785,7 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */)
sym = Fcar (args);
tail = Fcdr (args);
if (!NILP (Fcdr (Fcdr (tail))))
- error ("too many arguments");
+ error ("Too many arguments");
tem = Fdefault_boundp (sym);
if (!NILP (tail))
@@ -845,7 +845,7 @@ usage: (defconst SYMBOL INITVALUE [DOCSTRING]) */)
sym = Fcar (args);
if (!NILP (Fcdr (Fcdr (Fcdr (args)))))
- error ("too many arguments");
+ error ("Too many arguments");
tem = Feval (Fcar (Fcdr (args)));
if (!NILP (Vpurify_flag))
@@ -2037,7 +2037,7 @@ DEFUN ("eval", Feval, Seval, 1, 1, 0,
if (max_lisp_eval_depth < 100)
max_lisp_eval_depth = 100;
if (lisp_eval_depth > max_lisp_eval_depth)
- error ("Lisp nesting exceeds max-lisp-eval-depth");
+ error ("Lisp nesting exceeds `max-lisp-eval-depth'");
}
original_fun = Fcar (form);
@@ -2733,7 +2733,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
if (max_lisp_eval_depth < 100)
max_lisp_eval_depth = 100;
if (lisp_eval_depth > max_lisp_eval_depth)
- error ("Lisp nesting exceeds max-lisp-eval-depth");
+ error ("Lisp nesting exceeds `max-lisp-eval-depth'");
}
backtrace.next = backtrace_list;
diff --git a/src/fileio.c b/src/fileio.c
index c38cb924c8b..075f12ccb21 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -2777,6 +2777,7 @@ This is what happens in interactive use with M-x. */)
{
if (errno == EXDEV)
{
+ struct stat data;
#ifdef S_IFLNK
symlink_target = Ffile_symlink_p (file);
if (! NILP (symlink_target))
@@ -2789,6 +2790,11 @@ This is what happens in interactive use with M-x. */)
so don't have copy-file prompt again. */
NILP (ok_if_already_exists) ? Qnil : Qt,
Qt, Qnil);
+
+ /* Preserve owner and group, if possible (if we are root). */
+ if (stat (SDATA (encoded_file), &data) >= 0)
+ chown (SDATA (encoded_file), data.st_uid, data.st_gid);
+
Fdelete_file (file);
}
else
diff --git a/src/frame.c b/src/frame.c
index 62dba4d4d15..6a54e26121f 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -426,7 +426,7 @@ make_frame_without_minibuffer (mini_window, kb, display)
#ifdef MULTI_KBOARD
if (!NILP (mini_window)
&& XFRAME (XWINDOW (mini_window)->frame)->kboard != kb)
- error ("frame and minibuffer must be on the same display");
+ error ("Frame and minibuffer must be on the same display");
#endif
/* Make a frame containing just a root window. */
@@ -3609,7 +3609,7 @@ extern char *x_get_string_resource P_ ((XrmDatabase, char *, char *));
extern Display_Info *check_x_display_info P_ ((Lisp_Object));
-/* Get specified attribute from resource database RDB.
+/* Get specified attribute from resource database RDB.
See Fx_get_resource below for other parameters. */
static Lisp_Object
@@ -3746,7 +3746,7 @@ x_get_resource_string (attribute, class)
Lisp_Object
x_get_arg (dpyinfo, alist, param, attribute, class, type)
- Display_Info *dpyinfo;
+ Display_Info *dpyinfo;
Lisp_Object alist, param;
char *attribute;
char *class;
diff --git a/src/image.c b/src/image.c
index 462294b33b4..b2d0cf4ff50 100644
--- a/src/image.c
+++ b/src/image.c
@@ -5631,7 +5631,6 @@ DEF_IMGLIB_FN (png_create_read_struct);
DEF_IMGLIB_FN (png_create_info_struct);
DEF_IMGLIB_FN (png_destroy_read_struct);
DEF_IMGLIB_FN (png_set_read_fn);
-DEF_IMGLIB_FN (png_init_io);
DEF_IMGLIB_FN (png_set_sig_bytes);
DEF_IMGLIB_FN (png_read_info);
DEF_IMGLIB_FN (png_get_IHDR);
@@ -5663,7 +5662,6 @@ init_png_functions (Lisp_Object libraries)
LOAD_IMGLIB_FN (library, png_create_info_struct);
LOAD_IMGLIB_FN (library, png_destroy_read_struct);
LOAD_IMGLIB_FN (library, png_set_read_fn);
- LOAD_IMGLIB_FN (library, png_init_io);
LOAD_IMGLIB_FN (library, png_set_sig_bytes);
LOAD_IMGLIB_FN (library, png_read_info);
LOAD_IMGLIB_FN (library, png_get_IHDR);
@@ -5689,7 +5687,6 @@ init_png_functions (Lisp_Object libraries)
#define fn_png_create_info_struct png_create_info_struct
#define fn_png_destroy_read_struct png_destroy_read_struct
#define fn_png_set_read_fn png_set_read_fn
-#define fn_png_init_io png_init_io
#define fn_png_set_sig_bytes png_set_sig_bytes
#define fn_png_read_info png_read_info
#define fn_png_get_IHDR png_get_IHDR
@@ -5762,6 +5759,23 @@ png_read_from_memory (png_ptr, data, length)
}
+/* Function set as reader function when reading PNG image from a file.
+ PNG_PTR is a pointer to the PNG control structure. Copy LENGTH
+ bytes from the input to DATA. */
+
+static void
+png_read_from_file (png_ptr, data, length)
+ png_structp png_ptr;
+ png_bytep data;
+ png_size_t length;
+{
+ FILE *fp = (FILE *) fn_png_get_io_ptr (png_ptr);
+
+ if (fread (data, 1, length, fp) < length)
+ fn_png_error (png_ptr, "Read error");
+}
+
+
/* Load PNG image IMG for use on frame F. Value is non-zero if
successful. */
@@ -5895,7 +5909,7 @@ png_load (f, img)
if (!NILP (specified_data))
fn_png_set_read_fn (png_ptr, (void *) &tbr, png_read_from_memory);
else
- fn_png_init_io (png_ptr, fp);
+ fn_png_set_read_fn (png_ptr, (void *) fp, png_read_from_file);
fn_png_set_sig_bytes (png_ptr, sizeof sig);
fn_png_read_info (png_ptr, info_ptr);
diff --git a/src/lread.c b/src/lread.c
index ffc7d87d977..773696ed946 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2846,7 +2846,7 @@ read_vector (readcharfun, bytecodeflag)
if (i == COMPILED_BYTECODE)
{
if (!STRINGP (item))
- error ("invalid byte code");
+ error ("Invalid byte code");
/* Delay handling the bytecode slot until we know whether
it is lazily-loaded (we can tell by whether the
@@ -2868,7 +2868,7 @@ read_vector (readcharfun, bytecodeflag)
item = Fread (bytestr);
if (!CONSP (item))
- error ("invalid byte code");
+ error ("Invalid byte code");
otem = XCONS (item);
bytestr = XCAR (item);
diff --git a/src/macfns.c b/src/macfns.c
index b26baf3eaf7..da1afa13bd8 100644
--- a/src/macfns.c
+++ b/src/macfns.c
@@ -208,7 +208,7 @@ check_x_frame (frame)
CHECK_LIVE_FRAME (frame);
f = XFRAME (frame);
if (! FRAME_MAC_P (f))
- error ("non-mac frame used");
+ error ("Non-Mac frame used");
return f;
}
@@ -4241,7 +4241,7 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
NavTypeListHandle fileTypes = NULL;
NavUserAction userAction;
CFStringRef message=NULL, saveName = NULL;
-
+
BLOCK_INPUT;
/* No need for a callback function because we are modal */
NavGetDefaultDialogCreationOptions(&options);
@@ -4265,8 +4265,8 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
if (!NILP (only_dir_p))
status = NavCreateChooseFolderDialog(&options, mac_nav_event_callbackUPP,
NULL, NULL, &dialogRef);
- else if (NILP (mustmatch))
- {
+ else if (NILP (mustmatch))
+ {
/* This is a save dialog */
options.optionFlags |= kNavDontConfirmReplacement;
options.actionButtonLabel = CFSTR ("Ok");
@@ -4283,7 +4283,7 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
options.saveFileName = saveName;
options.optionFlags |= kNavSelectDefaultLocation;
}
- status = NavCreatePutFileDialog(&options,
+ status = NavCreatePutFileDialog(&options,
'TEXT', kNavGenericSignature,
mac_nav_event_callbackUPP, NULL,
&dialogRef);
@@ -4295,7 +4295,7 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
mac_nav_event_callbackUPP, NULL,
NULL, NULL, &dialogRef);
}
-
+
/* Set the default location and continue*/
if (status == noErr)
{
@@ -4307,7 +4307,7 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
FSSpec defLoc;
status = posix_pathname_to_fsspec (SDATA (ENCODE_FILE (dir)), &defLoc);
#endif
- if (status == noErr)
+ if (status == noErr)
{
#ifdef MAC_OSX
AECreateDesc(typeFSRef, &defLoc, sizeof(FSRef), &defLocAed);
@@ -4359,7 +4359,7 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
int len = strlen(filename);
if (len && filename[len-1] != '/')
filename[len++] = '/';
- CFStringGetCString(reply.saveFileName, filename+len,
+ CFStringGetCString(reply.saveFileName, filename+len,
sizeof (filename) - len,
#if MAC_OSX
kCFStringEncodingUTF8
@@ -4387,11 +4387,11 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
}
UNGCPRO;
-
+
/* Make "Cancel" equivalent to C-g. */
if (NILP (file))
Fsignal (Qquit, Qnil);
-
+
return unbind_to (count, file);
}
diff --git a/src/process.c b/src/process.c
index 46808674a0d..5ef0dd3f5f2 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5835,7 +5835,7 @@ If PROCESS is a network process, inhibit handling of incoming traffic. */)
}
#endif
#ifndef SIGTSTP
- error ("no SIGTSTP support");
+ error ("No SIGTSTP support");
#else
process_send_signal (process, SIGTSTP, current_group, 0);
#endif
@@ -5869,7 +5869,7 @@ If PROCESS is a network process, resume handling of incoming traffic. */)
#ifdef SIGCONT
process_send_signal (process, SIGCONT, current_group, 0);
#else
- error ("no SIGCONT support");
+ error ("No SIGCONT support");
#endif
return process;
}
diff --git a/src/search.c b/src/search.c
index c1f2fd77cec..ae2d3234332 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2296,7 +2296,7 @@ since only regular expressions have distinguished subexpressions. */)
/* but some C compilers blew it */
if (search_regs.num_regs <= 0)
- error ("replace-match called before any match found");
+ error ("`replace-match' called before any match found");
if (NILP (subexp))
sub = 0;
@@ -2758,9 +2758,6 @@ is done.
If optional third arg RESEAT is non-nil, any previous markers on the
REUSE list will be modified to point to nowhere.
-If RESEAT is `evaporate', put markers back on the free list.
-Note: No other references to the markers must exist if you use this.
-
Return value is undefined if the last search failed. */)
(integers, reuse, reseat)
Lisp_Object integers, reuse, reseat;
@@ -2773,10 +2770,7 @@ Return value is undefined if the last search failed. */)
for (tail = reuse; CONSP (tail); tail = XCDR (tail))
if (MARKERP (XCAR (tail)))
{
- if (EQ (reseat, Qevaporate))
- free_marker (XCAR (tail));
- else
- unchain_marker (XMARKER (XCAR (tail)));
+ unchain_marker (XMARKER (XCAR (tail)));
XSETCAR (tail, Qnil);
}
@@ -2851,14 +2845,17 @@ Return value is undefined if the last search failed. */)
return reuse;
}
+/* Internal usage only:
+ If RESEAT is `evaporate', put the markers back on the free list
+ immediately. No other references to the markers must exist in this case,
+ so it is used only internally on the unwind stack and save-match-data from
+ Lisp. */
DEFUN ("set-match-data", Fset_match_data, Sset_match_data, 1, 2, 0,
doc: /* Set internal data on last search match from elements of LIST.
LIST should have been created by calling `match-data' previously.
-If optional arg RESEAT is non-nil, make markers on LIST point nowhere.
-If RESEAT is `evaporate', put the markers back on the free list.
-Note: No other references to the markers must exist if you use this. */)
+If optional arg RESEAT is non-nil, make markers on LIST point nowhere. */)
(list, reseat)
register Lisp_Object list, reseat;
{
@@ -3026,6 +3023,7 @@ static Lisp_Object
unwind_set_match_data (list)
Lisp_Object list;
{
+ /* It is safe to free (evaporate) the markers immediately. */
return Fset_match_data (list, Qevaporate);
}
diff --git a/src/syntax.c b/src/syntax.c
index fa34c2433c1..52067b8f8fa 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -923,7 +923,7 @@ text property. */)
p = SDATA (string);
code = (enum syntaxcode) syntax_spec_code[*p++];
if (((int) code & 0377) == 0377)
- error ("invalid syntax description letter: %c", p[-1]);
+ error ("Invalid syntax description letter: %c", p[-1]);
if (code == Sinherit)
return Qnil;
diff --git a/src/w32fns.c b/src/w32fns.c
index 6a2f98c4c7d..e9af1b8ce2f 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -329,7 +329,7 @@ check_x_frame (frame)
CHECK_LIVE_FRAME (frame);
f = XFRAME (frame);
if (! FRAME_W32_P (f))
- error ("non-w32 frame used");
+ error ("Non-W32 frame used");
return f;
}
@@ -359,7 +359,7 @@ check_x_display_info (frame)
CHECK_LIVE_FRAME (frame);
f = XFRAME (frame);
if (! FRAME_W32_P (f))
- error ("non-w32 frame used");
+ error ("Non-W32 frame used");
return FRAME_W32_DISPLAY_INFO (f);
}
}
@@ -7771,7 +7771,7 @@ typedef struct
DWORD FlagsEx;
} NEWOPENFILENAME;
-
+
DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 5, 0,
doc: /* Read file name, prompting with PROMPT in directory DIR.
Use a file selection dialog.
@@ -7823,7 +7823,7 @@ If ONLY-DIR-P is non-nil, the user can only select directories. */)
NEWOPENFILENAME new_file_details;
BOOL file_opened = FALSE;
OPENFILENAME * file_details = &new_file_details.real_details;
-
+
/* Prevent redisplay. */
specbind (Qinhibit_redisplay, Qt);
BLOCK_INPUT;
diff --git a/src/xdisp.c b/src/xdisp.c
index 6c11440dd1a..e92c3e9b1ce 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -320,7 +320,7 @@ Lisp_Object Vshow_trailing_whitespace;
/* Non-nil means escape non-break space and hyphens. */
-Lisp_Object Vshow_nonbreak_escape;
+Lisp_Object Vnobreak_char_display;
#ifdef HAVE_WINDOW_SYSTEM
extern Lisp_Object Voverflow_newline_into_fringe;
@@ -352,7 +352,7 @@ Lisp_Object Qescape_glyph;
/* Name and number of the face used to highlight non-breaking spaces. */
-Lisp_Object Qno_break_space;
+Lisp_Object Qnobreak_space;
/* The symbol `image' which is the car of the lists used to represent
images in Lisp. */
@@ -5084,7 +5084,7 @@ get_next_display_element (it)
? ((it->c >= 127
&& it->len == 1)
|| !CHAR_PRINTABLE_P (it->c)
- || (!NILP (Vshow_nonbreak_escape)
+ || (!NILP (Vnobreak_char_display)
&& (it->c == 0x8a0 || it->c == 0x8ad
|| it->c == 0x920 || it->c == 0x92d
|| it->c == 0xe20 || it->c == 0xe2d
@@ -5139,12 +5139,12 @@ get_next_display_element (it)
/* Handle non-break space in the mode where it only gets
highlighting. */
- if (EQ (Vshow_nonbreak_escape, Qt)
+ if (EQ (Vnobreak_char_display, Qt)
&& (it->c == 0x8a0 || it->c == 0x920
|| it->c == 0xe20 || it->c == 0xf20))
{
/* Merge the no-break-space face into the current face. */
- face_id = merge_faces (it->f, Qno_break_space, 0,
+ face_id = merge_faces (it->f, Qnobreak_space, 0,
it->face_id);
g = it->c = ' ';
@@ -5183,7 +5183,7 @@ get_next_display_element (it)
/* Handle soft hyphens in the mode where they only get
highlighting. */
- if (! EQ (Vshow_nonbreak_escape, Qt)
+ if (EQ (Vnobreak_char_display, Qt)
&& (it->c == 0x8ad || it->c == 0x92d
|| it->c == 0xe2d || it->c == 0xf2d))
{
@@ -22785,8 +22785,8 @@ syms_of_xdisp ()
staticpro (&Qtrailing_whitespace);
Qescape_glyph = intern ("escape-glyph");
staticpro (&Qescape_glyph);
- Qno_break_space = intern ("no-break-space");
- staticpro (&Qno_break_space);
+ Qnobreak_space = intern ("nobreak-space");
+ staticpro (&Qnobreak_space);
Qimage = intern ("image");
staticpro (&Qimage);
QCmap = intern (":map");
@@ -22892,13 +22892,14 @@ wide as that tab on the display. */);
The face used for trailing whitespace is `trailing-whitespace'. */);
Vshow_trailing_whitespace = Qnil;
- DEFVAR_LISP ("show-nonbreak-escape", &Vshow_nonbreak_escape,
- doc: /* *Control highlighting of non-break space and soft hyphen.
-t means highlight the character itself (for non-break space,
-use face `non-break-space'.
+ DEFVAR_LISP ("nobreak-char-display", &Vnobreak_char_display,
+ doc: /* *Control highlighting of nobreak space and soft hyphen.
+t means highlight the character itself (for nobreak space,
+use face `nobreak-space'.
nil means no highlighting.
-other values mean display the escape glyph before the character. */);
- Vshow_nonbreak_escape = Qt;
+other values mean display the escape glyph followed by an ordinary
+space or ordinary hyphen. */);
+ Vnobreak_char_display = Qt;
DEFVAR_LISP ("void-text-area-pointer", &Vvoid_text_area_pointer,
doc: /* *The pointer shape to show in void text areas.
diff --git a/src/xfaces.c b/src/xfaces.c
index 78dc41116e4..b16b7eae824 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -5929,7 +5929,7 @@ x_supports_face_attributes_p (f, attrs, def_face)
face = FACE_FROM_ID (f, lookup_face (f, merged_attrs, 0, 0));
if (! face)
- error ("cannot make face");
+ error ("Cannot make face");
/* If the font is the same, then not supported. */
if (face->font == def_face->font)
diff --git a/src/xselect.c b/src/xselect.c
index 7a1ceaabbb0..b0bd0bc97c9 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -2136,7 +2136,7 @@ anything that the functions on `selection-converter-alist' know about. */)
{
check_x ();
CHECK_SYMBOL (selection_name);
- if (NILP (selection_value)) error ("selection-value may not be nil");
+ if (NILP (selection_value)) error ("SELECTION-VALUE may not be nil");
x_own_selection (selection_name, selection_value);
return selection_value;
}