summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2016-09-26 13:37:36 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2016-09-26 13:37:36 -0700
commitfa9d9041aa05263b5331e32f99f7e3d5a1f16696 (patch)
treec04ce068cefba3b22d9eeacdaf434d808cd92c6f
parent4dad9675c58ea82f6d2f8ec8dfa10d67d754d1d1 (diff)
parent0ae9a816b9f68bd3f50fc287a342237c8b4fe78d (diff)
downloademacs-fa9d9041aa05263b5331e32f99f7e3d5a1f16696.tar.gz
Merge from origin/emacs-25
0ae9a81 Document 'timerp' 2c72c46 Improve documentation of overlay priorities f6fa160 Fix 'dired-compress-files' 2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR # Conflicts: # lisp/dired.el # src/buffer.h # src/character.h
-rw-r--r--doc/lispref/display.texi23
-rw-r--r--doc/lispref/os.texi11
-rw-r--r--lisp/dired-aux.el8
-rw-r--r--src/buffer.h2
-rw-r--r--src/character.h2
5 files changed, 30 insertions, 16 deletions
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 93b84a0f205..381edbac48a 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -1553,10 +1553,8 @@ the buffer's undo list.
Since more than one overlay can specify a property value for the
same character, Emacs lets you specify a priority value of each
-overlay. In case two overlays have the same priority value, and one
-is nested in the other, then the inner one will have priority over the
-outer one. If neither is nested in the other then you should not make
-assumptions about which overlay will prevail.
+overlay. The priority value is used to decide which of the
+overlapping overlays will ``win''.
These functions read and set the properties of an overlay:
@@ -1593,17 +1591,26 @@ If you want to specify a priority value, use either @code{nil}
The priority matters when two or more overlays cover the same
character and both specify the same property; the one whose
-@code{priority} value is larger overrides the other. For the
+@code{priority} value is larger overrides the other. (For the
@code{face} property, the higher priority overlay's value does not
completely override the other value; instead, its face attributes
override the face attributes of the lower priority @code{face}
-property.
+property.) If two overlays have the same priority value, and one is
+nested in the other, then the inner one will prevail over the outer
+one. If neither is nested in the other then you should not make
+assumptions about which overlay will prevail.
Currently, all overlays take priority over text properties.
Note that Emacs sometimes uses non-numeric priority values for some of
-its internal overlays, so do not try to do arithmetic on the
-priority of an overlay (unless it is one that you created). If you
+its internal overlays, so do not try to do arithmetic on the priority
+of an overlay (unless it is one that you created). In particular, the
+overlay used for showing the region uses a priority value of the form
+@w{@code{(@var{primary} . @var{secondary})}}, where the @var{primary}
+value is used as described above, and @var{secondary} is the fallback
+value used when @var{primary} and the nesting considerations fail to
+resolve the precedence between overlays. However, you are advised not
+to design Lisp programs based on this implementation detail; if you
need to put overlays in priority order, use the @var{sorted} argument
of @code{overlays-at}. @xref{Finding Overlays}.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 08c69d37c5e..277abb1477d 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1726,10 +1726,17 @@ This function returns @code{t} if @var{year} is a leap year.
@node Timers
@section Timers for Delayed Execution
-@cindex timer
+@cindex timers
You can set up a @dfn{timer} to call a function at a specified
-future time or after a certain length of idleness.
+future time or after a certain length of idleness. A timer is a
+special object that stores the information about the next invocation
+times and the function to invoke.
+
+@defun timerp object
+This predicate function returns non-@code{nil} of @code{object} is a
+timer.
+@end defun
Emacs cannot run timers at any arbitrary point in a Lisp program; it
can run them only when Emacs could accept output from a subprocess:
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index 9e0943ac7f0..d25352ec5bc 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -990,12 +990,12 @@ output file. %i path(s) are relative, while %o is absolute.")
;;;###autoload
(defun dired-do-compress-to ()
"Compress selected files and directories to an archive.
-You are prompted for the archive name.
-The archiving command is chosen based on the archive name extension and
-`dired-compress-files-alist'."
+Prompt for the archive file name.
+Choose the archiving command based on the archive file-name extension
+and `dired-compress-files-alist'."
(interactive)
(let* ((in-files (dired-get-marked-files))
- (out-file (read-file-name "Compress to: "))
+ (out-file (expand-file-name (read-file-name "Compress to: ")))
(rule (cl-find-if
(lambda (x)
(string-match (car x) out-file))
diff --git a/src/buffer.h b/src/buffer.h
index fa4866e8f72..6ac161c1c91 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -1182,7 +1182,7 @@ buffer_has_overlays (void)
/* Return character code of multi-byte form at byte position POS. If POS
doesn't point the head of valid multi-byte form, only the byte at
- POS is returned. No range checking. */
+ POS is returned. No range checking. */
INLINE int
FETCH_MULTIBYTE_CHAR (ptrdiff_t pos)
diff --git a/src/character.h b/src/character.h
index b72b61d7054..fc8a0dd74d2 100644
--- a/src/character.h
+++ b/src/character.h
@@ -308,7 +308,7 @@ enum
} \
} while (false)
-/* Return the character code of character whose multibyte form is at P. */
+/* Return the character code of character whose multibyte form is at P. */
#define STRING_CHAR(p) \
(!((p)[0] & 0x80) \