aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris2017-12-22 13:23:16 -0500
committerGlenn Morris2017-12-22 13:23:16 -0500
commit3404a87f29b28b449a2e6188f075df2f761caac5 (patch)
tree56816f744b5c74273803811d62c9b61ba2334aa3 /lisp
parent5ee4f2fa8792ebaa84184f1a82219fbcd93e8103 (diff)
parent34fcfc5c049bb99d68945bb24fb9d6a0789a33dd (diff)
downloademacs-3404a87f29b28b449a2e6188f075df2f761caac5.tar.gz
emacs-3404a87f29b28b449a2e6188f075df2f761caac5.zip
Merge from origin/emacs-26
34fcfc5 (origin/emacs-26, emacs-26) * lisp/emacs-lisp/inline.el (defi... f7a62c2 Fix doc string of 'footnote-style-alist' c3b6742 Improve documentation of selecting windows 861d110 Improve documentation of records 22b3075 * etc/NEWS: Mention the removal of pinentry.el. (Bug#27445) 689526b Fix interactive spec of 'semantic-ia-show-variants' 90ca37f Fix documentation of 'mouse-drag-and-drop-region' and friends d60faf3 Improve detection of speller version in ispell.el a0e3b06 Document 'mouse-drag-and-drop-region' options and mention the... 164e84c Fix uses of 'nil' and 'non-nil' in manuals and a few more min... 798f07f Document that mode commands should be idempotent. ad2a47c ; * src/xdisp.c (extend_face_to_end_of_line): Fix last change. 88ddf53 Fontify a CPP construct correctly when a comment follows with... de7de9c Prevent infloop in redisplay on TTY frames 293720e Fix loss of documentation face in certain CC Mode doc comment... # Conflicts: # etc/NEWS # lisp/mail/footnote.el
Diffstat (limited to 'lisp')
-rw-r--r--lisp/cedet/semantic/ia.el2
-rw-r--r--lisp/emacs-lisp/inline.el4
-rw-r--r--lisp/mail/footnote.el4
-rw-r--r--lisp/progmodes/cc-defs.el53
-rw-r--r--lisp/progmodes/cc-engine.el27
-rw-r--r--lisp/progmodes/cc-fonts.el13
-rw-r--r--lisp/progmodes/cc-langs.el4
-rw-r--r--lisp/progmodes/cc-mode.el26
-rw-r--r--lisp/textmodes/ispell.el30
9 files changed, 49 insertions, 114 deletions
diff --git a/lisp/cedet/semantic/ia.el b/lisp/cedet/semantic/ia.el
index 625c3ae9757..7ca29bd24b9 100644
--- a/lisp/cedet/semantic/ia.el
+++ b/lisp/cedet/semantic/ia.el
@@ -252,7 +252,7 @@ Completion options are calculated with `semantic-analyze-possible-completions'."
252;;;###autoload 252;;;###autoload
253(defun semantic-ia-show-variants (point) 253(defun semantic-ia-show-variants (point)
254 "Display a list of all variants for the symbol under POINT." 254 "Display a list of all variants for the symbol under POINT."
255 (interactive "P") 255 (interactive "d")
256 (let* ((ctxt (semantic-analyze-current-context point)) 256 (let* ((ctxt (semantic-analyze-current-context point))
257 (comp nil)) 257 (comp nil))
258 258
diff --git a/lisp/emacs-lisp/inline.el b/lisp/emacs-lisp/inline.el
index ff27158f836..b9f63c94474 100644
--- a/lisp/emacs-lisp/inline.el
+++ b/lisp/emacs-lisp/inline.el
@@ -124,6 +124,10 @@ After VARS is handled, BODY is evaluated in the new environment."
124 124
125;;;###autoload 125;;;###autoload
126(defmacro define-inline (name args &rest body) 126(defmacro define-inline (name args &rest body)
127 "Define an inline function NAME with arguments ARGS and body in BODY.
128
129This is like `defmacro', but has several advantages.
130See Info node `(elisp)Defining Functions' for more details."
127 ;; FIXME: How can this work with CL arglists? 131 ;; FIXME: How can this work with CL arglists?
128 (declare (indent defun) (debug defun) (doc-string 3)) 132 (declare (indent defun) (debug defun) (doc-string 3))
129 (let ((doc (if (stringp (car-safe body)) (list (pop body)))) 133 (let ((doc (if (stringp (car-safe body)) (list (pop body))))
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index d82f7410207..0c39f62f3ee 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -366,9 +366,7 @@ Proceeds from `י' to `כ', from `צ' to `ק'. After `ת', rolls over to `א'."
366 "Styles of footnote tags available. 366 "Styles of footnote tags available.
367By default, Arabic numbers, English letters, Roman Numerals, 367By default, Arabic numbers, English letters, Roman Numerals,
368Latin and Unicode superscript characters, and Hebrew numerals 368Latin and Unicode superscript characters, and Hebrew numerals
369are available. 369are available.")
370See footnote-han.el, footnote-greek.el and footnote-hebrew.el for more
371exciting styles.")
372 370
373(defcustom footnote-style 'numeric 371(defcustom footnote-style 'numeric
374 "Default style used for footnoting. 372 "Default style used for footnoting.
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 973d97c2560..e837ce1973b 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -1414,59 +1414,6 @@ with value CHAR in the region [FROM to)."
1414 1414
1415;;;;;;;;;;;;;;; 1415;;;;;;;;;;;;;;;
1416 1416
1417(defconst c-cpp-delimiter '(14)) ; generic comment syntax
1418;; This is the value of the `category' text property placed on every #
1419;; which introduces a CPP construct and every EOL (or EOB, or character
1420;; preceding //, etc.) which terminates it. We can instantly "comment
1421;; out" all CPP constructs by giving `c-cpp-delimiter' a syntax-table
1422;; property '(14) (generic comment delimiter).
1423(defmacro c-set-cpp-delimiters (beg end)
1424 ;; This macro does a hidden buffer change.
1425 `(progn
1426 (c-put-char-property ,beg 'category 'c-cpp-delimiter)
1427 (if (< ,end (point-max))
1428 (c-put-char-property ,end 'category 'c-cpp-delimiter))))
1429(defmacro c-clear-cpp-delimiters (beg end)
1430 ;; This macro does a hidden buffer change.
1431 `(progn
1432 (c-clear-char-property ,beg 'category)
1433 (if (< ,end (point-max))
1434 (c-clear-char-property ,end 'category))))
1435
1436(defsubst c-comment-out-cpps ()
1437 ;; Render all preprocessor constructs syntactically commented out.
1438 (put 'c-cpp-delimiter 'syntax-table c-cpp-delimiter))
1439(defsubst c-uncomment-out-cpps ()
1440 ;; Restore the syntactic visibility of preprocessor constructs.
1441 (put 'c-cpp-delimiter 'syntax-table nil))
1442
1443(defmacro c-with-cpps-commented-out (&rest forms)
1444 ;; Execute FORMS... whilst the syntactic effect of all characters in
1445 ;; all CPP regions is suppressed. In particular, this is to suppress
1446 ;; the syntactic significance of parens/braces/brackets to functions
1447 ;; such as `scan-lists' and `parse-partial-sexp'.
1448 `(unwind-protect
1449 (c-save-buffer-state ()
1450 (c-comment-out-cpps)
1451 ,@forms)
1452 (c-save-buffer-state ()
1453 (c-uncomment-out-cpps))))
1454
1455(defmacro c-with-all-but-one-cpps-commented-out (beg end &rest forms)
1456 ;; Execute FORMS... whilst the syntactic effect of all characters in
1457 ;; every CPP region APART FROM THE ONE BETWEEN BEG and END is
1458 ;; suppressed.
1459 `(unwind-protect
1460 (c-save-buffer-state ()
1461 (save-restriction
1462 (widen)
1463 (c-clear-cpp-delimiters ,beg ,end))
1464 ,`(c-with-cpps-commented-out ,@forms))
1465 (c-save-buffer-state ()
1466 (save-restriction
1467 (widen)
1468 (c-set-cpp-delimiters ,beg ,end)))))
1469
1470(defmacro c-self-bind-state-cache (&rest forms) 1417(defmacro c-self-bind-state-cache (&rest forms)
1471 ;; Bind the state cache to itself and execute the FORMS. Return the result 1418 ;; Bind the state cache to itself and execute the FORMS. Return the result
1472 ;; of the last FORM executed. It is assumed that no buffer changes will 1419 ;; of the last FORM executed. It is assumed that no buffer changes will
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 12ec8f74fea..7b9baee6f76 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -238,8 +238,8 @@
238;; `c-macro-cache'. 238;; `c-macro-cache'.
239(defvar c-macro-cache-no-comment nil) 239(defvar c-macro-cache-no-comment nil)
240(make-variable-buffer-local 'c-macro-cache-no-comment) 240(make-variable-buffer-local 'c-macro-cache-no-comment)
241;; Either nil, or the last character of the macro currently represented by 241;; Either nil, or the position of a comment which is open at the end of the
242;; `c-macro-cache' which isn't in a comment. */ 242;; macro represented by `c-macro-cache'.
243 243
244(defun c-invalidate-macro-cache (beg _end) 244(defun c-invalidate-macro-cache (beg _end)
245 ;; Called from a before-change function. If the change region is before or 245 ;; Called from a before-change function. If the change region is before or
@@ -382,8 +382,9 @@ comment at the start of cc-engine.el for more info."
382 (point))) 382 (point)))
383 383
384(defun c-no-comment-end-of-macro () 384(defun c-no-comment-end-of-macro ()
385 ;; Go to the end of a CPP directive, or a pos just before which isn't in a 385 ;; Go to the start of the comment which is open at the end of the current
386 ;; comment. For this purpose, open strings are ignored. 386 ;; CPP directive, or to the end of that directive. For this purpose, open
387 ;; strings are ignored.
387 ;; 388 ;;
388 ;; This function must only be called from the beginning of a CPP construct. 389 ;; This function must only be called from the beginning of a CPP construct.
389 ;; 390 ;;
@@ -401,7 +402,7 @@ comment at the start of cc-engine.el for more info."
401 (setq s (parse-partial-sexp here there))) 402 (setq s (parse-partial-sexp here there)))
402 (when (and (nth 4 s) 403 (when (and (nth 4 s)
403 (not (eq (nth 7 s) 'syntax-table))) ; no pseudo comments. 404 (not (eq (nth 7 s) 'syntax-table))) ; no pseudo comments.
404 (goto-char (1- (nth 8 s)))) 405 (goto-char (nth 8 s)))
405 (setq c-macro-cache-no-comment (point))) 406 (setq c-macro-cache-no-comment (point)))
406 (point))) 407 (point)))
407 408
@@ -3862,14 +3863,7 @@ comment at the start of cc-engine.el for more info."
3862 (if (eval-when-compile (memq 'category-properties c-emacs-features)) 3863 (if (eval-when-compile (memq 'category-properties c-emacs-features))
3863 ;; Emacs 3864 ;; Emacs
3864 (c-with-<->-as-parens-suppressed 3865 (c-with-<->-as-parens-suppressed
3865 (if (and c-state-old-cpp-beg 3866 (c-invalidate-state-cache-1 here))
3866 (< c-state-old-cpp-beg here))
3867 (c-with-all-but-one-cpps-commented-out
3868 c-state-old-cpp-beg
3869 c-state-old-cpp-end
3870 (c-invalidate-state-cache-1 here))
3871 (c-with-cpps-commented-out
3872 (c-invalidate-state-cache-1 here))))
3873 ;; XEmacs 3867 ;; XEmacs
3874 (c-invalidate-state-cache-1 here))) 3868 (c-invalidate-state-cache-1 here)))
3875 3869
@@ -3902,12 +3896,7 @@ comment at the start of cc-engine.el for more info."
3902 (if (eval-when-compile (memq 'category-properties c-emacs-features)) 3896 (if (eval-when-compile (memq 'category-properties c-emacs-features))
3903 ;; Emacs 3897 ;; Emacs
3904 (c-with-<->-as-parens-suppressed 3898 (c-with-<->-as-parens-suppressed
3905 (if (and here-cpp-beg (> here-cpp-end here-cpp-beg)) 3899 (c-parse-state-1))
3906 (c-with-all-but-one-cpps-commented-out
3907 here-cpp-beg here-cpp-end
3908 (c-parse-state-1))
3909 (c-with-cpps-commented-out
3910 (c-parse-state-1))))
3911 ;; XEmacs 3900 ;; XEmacs
3912 (c-parse-state-1)) 3901 (c-parse-state-1))
3913 (setq c-state-old-cpp-beg 3902 (setq c-state-old-cpp-beg
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index 7b99c2f54e5..83038e07ca6 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -2670,8 +2670,8 @@ need for `pike-font-lock-extra-types'.")
2670 ;; This function might do hidden buffer changes. 2670 ;; This function might do hidden buffer changes.
2671 2671
2672 (let (comment-beg region-beg) 2672 (let (comment-beg region-beg)
2673 (if (eq (get-text-property (point) 'face) 2673 (if (memq (get-text-property (point) 'face)
2674 'font-lock-comment-face) 2674 '(font-lock-comment-face font-lock-comment-delimiter-face))
2675 ;; Handle the case when the fontified region starts inside a 2675 ;; Handle the case when the fontified region starts inside a
2676 ;; comment. 2676 ;; comment.
2677 (let ((start (c-literal-start))) 2677 (let ((start (c-literal-start)))
@@ -2691,8 +2691,15 @@ need for `pike-font-lock-extra-types'.")
2691 (or (not (c-got-face-at comment-beg 2691 (or (not (c-got-face-at comment-beg
2692 c-literal-faces)) 2692 c-literal-faces))
2693 (and (/= comment-beg (point-min)) 2693 (and (/= comment-beg (point-min))
2694 ;; Cheap check which is unreliable (the previous
2695 ;; character could be the end of a previous
2696 ;; comment).
2694 (c-got-face-at (1- comment-beg) 2697 (c-got-face-at (1- comment-beg)
2695 c-literal-faces)))) 2698 c-literal-faces)
2699 ;; Expensive reliable check.
2700 (save-excursion
2701 (goto-char comment-beg)
2702 (c-in-literal)))))
2696 (setq comment-beg nil)) 2703 (setq comment-beg nil))
2697 (setq region-beg comment-beg)) 2704 (setq region-beg comment-beg))
2698 2705
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 169b61c3dd3..12a15873b1a 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -518,13 +518,13 @@ parameters \(point-min) and \(point-max).")
518 (c objc) '(c-depropertize-new-text 518 (c objc) '(c-depropertize-new-text
519 c-parse-quotes-after-change 519 c-parse-quotes-after-change
520 c-extend-font-lock-region-for-macros 520 c-extend-font-lock-region-for-macros
521 c-neutralize-syntax-in-and-mark-CPP 521 c-neutralize-syntax-in-CPP
522 c-change-expand-fl-region) 522 c-change-expand-fl-region)
523 c++ '(c-depropertize-new-text 523 c++ '(c-depropertize-new-text
524 c-parse-quotes-after-change 524 c-parse-quotes-after-change
525 c-extend-font-lock-region-for-macros 525 c-extend-font-lock-region-for-macros
526 c-after-change-re-mark-raw-strings 526 c-after-change-re-mark-raw-strings
527 c-neutralize-syntax-in-and-mark-CPP 527 c-neutralize-syntax-in-CPP
528 c-restore-<>-properties 528 c-restore-<>-properties
529 c-change-expand-fl-region) 529 c-change-expand-fl-region)
530 java '(c-depropertize-new-text 530 java '(c-depropertize-new-text
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 22dea039cd1..4073a5a1b1a 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1016,15 +1016,10 @@ Note that the style variables are always made local to the buffer."
1016 t) 1016 t)
1017 (t nil))))))) 1017 (t nil)))))))
1018 1018
1019(defun c-neutralize-syntax-in-and-mark-CPP (_begg _endd _old-len) 1019(defun c-neutralize-syntax-in-CPP (_begg _endd _old-len)
1020 ;; (i) "Neutralize" every preprocessor line wholly or partially in the 1020 ;; "Neutralize" every preprocessor line wholly or partially in the changed
1021 ;; changed region. "Restore" lines which were CPP lines before the change 1021 ;; region. "Restore" lines which were CPP lines before the change and are
1022 ;; and are no longer so. 1022 ;; no longer so.
1023 ;;
1024 ;; (ii) Mark each CPP construct by placing a `category' property value
1025 ;; `c-cpp-delimiter' at its start and end. The marked characters are the
1026 ;; opening # and usually the terminating EOL, but sometimes the character
1027 ;; before a comment delimiter.
1028 ;; 1023 ;;
1029 ;; That is, set syntax-table properties on characters that would otherwise 1024 ;; That is, set syntax-table properties on characters that would otherwise
1030 ;; interact syntactically with those outside the CPP line(s). 1025 ;; interact syntactically with those outside the CPP line(s).
@@ -1044,12 +1039,7 @@ Note that the style variables are always made local to the buffer."
1044 (c-save-buffer-state (limits) 1039 (c-save-buffer-state (limits)
1045 ;; Clear 'syntax-table properties "punctuation": 1040 ;; Clear 'syntax-table properties "punctuation":
1046 ;; (c-clear-char-property-with-value c-new-BEG c-new-END 'syntax-table '(1)) 1041 ;; (c-clear-char-property-with-value c-new-BEG c-new-END 'syntax-table '(1))
1047 1042 ;; The above is now done in `c-depropertize-CPP'.
1048 ;; CPP "comment" markers:
1049 (if (eval-when-compile (memq 'category-properties c-emacs-features));Emacs.
1050 (c-clear-char-property-with-value
1051 c-new-BEG c-new-END 'category 'c-cpp-delimiter))
1052 ;; FIXME!!! What about the "<" and ">" category properties? 2009-11-16
1053 1043
1054 ;; Add needed properties to each CPP construct in the region. 1044 ;; Add needed properties to each CPP construct in the region.
1055 (goto-char c-new-BEG) 1045 (goto-char c-new-BEG)
@@ -1076,11 +1066,7 @@ Note that the style variables are always made local to the buffer."
1076 (goto-char (match-beginning 1)) 1066 (goto-char (match-beginning 1))
1077 (setq mbeg (point)) 1067 (setq mbeg (point))
1078 (if (> (c-no-comment-end-of-macro) mbeg) 1068 (if (> (c-no-comment-end-of-macro) mbeg)
1079 (progn 1069 (c-neutralize-CPP-line mbeg (point)) ; "punctuation" properties
1080 (c-neutralize-CPP-line mbeg (point)) ; "punctuation" properties
1081 (if (eval-when-compile
1082 (memq 'category-properties c-emacs-features)) ;Emacs.
1083 (c-set-cpp-delimiters mbeg (point)))) ; "comment" markers
1084 (forward-line)) ; no infinite loop with, e.g., "#//" 1070 (forward-line)) ; no infinite loop with, e.g., "#//"
1085 ))))) 1071 )))))
1086 1072
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el
index 6a169622f52..25f62e317c8 100644
--- a/lisp/textmodes/ispell.el
+++ b/lisp/textmodes/ispell.el
@@ -712,10 +712,10 @@ Otherwise returns the library directory name, if that is defined."
712 (error "%s exited with %s %s" ispell-program-name 712 (error "%s exited with %s %s" ispell-program-name
713 (if (stringp status) "signal" "code") status)) 713 (if (stringp status) "signal" "code") status))
714 714
715 ;; Get relevant version strings. Only xx.yy.... format works well 715 ;; Get relevant version strings.
716 (let (case-fold-search) 716 (let (case-fold-search)
717 (setq ispell-program-version 717 (setq ispell-program-version
718 (and (search-forward-regexp "\\([0-9]+\\.[0-9\\.]+\\)" nil t) 718 (and (search-forward-regexp "\\([0-9]+\\.[0-9.]+\\)" nil t)
719 (match-string 1))) 719 (match-string 1)))
720 720
721 ;; Make sure these variables are (re-)initialized to the default value 721 ;; Make sure these variables are (re-)initialized to the default value
@@ -725,19 +725,23 @@ Otherwise returns the library directory name, if that is defined."
725 725
726 (goto-char (point-min)) 726 (goto-char (point-min))
727 (or (setq ispell-really-aspell 727 (or (setq ispell-really-aspell
728 (and (search-forward-regexp 728 (and
729 "(but really Aspell \\([0-9]+\\.[0-9\\.-]+\\)?)" nil t) 729 (search-forward-regexp
730 (match-string 1))) 730 "(but really Aspell \\([0-9]+\\.[0-9.]+\\([-._+ ]?[a-zA-Z0-9]+\\)?\\)?)"
731 nil t)
732 (match-string 1)))
731 (setq ispell-really-hunspell 733 (setq ispell-really-hunspell
732 (and (search-forward-regexp 734 (and
733 "(but really Hunspell \\([0-9]+\\.[0-9\\.-]+\\)?)" 735 (search-forward-regexp
734 nil t) 736 "(but really Hunspell \\([0-9]+\\.[0-9.]+\\([-._+ ]?[a-zA-Z0-9]+\\)?\\)?)"
735 (match-string 1))) 737 nil t)
738 (match-string 1)))
736 (setq ispell-really-enchant 739 (setq ispell-really-enchant
737 (and (search-forward-regexp 740 (and
738 "(but really Enchant \\([0-9]+\\.[0-9\\.-]+\\)?)" 741 (search-forward-regexp
739 nil t) 742 "(but really Enchant \\([0-9]+\\.[0-9.]+\\([-._+ ]?[a-zA-Z0-9]+\\)?\\)?)"
740 (match-string 1))))) 743 nil t)
744 (match-string 1)))))
741 745
742 (let* ((aspell8-minver "0.60") 746 (let* ((aspell8-minver "0.60")
743 (ispell-minver "3.1.12") 747 (ispell-minver "3.1.12")