aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2017-12-16 12:18:45 -0800
committerGlenn Morris2017-12-16 12:18:45 -0800
commit8e46d93dcdabfa9fb099345fa12378479b4dbe63 (patch)
tree3586203b53367f0bc71460e31caee41a79b84d8f /src
parentda2c441079c74b18399176df3f92613436ef53dc (diff)
parent28e0261890e6335cb49cc03c47c206ce9c022448 (diff)
downloademacs-8e46d93dcdabfa9fb099345fa12378479b4dbe63.tar.gz
emacs-8e46d93dcdabfa9fb099345fa12378479b4dbe63.zip
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. */)
386} 386}
387 387
388DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0, 388DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0,
389 doc: /* Return a list of all existing live buffers. 389 doc: /* Return a list of all live buffers.
390If the optional arg FRAME is a frame, we return the buffer list in the 390If the optional arg FRAME is a frame, return the buffer list in the
391proper order for that frame: the buffers show in FRAME come first, 391proper order for that frame: the buffers shown in FRAME come first,
392followed by the rest of the buffers. */) 392followed by the rest of the buffers. */)
393 (Lisp_Object frame) 393 (Lisp_Object frame)
394{ 394{
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.
1481NEWVAL is the value it will be changed to. 1481NEWVAL is the value it will be changed to.
1482OPERATION is a symbol representing the kind of change, one of: `set', 1482OPERATION is a symbol representing the kind of change, one of: `set',
1483`let', `unlet', `makunbound', and `defvaralias'. 1483`let', `unlet', `makunbound', and `defvaralias'.
1484WHERE is a buffer if the buffer-local value of the variable being 1484WHERE is a buffer if the buffer-local value of the variable is being
1485changed, nil otherwise. 1485changed, nil otherwise.
1486 1486
1487All writes to aliases of SYMBOL will call WATCH-FUNCTION too. */) 1487All 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,
5055 doc: /* Return information about a font named NAME on frame FRAME. 5055 doc: /* Return information about a font named NAME on frame FRAME.
5056If FRAME is omitted or nil, use the selected frame. 5056If FRAME is omitted or nil, use the selected frame.
5057 5057
5058The returned value is a vector: 5058The returned value is a vector of 14 elements:
5059 [ OPENED-NAME FULL-NAME SIZE HEIGHT BASELINE-OFFSET RELATIVE-COMPOSE 5059 [ OPENED-NAME FULL-NAME SIZE HEIGHT BASELINE-OFFSET RELATIVE-COMPOSE
5060 DEFAULT-ASCENT MAX-WIDTH ASCENT DESCENT SPACE-WIDTH AVERAGE-WIDTH 5060 DEFAULT-ASCENT MAX-WIDTH ASCENT DESCENT SPACE-WIDTH AVERAGE-WIDTH
5061 CAPABILITY ] 5061 FILENAME CAPABILITY ]
5062where 5062where
5063 OPENED-NAME is the name used for opening the font, 5063 OPENED-NAME is the name used for opening the font,
5064 FULL-NAME is the full name of the font, 5064 FULL-NAME is the full name of the font,
@@ -5068,12 +5068,12 @@ where
5068 RELATIVE-COMPOSE and DEFAULT-ASCENT are the numbers controlling 5068 RELATIVE-COMPOSE and DEFAULT-ASCENT are the numbers controlling
5069 how to compose characters, 5069 how to compose characters,
5070 MAX-WIDTH is the maximum advance width of the font, 5070 MAX-WIDTH is the maximum advance width of the font,
5071 ASCENT, DESCENT, SPACE-WIDTH, AVERAGE-WIDTH are metrics of the font 5071 ASCENT, DESCENT, SPACE-WIDTH, and AVERAGE-WIDTH are metrics of
5072 in pixels, 5072 the font in pixels,
5073 FILENAME is the font file name, a string (or nil if the font backend 5073 FILENAME is the font file name, a string (or nil if the font backend
5074 doesn't provide a file name). 5074 doesn't provide a file name).
5075 CAPABILITY is a list whose first element is a symbol representing the 5075 CAPABILITY is a list whose first element is a symbol representing the
5076 font format, one of x, opentype, truetype, type1, pcf, or bdf. 5076 font format, one of `x', `opentype', `truetype', `type1', `pcf', or `bdf'.
5077 The remaining elements describe the details of the font capabilities, 5077 The remaining elements describe the details of the font capabilities,
5078 as follows: 5078 as follows:
5079 5079
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)
1608 Lisp_Object f, tail; 1608 Lisp_Object f, tail;
1609 int passed = 0; 1609 int passed = 0;
1610 1610
1611 eassume (CONSP (Vframe_list));
1612
1611 while (passed < 2) 1613 while (passed < 2)
1612 FOR_EACH_FRAME (tail, f) 1614 FOR_EACH_FRAME (tail, f)
1613 { 1615 {
@@ -1630,6 +1632,8 @@ prev_frame (Lisp_Object frame, Lisp_Object minibuf)
1630{ 1632{
1631 Lisp_Object f, tail, prev = Qnil; 1633 Lisp_Object f, tail, prev = Qnil;
1632 1634
1635 eassume (CONSP (Vframe_list));
1636
1633 FOR_EACH_FRAME (tail, f) 1637 FOR_EACH_FRAME (tail, f)
1634 { 1638 {
1635 if (EQ (frame, f) && !NILP (prev)) 1639 if (EQ (frame, f) && !NILP (prev))
@@ -1915,6 +1919,7 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
1915 if (f == sf) 1919 if (f == sf)
1916 { 1920 {
1917 Lisp_Object tail; 1921 Lisp_Object tail;
1922 eassume (CONSP (Vframe_list));
1918 1923
1919 /* Look for another visible frame on the same terminal. 1924 /* Look for another visible frame on the same terminal.
1920 Do not call next_frame here because it may loop forever. 1925 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)
1149/* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a 1149/* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
1150 `for' loop which iterates over the elements of Vframe_list. The 1150 `for' loop which iterates over the elements of Vframe_list. The
1151 loop will set FRAME_VAR, a Lisp_Object, to each frame in 1151 loop will set FRAME_VAR, a Lisp_Object, to each frame in
1152 Vframe_list in succession and execute the statement. Vframe_list 1152 Vframe_list in succession and execute the statement. LIST_VAR
1153 should be nonempty, so the body is executed at least once. LIST_VAR
1154 should be a Lisp_Object too; it is used to iterate through the 1153 should be a Lisp_Object too; it is used to iterate through the
1155 Vframe_list. Note that this macro walks over child frames and 1154 Vframe_list. Note that this macro walks over child frames and
1156 the tooltip frame as well. 1155 the tooltip frame as well.
@@ -1160,7 +1159,7 @@ default_pixels_per_inch_y (void)
1160 something which executes the statement once. */ 1159 something which executes the statement once. */
1161 1160
1162#define FOR_EACH_FRAME(list_var, frame_var) \ 1161#define FOR_EACH_FRAME(list_var, frame_var) \
1163 for ((list_var) = (eassume (CONSP (Vframe_list)), Vframe_list); \ 1162 for ((list_var) = Vframe_list; \
1164 (CONSP (list_var) \ 1163 (CONSP (list_var) \
1165 && (frame_var = XCAR (list_var), true)); \ 1164 && (frame_var = XCAR (list_var), true)); \
1166 list_var = XCDR (list_var)) 1165 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)
25087} 25087}
25088 25088
25089DEFUN ("invisible-p", Finvisible_p, Sinvisible_p, 1, 1, 0, 25089DEFUN ("invisible-p", Finvisible_p, Sinvisible_p, 1, 1, 0,
25090 doc: /* Non-nil if the property makes the text invisible. 25090 doc: /* Non-nil if text properties at POS cause text there to be currently invisible.
25091POS-OR-PROP can be a marker or number, in which case it is taken to be 25091POS should be a marker or a buffer position; the value of the `invisible'
25092a position in the current buffer and the value of the `invisible' property 25092property at that position in the current buffer is examined.
25093is checked; or it can be some other value, which is then presumed to be the 25093POS can also be the actual value of the `invisible' text or overlay
25094value of the `invisible' property of the text of interest. 25094property of the text of interest, in which case the value itself is
25095The non-nil value returned can be t for truly invisible text or something 25095examined.
25096else if the text is replaced by an ellipsis. */) 25096
25097 (Lisp_Object pos_or_prop) 25097The non-nil value returned can be t for currently invisible text that is
25098entirely hidden on display, or some other non-nil, non-t value if the
25099text is replaced by an ellipsis.
25100
25101Note that whether text with `invisible' property is actually hidden on
25102display may depend on `buffer-invisibility-spec', which see. */)
25103 (Lisp_Object pos)
25098{ 25104{
25099 Lisp_Object prop 25105 Lisp_Object prop
25100 = (NATNUMP (pos_or_prop) || MARKERP (pos_or_prop) 25106 = (NATNUMP (pos) || MARKERP (pos)
25101 ? Fget_char_property (pos_or_prop, Qinvisible, Qnil) 25107 ? Fget_char_property (pos, Qinvisible, Qnil)
25102 : pos_or_prop); 25108 : pos);
25103 int invis = TEXT_PROP_MEANS_INVISIBLE (prop); 25109 int invis = TEXT_PROP_MEANS_INVISIBLE (prop);
25104 return (invis == 0 ? Qnil 25110 return (invis == 0 ? Qnil
25105 : invis == 1 ? Qt 25111 : invis == 1 ? Qt