summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2017-12-16 12:18:45 -0800
committerGlenn Morris <rgm@gnu.org>2017-12-16 12:18:45 -0800
commit8e46d93dcdabfa9fb099345fa12378479b4dbe63 (patch)
tree3586203b53367f0bc71460e31caee41a79b84d8f /src
parentda2c441079c74b18399176df3f92613436ef53dc (diff)
parent28e0261890e6335cb49cc03c47c206ce9c022448 (diff)
Merge from origin/emacs-26
28e0261890 * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1. ac53084f9b Improve fix for Bug#29712 ffd4771560 * doc/lispref/sequences.texi (Sequence Functions): Improve... f274cbd185 Avoid reordering of output in 'shr-insert-document' 7890864413 Improve documentation of 'invisible-p' a1327bbc64 Remove one more check that Vframe_list is non-nil 63b6281fdd Fix off-by-one error in 'css--hex-color' 804b37ca63 Save and restore text-pixel height and width of frames (Bu... 777fe94661 Partially revert "Mention new strictness for &optional, &r... ad17db7964 * lisp/vc/smerge-mode.el (smerge-refine): Respect font-loc... 5a7d0095a4 * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete... e019c35df6 FOR_EACH_FRAME no longer assumes frame-list d64b88da2f * src/font.c (Ffont_info): Doc fix. (Bug#29682) 92b2604a7f Modernise message.el face spec syntax b1efbe6564 Update message.el obsolete face aliases 2494c14e76 ; * lisp/comint.el (comint-terminfo-terminal): Add a :vers... 12ad276d15 Improve documentation of TERM environment variable 8ed529f0f3 Add option to configure comint TERM 889f07c352 Better support utf-8-with-signature and utf-8-hfs in XML/HTML a2697fac0e * lisp/menu-bar.el (menu-bar-mode): Doc fix. ffb50eace6 ; * etc/NEWS: Fix last change. 95606af8b0 Fix Bug#29712 in tramp-tests.el 9bf66c6bee Don't run FOR_EACH_FRAME when there's no frame left (Bug#2... c2a88ec8e8 * lisp/textmodes/tex-mode.el: Ensure uncompiled file is lo... b178870528 Remember password change for IMAP in Gnus (Bug#29692) a21dac18bb Add %DUMBFW to the default GnuTLS priority strings 780407cff1 Small fixes prompted by make check-declare 541a60108d Fix some custom groups e220d6e112 Fix fontification of first declaration within a C++ lambda... aa66da220c * src/data.c (Fadd_variable_watcher): Doc fix. f838210b01 Fix misfontification of C++ member initialization list aft... 232c6465ce Fix doc-string of Fbuffer_list 3f9aac68d7 Don't raise an extraneous frame (bug#29696) e7b1111155 Mention new strictness for &optional, &rest in arglists (B... 4cb8696e47 Don't misfontify "foo ()" inside C++ initialization parent... ce31e726ad Fixes for defcustoms, prompted by cus-test-opts aacd1e14fc * lisp/net/newst-backend.el (newsticker--raw-url-list-defa... 7e2f4d3d41 * lisp/htmlfontify.el (hfy-which-etags): Fix it. 52d2a690f6 Add missing :version tags revealed by cusver-check f5d0360234 Escape column-zero doc parens # Conflicts: # etc/NEWS
Diffstat (limited to 'src')
-rw-r--r--src/buffer.c6
-rw-r--r--src/data.c2
-rw-r--r--src/font.c10
-rw-r--r--src/frame.c5
-rw-r--r--src/frame.h5
-rw-r--r--src/xdisp.c28
6 files changed, 33 insertions, 23 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 12a467daae4..75cb470af8d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -386,9 +386,9 @@ Value is nil if OBJECT is not a buffer or if it has been killed. */)
}
DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0,
- doc: /* Return a list of all existing live buffers.
-If the optional arg FRAME is a frame, we return the buffer list in the
-proper order for that frame: the buffers show in FRAME come first,
+ doc: /* Return a list of all live buffers.
+If the optional arg FRAME is a frame, return the buffer list in the
+proper order for that frame: the buffers shown in FRAME come first,
followed by the rest of the buffers. */)
(Lisp_Object frame)
{
diff --git a/src/data.c b/src/data.c
index 3c9152049b7..b94c899a3d8 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1481,7 +1481,7 @@ SYMBOL is the variable being changed.
NEWVAL is the value it will be changed to.
OPERATION is a symbol representing the kind of change, one of: `set',
`let', `unlet', `makunbound', and `defvaralias'.
-WHERE is a buffer if the buffer-local value of the variable being
+WHERE is a buffer if the buffer-local value of the variable is being
changed, nil otherwise.
All writes to aliases of SYMBOL will call WATCH-FUNCTION too. */)
diff --git a/src/font.c b/src/font.c
index 441652b0951..69efd7d56d2 100644
--- a/src/font.c
+++ b/src/font.c
@@ -5055,10 +5055,10 @@ DEFUN ("font-info", Ffont_info, Sfont_info, 1, 2, 0,
doc: /* Return information about a font named NAME on frame FRAME.
If FRAME is omitted or nil, use the selected frame.
-The returned value is a vector:
+The returned value is a vector of 14 elements:
[ OPENED-NAME FULL-NAME SIZE HEIGHT BASELINE-OFFSET RELATIVE-COMPOSE
DEFAULT-ASCENT MAX-WIDTH ASCENT DESCENT SPACE-WIDTH AVERAGE-WIDTH
- CAPABILITY ]
+ FILENAME CAPABILITY ]
where
OPENED-NAME is the name used for opening the font,
FULL-NAME is the full name of the font,
@@ -5068,12 +5068,12 @@ where
RELATIVE-COMPOSE and DEFAULT-ASCENT are the numbers controlling
how to compose characters,
MAX-WIDTH is the maximum advance width of the font,
- ASCENT, DESCENT, SPACE-WIDTH, AVERAGE-WIDTH are metrics of the font
- in pixels,
+ ASCENT, DESCENT, SPACE-WIDTH, and AVERAGE-WIDTH are metrics of
+ the font in pixels,
FILENAME is the font file name, a string (or nil if the font backend
doesn't provide a file name).
CAPABILITY is a list whose first element is a symbol representing the
- font format, one of x, opentype, truetype, type1, pcf, or bdf.
+ font format, one of `x', `opentype', `truetype', `type1', `pcf', or `bdf'.
The remaining elements describe the details of the font capabilities,
as follows:
diff --git a/src/frame.c b/src/frame.c
index 94ec9fbdc7d..09c0e79bdef 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1608,6 +1608,8 @@ next_frame (Lisp_Object frame, Lisp_Object minibuf)
Lisp_Object f, tail;
int passed = 0;
+ eassume (CONSP (Vframe_list));
+
while (passed < 2)
FOR_EACH_FRAME (tail, f)
{
@@ -1630,6 +1632,8 @@ prev_frame (Lisp_Object frame, Lisp_Object minibuf)
{
Lisp_Object f, tail, prev = Qnil;
+ eassume (CONSP (Vframe_list));
+
FOR_EACH_FRAME (tail, f)
{
if (EQ (frame, f) && !NILP (prev))
@@ -1915,6 +1919,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
if (f == sf)
{
Lisp_Object tail;
+ eassume (CONSP (Vframe_list));
/* Look for another visible frame on the same terminal.
Do not call next_frame here because it may loop forever.
diff --git a/src/frame.h b/src/frame.h
index a3b77636435..a5d4e4fc88b 100644
--- a/src/frame.h
+++ b/src/frame.h
@@ -1149,8 +1149,7 @@ default_pixels_per_inch_y (void)
/* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
`for' loop which iterates over the elements of Vframe_list. The
loop will set FRAME_VAR, a Lisp_Object, to each frame in
- Vframe_list in succession and execute the statement. Vframe_list
- should be nonempty, so the body is executed at least once. LIST_VAR
+ Vframe_list in succession and execute the statement. LIST_VAR
should be a Lisp_Object too; it is used to iterate through the
Vframe_list. Note that this macro walks over child frames and
the tooltip frame as well.
@@ -1160,7 +1159,7 @@ default_pixels_per_inch_y (void)
something which executes the statement once. */
#define FOR_EACH_FRAME(list_var, frame_var) \
- for ((list_var) = (eassume (CONSP (Vframe_list)), Vframe_list); \
+ for ((list_var) = Vframe_list; \
(CONSP (list_var) \
&& (frame_var = XCAR (list_var), true)); \
list_var = XCDR (list_var))
diff --git a/src/xdisp.c b/src/xdisp.c
index 3791d982b28..efc47b39e60 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -25087,19 +25087,25 @@ invisible_prop (Lisp_Object propval, Lisp_Object list)
}
DEFUN ("invisible-p", Finvisible_p, Sinvisible_p, 1, 1, 0,
- doc: /* Non-nil if the property makes the text invisible.
-POS-OR-PROP can be a marker or number, in which case it is taken to be
-a position in the current buffer and the value of the `invisible' property
-is checked; or it can be some other value, which is then presumed to be the
-value of the `invisible' property of the text of interest.
-The non-nil value returned can be t for truly invisible text or something
-else if the text is replaced by an ellipsis. */)
- (Lisp_Object pos_or_prop)
+ doc: /* Non-nil if text properties at POS cause text there to be currently invisible.
+POS should be a marker or a buffer position; the value of the `invisible'
+property at that position in the current buffer is examined.
+POS can also be the actual value of the `invisible' text or overlay
+property of the text of interest, in which case the value itself is
+examined.
+
+The non-nil value returned can be t for currently invisible text that is
+entirely hidden on display, or some other non-nil, non-t value if the
+text is replaced by an ellipsis.
+
+Note that whether text with `invisible' property is actually hidden on
+display may depend on `buffer-invisibility-spec', which see. */)
+ (Lisp_Object pos)
{
Lisp_Object prop
- = (NATNUMP (pos_or_prop) || MARKERP (pos_or_prop)
- ? Fget_char_property (pos_or_prop, Qinvisible, Qnil)
- : pos_or_prop);
+ = (NATNUMP (pos) || MARKERP (pos)
+ ? Fget_char_property (pos, Qinvisible, Qnil)
+ : pos);
int invis = TEXT_PROP_MEANS_INVISIBLE (prop);
return (invis == 0 ? Qnil
: invis == 1 ? Qt