aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorGlenn Morris2017-12-16 12:18:45 -0800
committerGlenn Morris2017-12-16 12:18:45 -0800
commit8e46d93dcdabfa9fb099345fa12378479b4dbe63 (patch)
tree3586203b53367f0bc71460e31caee41a79b84d8f /lisp/progmodes
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 'lisp/progmodes')
-rw-r--r--lisp/progmodes/cc-defs.el2
-rw-r--r--lisp/progmodes/cc-engine.el42
-rw-r--r--lisp/progmodes/cc-fonts.el14
-rw-r--r--lisp/progmodes/cc-langs.el38
-rw-r--r--lisp/progmodes/cc-vars.el7
-rw-r--r--lisp/progmodes/compile.el8
-rw-r--r--lisp/progmodes/flymake.el2
-rw-r--r--lisp/progmodes/grep.el1
-rw-r--r--lisp/progmodes/js.el1
-rw-r--r--lisp/progmodes/perl-mode.el1
-rw-r--r--lisp/progmodes/python.el3
-rw-r--r--lisp/progmodes/ruby-mode.el2
-rw-r--r--lisp/progmodes/verilog-mode.el8
13 files changed, 97 insertions, 32 deletions
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index bff1c9eb65d..973d97c2560 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -87,7 +87,7 @@
87 87
88;;; Variables also used at compile time. 88;;; Variables also used at compile time.
89 89
90(defconst c-version "5.33" 90(defconst c-version "5.33.1"
91 "CC Mode version number.") 91 "CC Mode version number.")
92 92
93(defconst c-version-sym (intern c-version)) 93(defconst c-version-sym (intern c-version))
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index ab0204cb961..12ec8f74fea 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -7572,8 +7572,8 @@ comment at the start of cc-engine.el for more info."
7572 7572
7573 ;; Skip leading type modifiers. If any are found we know it's a 7573 ;; Skip leading type modifiers. If any are found we know it's a
7574 ;; prefix of a type. 7574 ;; prefix of a type.
7575 (when c-opt-type-modifier-key ; e.g. "const" "volatile", but NOT "typedef" 7575 (when c-opt-type-modifier-prefix-key ; e.g. "const" "volatile", but NOT "typedef"
7576 (while (looking-at c-opt-type-modifier-key) 7576 (while (looking-at c-opt-type-modifier-prefix-key)
7577 (goto-char (match-end 1)) 7577 (goto-char (match-end 1))
7578 (c-forward-syntactic-ws) 7578 (c-forward-syntactic-ws)
7579 (setq res 'prefix))) 7579 (setq res 'prefix)))
@@ -8167,9 +8167,9 @@ comment at the start of cc-engine.el for more info."
8167 ;; If a declaration is parsed: 8167 ;; If a declaration is parsed:
8168 ;; 8168 ;;
8169 ;; The point is left at the first token after the first complete 8169 ;; The point is left at the first token after the first complete
8170 ;; declarator, if there is one. The return value is a list of 4 elements, 8170 ;; declarator, if there is one. The return value is a list of 5 elements,
8171 ;; where the first is the position of the first token in the declarator. 8171 ;; where the first is the position of the first token in the declarator.
8172 ;; (See below for the other three.) 8172 ;; (See below for the other four.)
8173 ;; Some examples: 8173 ;; Some examples:
8174 ;; 8174 ;;
8175 ;; void foo (int a, char *b) stuff ... 8175 ;; void foo (int a, char *b) stuff ...
@@ -8210,7 +8210,9 @@ comment at the start of cc-engine.el for more info."
8210 ;; 8210 ;;
8211 ;; The third element of the return value is non-nil when the declaration 8211 ;; The third element of the return value is non-nil when the declaration
8212 ;; parsed might be an expression. The fourth element is the position of 8212 ;; parsed might be an expression. The fourth element is the position of
8213 ;; the start of the type identifier. 8213 ;; the start of the type identifier. The fifth element is t if either
8214 ;; CONTEXT was 'top, or the declaration is detected to be treated as top
8215 ;; level (e.g. with the keyword "extern").
8214 ;; 8216 ;;
8215 ;; If a cast is parsed: 8217 ;; If a cast is parsed:
8216 ;; 8218 ;;
@@ -8308,6 +8310,9 @@ comment at the start of cc-engine.el for more info."
8308 ;; Set when the symbol before `preceding-token-end' is known to 8310 ;; Set when the symbol before `preceding-token-end' is known to
8309 ;; terminate the previous construct, or when we're at point-min. 8311 ;; terminate the previous construct, or when we're at point-min.
8310 at-decl-start 8312 at-decl-start
8313 ;; Set when we have encountered a keyword (e.g. "extern") which
8314 ;; causes the following declaration to be treated as though top-level.
8315 make-top
8311 ;; Save `c-record-type-identifiers' and 8316 ;; Save `c-record-type-identifiers' and
8312 ;; `c-record-ref-identifiers' since ranges are recorded 8317 ;; `c-record-ref-identifiers' since ranges are recorded
8313 ;; speculatively and should be thrown away if it turns out 8318 ;; speculatively and should be thrown away if it turns out
@@ -8339,7 +8344,9 @@ comment at the start of cc-engine.el for more info."
8339 8344
8340 (cond 8345 (cond
8341 ;; Look for a specifier keyword clause. 8346 ;; Look for a specifier keyword clause.
8342 ((or (looking-at c-prefix-spec-kwds-re) 8347 ((or (and (looking-at c-make-top-level-key)
8348 (setq make-top t))
8349 (looking-at c-prefix-spec-kwds-re)
8343 (and (c-major-mode-is 'java-mode) 8350 (and (c-major-mode-is 'java-mode)
8344 (looking-at "@[A-Za-z0-9]+"))) 8351 (looking-at "@[A-Za-z0-9]+")))
8345 (save-match-data 8352 (save-match-data
@@ -8609,7 +8616,7 @@ comment at the start of cc-engine.el for more info."
8609 ;; construct here in C, since we want to recognize this as a 8616 ;; construct here in C, since we want to recognize this as a
8610 ;; typeless function declaration. 8617 ;; typeless function declaration.
8611 (not (and (c-major-mode-is 'c-mode) 8618 (not (and (c-major-mode-is 'c-mode)
8612 (eq context 'top) 8619 (or (eq context 'top) make-top)
8613 (eq (char-after) ?\))))) 8620 (eq (char-after) ?\)))))
8614 (if (eq (char-after) ?\)) 8621 (if (eq (char-after) ?\))
8615 (when (> paren-depth 0) 8622 (when (> paren-depth 0)
@@ -8657,7 +8664,7 @@ comment at the start of cc-engine.el for more info."
8657 ;; Recognize a top-level typeless 8664 ;; Recognize a top-level typeless
8658 ;; function declaration in C. 8665 ;; function declaration in C.
8659 (and (c-major-mode-is 'c-mode) 8666 (and (c-major-mode-is 'c-mode)
8660 (eq context 'top) 8667 (or (eq context 'top) make-top)
8661 (eq (char-after) ?\)))))))) 8668 (eq (char-after) ?\))))))))
8662 (setq pos (c-up-list-forward (point))) 8669 (setq pos (c-up-list-forward (point)))
8663 (eq (char-before pos) ?\))) 8670 (eq (char-before pos) ?\)))
@@ -8914,6 +8921,7 @@ comment at the start of cc-engine.el for more info."
8914 (when (and got-identifier 8921 (when (and got-identifier
8915 (looking-at c-after-suffixed-type-decl-key) 8922 (looking-at c-after-suffixed-type-decl-key)
8916 (or (eq context 'top) 8923 (or (eq context 'top)
8924 make-top
8917 (and (eq context nil) 8925 (and (eq context nil)
8918 (match-beginning 1))) 8926 (match-beginning 1)))
8919 (if (and got-parens 8927 (if (and got-parens
@@ -9080,7 +9088,7 @@ comment at the start of cc-engine.el for more info."
9080 ;; CASE 19 9088 ;; CASE 19
9081 (or (eq context 'decl) 9089 (or (eq context 'decl)
9082 (and (c-major-mode-is 'c-mode) 9090 (and (c-major-mode-is 'c-mode)
9083 (eq context 'top)))))) 9091 (or (eq context 'top) make-top))))))
9084 9092
9085 ;; The point is now after the type decl expression. 9093 ;; The point is now after the type decl expression.
9086 9094
@@ -9185,7 +9193,8 @@ comment at the start of cc-engine.el for more info."
9185 (and (or at-type-decl at-typedef) 9193 (and (or at-type-decl at-typedef)
9186 (cons at-type-decl at-typedef)) 9194 (cons at-type-decl at-typedef))
9187 maybe-expression 9195 maybe-expression
9188 type-start)) 9196 type-start
9197 (or (eq context 'top) make-top)))
9189 9198
9190 (t 9199 (t
9191 ;; False alarm. Restore the recorded ranges. 9200 ;; False alarm. Restore the recorded ranges.
@@ -10431,7 +10440,7 @@ comment at the start of cc-engine.el for more info."
10431 c-decl-block-key)) 10440 c-decl-block-key))
10432 (braceassignp 'dontknow) 10441 (braceassignp 'dontknow)
10433 inexpr-brace-list bufpos macro-start res pos after-type-id-pos 10442 inexpr-brace-list bufpos macro-start res pos after-type-id-pos
10434 in-paren) 10443 in-paren parens-before-brace)
10435 10444
10436 (setq res (c-backward-token-2 1 t lim)) 10445 (setq res (c-backward-token-2 1 t lim))
10437 ;; Checks to do only on the first sexp before the brace. 10446 ;; Checks to do only on the first sexp before the brace.
@@ -10449,6 +10458,9 @@ comment at the start of cc-engine.el for more info."
10449 ((and (looking-at c-symbol-start) 10458 ((and (looking-at c-symbol-start)
10450 (not (looking-at c-keywords-regexp))) 10459 (not (looking-at c-keywords-regexp)))
10451 (setq after-type-id-pos (point))) 10460 (setq after-type-id-pos (point)))
10461 ((eq (char-after) ?\()
10462 (setq parens-before-brace t)
10463 nil)
10452 (t nil)) 10464 (t nil))
10453 (save-excursion 10465 (save-excursion
10454 (cond 10466 (cond
@@ -10497,6 +10509,14 @@ comment at the start of cc-engine.el for more info."
10497 ;; Single identifier between '(' and '{'. We have a bracelist. 10509 ;; Single identifier between '(' and '{'. We have a bracelist.
10498 (cons after-type-id-pos 'in-paren)) 10510 (cons after-type-id-pos 'in-paren))
10499 10511
10512 ;; Are we at the parens of a C++ lambda expression?
10513 ((and parens-before-brace
10514 (save-excursion
10515 (and
10516 (zerop (c-backward-token-2 1 t lim))
10517 (c-looking-at-c++-lambda-capture-list))))
10518 nil) ; a lambda expression isn't a brace list.
10519
10500 (t 10520 (t
10501 (goto-char pos) 10521 (goto-char pos)
10502 ;; Checks to do on all sexps before the brace, up to the 10522 ;; Checks to do on all sexps before the brace, up to the
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index d352e5b08c9..7b99c2f54e5 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -1251,6 +1251,17 @@ casts and declarations are fontified. Used on level 2 and higher."
1251 ;; Got a cached hit in some other type of arglist. 1251 ;; Got a cached hit in some other type of arglist.
1252 (type 1252 (type
1253 (cons 'arglist t)) 1253 (cons 'arglist t))
1254 ;; We're at a C++ uniform initialization.
1255 ((and (c-major-mode-is 'c++-mode)
1256 (eq (char-before match-pos) ?\()
1257 (save-excursion
1258 (goto-char match-pos)
1259 (and
1260 (zerop (c-backward-token-2 2))
1261 (looking-at c-identifier-start)
1262 (c-got-face-at (point)
1263 '(font-lock-variable-name-face)))))
1264 (cons 'not-decl nil))
1254 ((and not-front-decl 1265 ((and not-front-decl
1255 ;; The point is within the range of a previously 1266 ;; The point is within the range of a previously
1256 ;; encountered type decl expression, so the arglist 1267 ;; encountered type decl expression, so the arglist
@@ -1589,7 +1600,8 @@ casts and declarations are fontified. Used on level 2 and higher."
1589 (setq max-type-decl-end (point)))) 1600 (setq max-type-decl-end (point))))
1590 (goto-char start-pos) 1601 (goto-char start-pos)
1591 (c-font-lock-single-decl limit decl-or-cast match-pos 1602 (c-font-lock-single-decl limit decl-or-cast match-pos
1592 context toplev)) 1603 context
1604 (or toplev (nth 4 decl-or-cast))))
1593 1605
1594 (t t)))) 1606 (t t))))
1595 1607
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 227b3e16485..169b61c3dd3 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -1925,16 +1925,32 @@ on one of the `*-decl-kwds' lists."
1925 t (c-make-keywords-re t (c-lang-const c-type-prefix-kwds))) 1925 t (c-make-keywords-re t (c-lang-const c-type-prefix-kwds)))
1926(c-lang-defvar c-type-prefix-key (c-lang-const c-type-prefix-key)) 1926(c-lang-defvar c-type-prefix-key (c-lang-const c-type-prefix-key))
1927 1927
1928(c-lang-defconst c-type-modifier-kwds 1928(c-lang-defconst c-type-modifier-prefix-kwds
1929 "Type modifier keywords. These can occur almost anywhere in types 1929 "Type modifier keywords which can appear in front of a type. These can
1930but they don't build a type of themselves. Unlike the keywords on 1930also occur almost anywhere in types but they don't build a type of
1931`c-primitive-type-kwds', they are fontified with the keyword face and 1931themselves. Unlike the keywords on `c-primitive-type-kwds', they are
1932not the type face." 1932fontified with the keyword face and not the type face."
1933 t nil 1933 t nil
1934 c '("const" "restrict" "volatile") 1934 c '("const" "restrict" "volatile")
1935 c++ '("const" "noexcept" "volatile" "throw") 1935 c++ '("const" "noexcept" "volatile")
1936 objc '("const" "volatile")) 1936 objc '("const" "volatile"))
1937 1937
1938(c-lang-defconst c-opt-type-modifier-prefix-key
1939 ;; Adorned regexp matching `c-type-modifier-prefix-kwds', or nil in
1940 ;; languages without such keywords.
1941 t (and (c-lang-const c-type-modifier-prefix-kwds)
1942 (c-make-keywords-re t (c-lang-const c-type-modifier-prefix-kwds))))
1943(c-lang-defvar c-opt-type-modifier-prefix-key
1944 (c-lang-const c-opt-type-modifier-prefix-key))
1945
1946(c-lang-defconst c-type-modifier-kwds
1947 "Type modifier keywords. These can occur almost anywhere in types except
1948at the start, but they don't build a type of themselves. Unlike the keywords
1949on `c-primitive-type-kwds', they are fontified with the keyword face and not
1950the type face."
1951 t (c-lang-const c-type-modifier-prefix-kwds)
1952 c++ (append (c-lang-const c-type-modifier-prefix-kwds) '("throw")))
1953
1938(c-lang-defconst c-opt-type-modifier-key 1954(c-lang-defconst c-opt-type-modifier-key
1939 ;; Adorned regexp matching `c-type-modifier-kwds', or nil in 1955 ;; Adorned regexp matching `c-type-modifier-kwds', or nil in
1940 ;; languages without such keywords. 1956 ;; languages without such keywords.
@@ -2355,6 +2371,16 @@ construct it's part of continues."
2355 t nil 2371 t nil
2356 (c c++ objc) '("extern")) 2372 (c c++ objc) '("extern"))
2357 2373
2374(c-lang-defconst c-make-top-level-kwds
2375 "Keywords which make declarations they introduce be handled as top-level."
2376 t nil
2377 (c c++ objc) '("extern"))
2378
2379(c-lang-defconst c-make-top-level-key
2380 ;; A regexp which matches any `c-make-top-level-kwds' keyword.
2381 t (c-make-keywords-re t (c-lang-const c-make-top-level-kwds)))
2382(c-lang-defvar c-make-top-level-key (c-lang-const c-make-top-level-key))
2383
2358(c-lang-defconst c-type-list-kwds 2384(c-lang-defconst c-type-list-kwds
2359 "Keywords that may be followed by a comma separated list of type 2385 "Keywords that may be followed by a comma separated list of type
2360identifiers, where each optionally can be prefixed by keywords. (Can 2386identifiers, where each optionally can be prefixed by keywords. (Can
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index c4213797636..f7bfe7c672a 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -1641,8 +1641,9 @@ In the fontification engine, it is sometimes impossible to determine
1641whether a construct is a declaration or an expression. This happens 1641whether a construct is a declaration or an expression. This happens
1642particularly in C++, due to ambiguities in the language. When such a 1642particularly in C++, due to ambiguities in the language. When such a
1643construct is like \"foo * bar\" or \"foo &bar\", and this variable is non-nil 1643construct is like \"foo * bar\" or \"foo &bar\", and this variable is non-nil
1644(the default), the construct will be fontified as a declaration if there is 1644\(the default), the construct will be fontified as a declaration if there is
1645white space either before or after the operator, but not both." 1645white space either before or after the operator, but not both."
1646 :version "26.1"
1646 :type 'boolean 1647 :type 'boolean
1647 :group 'c) 1648 :group 'c)
1648 1649
@@ -1658,6 +1659,7 @@ identifiers.
1658If you change this variable's value, call the function 1659If you change this variable's value, call the function
1659`c-make-noise-macro-regexps' to set the necessary internal variables (or do 1660`c-make-noise-macro-regexps' to set the necessary internal variables (or do
1660this implicitly by reinitializing C/C++/Objc Mode on any buffer)." 1661this implicitly by reinitializing C/C++/Objc Mode on any buffer)."
1662 :version "26.1"
1661 :type '(repeat :tag "List of names" string) 1663 :type '(repeat :tag "List of names" string)
1662 :group 'c) 1664 :group 'c)
1663(put 'c-noise-macro-names 'safe-local-variable #'c-string-list-p) 1665(put 'c-noise-macro-names 'safe-local-variable #'c-string-list-p)
@@ -1666,7 +1668,8 @@ this implicitly by reinitializing C/C++/Objc Mode on any buffer)."
1666 "A list of names of macros \(or compiler extensions like \"__attribute__\") 1668 "A list of names of macros \(or compiler extensions like \"__attribute__\")
1667which optionally have arguments in parentheses, and which expand to nothing. 1669which optionally have arguments in parentheses, and which expand to nothing.
1668These are recognized by CC Mode only in declarations." 1670These are recognized by CC Mode only in declarations."
1669 :type '(regexp :tag "List of names (possibly empty)" string) 1671 :version "26.1"
1672 :type '(repeat :tag "List of names (possibly empty)" string)
1670 :group 'c) 1673 :group 'c)
1671(put 'c-noise-macro-with-parens-names 'safe-local-variable #'c-string-list-p) 1674(put 'c-noise-macro-with-parens-names 'safe-local-variable #'c-string-list-p)
1672 1675
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 4cce47e5d8c..c68001d2366 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1746,13 +1746,7 @@ Returns the compilation buffer created."
1746 (let ((process-environment 1746 (let ((process-environment
1747 (append 1747 (append
1748 compilation-environment 1748 compilation-environment
1749 (if (if (boundp 'system-uses-terminfo);`If' for compiler warning. 1749 (comint-term-environment)
1750 system-uses-terminfo)
1751 (list "TERM=dumb" "TERMCAP="
1752 (format "COLUMNS=%d" (window-width)))
1753 (list "TERM=emacs"
1754 (format "TERMCAP=emacs:co#%d:tc=unknown:"
1755 (window-width))))
1756 (list (format "INSIDE_EMACS=%s,compile" emacs-version)) 1750 (list (format "INSIDE_EMACS=%s,compile" emacs-version))
1757 (copy-sequence process-environment)))) 1751 (copy-sequence process-environment))))
1758 (set (make-local-variable 'compilation-arguments) 1752 (set (make-local-variable 'compilation-arguments)
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 15a36175970..f23af82d354 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -127,6 +127,7 @@ If nil, never start checking buffer automatically like this."
127(defcustom flymake-start-on-flymake-mode t 127(defcustom flymake-start-on-flymake-mode t
128 "Start syntax check when `flymake-mode' is enabled. 128 "Start syntax check when `flymake-mode' is enabled.
129Specifically, start it when the buffer is actually displayed." 129Specifically, start it when the buffer is actually displayed."
130 :version "26.1"
130 :type 'boolean) 131 :type 'boolean)
131 132
132(define-obsolete-variable-alias 'flymake-start-syntax-check-on-find-file 133(define-obsolete-variable-alias 'flymake-start-syntax-check-on-find-file
@@ -141,6 +142,7 @@ Specifically, start it when the buffer is actually displayed."
141 142
142(defcustom flymake-wrap-around t 143(defcustom flymake-wrap-around t
143 "If non-nil, moving to errors wraps around buffer boundaries." 144 "If non-nil, moving to errors wraps around buffer boundaries."
145 :version "26.1"
144 :type 'boolean) 146 :type 'boolean)
145 147
146(when (fboundp 'define-fringe-bitmap) 148(when (fboundp 'define-fringe-bitmap)
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index c2d80223541..dac3726bb14 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -162,6 +162,7 @@ Customize or call the function `grep-apply-setting'."
162(defcustom grep-use-null-filename-separator 'auto-detect 162(defcustom grep-use-null-filename-separator 'auto-detect
163 "If non-nil, use `grep's `--null' option. 163 "If non-nil, use `grep's `--null' option.
164This is done to disambiguate file names in `grep's output." 164This is done to disambiguate file names in `grep's output."
165 :version "26.1"
165 :type '(choice (const :tag "Do Not Use `--null'" nil) 166 :type '(choice (const :tag "Do Not Use `--null'" nil)
166 (const :tag "Use `--null'" t) 167 (const :tag "Use `--null'" t)
167 (other :tag "Not Set" auto-detect)) 168 (other :tag "Not Set" auto-detect))
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 3d3ea079cff..18101f53e0a 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -477,6 +477,7 @@ This applies to function movement, marking, and so on."
477 477
478(defcustom js-indent-align-list-continuation t 478(defcustom js-indent-align-list-continuation t
479 "Align continuation of non-empty ([{ lines in `js-mode'." 479 "Align continuation of non-empty ([{ lines in `js-mode'."
480 :version "26.1"
480 :type 'boolean 481 :type 'boolean
481 :group 'js) 482 :group 'js)
482 483
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index f3cb8109133..fecdb720f58 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -587,6 +587,7 @@ create a new comment."
587This is a non empty list of strings, the checker tool possibly 587This is a non empty list of strings, the checker tool possibly
588followed by required arguments. Once launched it will receive 588followed by required arguments. Once launched it will receive
589the Perl source to be checked as its standard input." 589the Perl source to be checked as its standard input."
590 :version "26.1"
590 :group 'perl 591 :group 'perl
591 :type '(repeat string)) 592 :type '(repeat string))
592 593
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 9d3e428e23c..2de40c4ab88 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -5165,6 +5165,7 @@ This is a non empty list of strings, the checker tool possibly followed by
5165required arguments. Once launched it will receive the Python source to be 5165required arguments. Once launched it will receive the Python source to be
5166checked as its standard input. 5166checked as its standard input.
5167To use `flake8' you would set this to (\"flake8\" \"-\")." 5167To use `flake8' you would set this to (\"flake8\" \"-\")."
5168 :version "26.1"
5168 :group 'python-flymake 5169 :group 'python-flymake
5169 :type '(repeat string)) 5170 :type '(repeat string))
5170 5171
@@ -5186,6 +5187,7 @@ MESSAGE'th gives the message text itself.
5186If COLUMN or TYPE are nil or that index didn't match, that 5187If COLUMN or TYPE are nil or that index didn't match, that
5187information is not present on the matched line and a default will 5188information is not present on the matched line and a default will
5188be used." 5189be used."
5190 :version "26.1"
5189 :group 'python-flymake 5191 :group 'python-flymake
5190 :type '(list regexp 5192 :type '(list regexp
5191 (integer :tag "Line's index") 5193 (integer :tag "Line's index")
@@ -5209,6 +5211,7 @@ For example, when using `flake8' a possible configuration could be:
5209 (\"^[EW][0-9]+\" . :note)) 5211 (\"^[EW][0-9]+\" . :note))
5210 5212
5211By default messages are considered errors." 5213By default messages are considered errors."
5214 :version "26.1"
5212 :group 'python-flymake 5215 :group 'python-flymake
5213 :type `(alist :key-type (regexp) 5216 :type `(alist :key-type (regexp)
5214 :value-type (symbol))) 5217 :value-type (symbol)))
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index dc1b0f8e2da..1c7df7e35a2 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -2314,12 +2314,14 @@ See `font-lock-syntax-table'.")
2314(defcustom ruby-flymake-use-rubocop-if-available t 2314(defcustom ruby-flymake-use-rubocop-if-available t
2315 "Non-nil to use the Rubocop Flymake backend. 2315 "Non-nil to use the Rubocop Flymake backend.
2316Only takes effect if Rubocop is installed." 2316Only takes effect if Rubocop is installed."
2317 :version "26.1"
2317 :type 'boolean 2318 :type 'boolean
2318 :group 'ruby 2319 :group 'ruby
2319 :safe 'booleanp) 2320 :safe 'booleanp)
2320 2321
2321(defcustom ruby-rubocop-config ".rubocop.yml" 2322(defcustom ruby-rubocop-config ".rubocop.yml"
2322 "Configuration file for `ruby-flymake-rubocop'." 2323 "Configuration file for `ruby-flymake-rubocop'."
2324 :version "26.1"
2323 :type 'string 2325 :type 'string
2324 :group 'ruby 2326 :group 'ruby
2325 :safe 'stringp) 2327 :safe 'stringp)
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 10a1edc3ee0..1baac1d4204 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -764,14 +764,14 @@ mode is experimental."
764 :version "24.1" ; rev670 764 :version "24.1" ; rev670
765 :group 'verilog-mode-actions 765 :group 'verilog-mode-actions
766 :type 'boolean) 766 :type 'boolean)
767(put 'verilog-auto-declare-nettype 'safe-local-variable `stringp) 767(put 'verilog-auto-declare-nettype 'safe-local-variable 'stringp)
768 768
769(defcustom verilog-auto-wire-comment t 769(defcustom verilog-auto-wire-comment t
770 "Non-nil indicates to insert to/from comments with `verilog-auto-wire' etc." 770 "Non-nil indicates to insert to/from comments with `verilog-auto-wire' etc."
771 :version "25.1" 771 :version "25.1"
772 :group 'verilog-mode-actions 772 :group 'verilog-mode-actions
773 :type 'boolean) 773 :type 'boolean)
774(put 'verilog-auto-wire-comment 'safe-local-variable `verilog-booleanp) 774(put 'verilog-auto-wire-comment 'safe-local-variable 'verilog-booleanp)
775 775
776(defcustom verilog-auto-wire-type nil 776(defcustom verilog-auto-wire-type nil
777 "Non-nil specifies the data type to use with `verilog-auto-wire' etc. 777 "Non-nil specifies the data type to use with `verilog-auto-wire' etc.
@@ -781,8 +781,8 @@ this is generally only appropriate when making a non-SystemVerilog wrapper
781containing SystemVerilog cells." 781containing SystemVerilog cells."
782 :version "24.1" ; rev673 782 :version "24.1" ; rev673
783 :group 'verilog-mode-actions 783 :group 'verilog-mode-actions
784 :type 'string) 784 :type '(choice (const nil) string))
785(put 'verilog-auto-wire-type 'safe-local-variable `stringp) 785(put 'verilog-auto-wire-type 'safe-local-variable 'stringp)
786 786
787(defcustom verilog-auto-endcomments t 787(defcustom verilog-auto-endcomments t
788 "Non-nil means insert a comment /* ... */ after `end's. 788 "Non-nil means insert a comment /* ... */ after `end's.