[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 86312ff: Document support for ':documentation' in
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-25 86312ff: Document support for ':documentation' in Lisp mode |
Date: |
Wed, 30 Dec 2015 17:58:58 +0000 |
branch: emacs-25
commit 86312ffd93e54bc8993740479c9de3df69935185
Author: Shakthi Kannan <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Document support for ':documentation' in Lisp mode
* lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p)
(lisp-string-after-doc-keyword-p)
(lisp-font-lock-syntactic-face-function): Add doc strings.
---
etc/NEWS | 5 +++++
lisp/emacs-lisp/lisp-mode.el | 9 +++++++++
2 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index 80e9999..9f32166 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -638,7 +638,12 @@ respectively, `show-paren-when-point-inside-paren' or
`show-paren-when-point-in-periphery'.
** Lisp mode
+
+---
*** Strings after `:documentation' are highlighted as docstrings.
+This enhances Lisp mode fontification to handle documentation of the
+form `(:documentation "the doc string")' used in Common Lisp code for
+CLOS class and slot documentation.
** Rectangle editing
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 3448b72..e99f8a5 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -488,6 +488,9 @@ This will generate compile-time constants from BINDINGS."
"Default expressions to highlight in Lisp modes.")
(defun lisp-string-in-doc-position-p (listbeg startpos)
+ "Return true if a doc string may occur at STARTPOS inside a list.
+LISTBEG is the position of the start of the innermost list
+containing STARTPOS."
(let* ((firstsym (and listbeg
(save-excursion
(goto-char listbeg)
@@ -518,6 +521,9 @@ This will generate compile-time constants from BINDINGS."
(= (point) startpos))))))
(defun lisp-string-after-doc-keyword-p (listbeg startpos)
+ "Return true if `:documentation' symbol ends at STARTPOS inside a list.
+LISTBEG is the position of the start of the innermost list
+containing STARTPOS."
(and listbeg ; We are inside a Lisp form.
(save-excursion
(goto-char startpos)
@@ -526,6 +532,9 @@ This will generate compile-time constants from BINDINGS."
(looking-at ":documentation\\_>"))))))
(defun lisp-font-lock-syntactic-face-function (state)
+ "Return syntactic face function for the position represented by STATE.
+STATE is a `parse-partial-sexp' state, and the returned function is the
+Lisp font lock syntactic face function."
(if (nth 3 state)
;; This might be a (doc)string or a |...| symbol.
(let ((startpos (nth 8 state)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 86312ff: Document support for ':documentation' in Lisp mode,
Eli Zaretskii <=