mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
emacs docs: rstdoc.el: consistent single quote conversions
With text-quoting-style 'grave keeps "'" and "`" quotes unaltered for further processing done by this code (regardless of locale...). The tools that read the reStructuredText markup generated can do their styling instead. Added temporary conversions of ' and ` to \001 and \002 so that 's and `s outside of `...' and `...` are converted separately ('s restored back to ' and `s converted to \`). Both `...' and `...` are finally "converted" to `...` (not ``...``). https://docutils.sourceforge.io/docs/user/rst/quickref.html documents that as `interpreted text`: "The rendering and meaning of interpreted text is domain- or application-dependent. It can be used for things like index entries or explicit descriptive markup (like program identifiers)." Which looks pretty much right.
This commit is contained in:
parent
45193bab16
commit
bdb6956afd
1 changed files with 9 additions and 5 deletions
|
@ -40,6 +40,7 @@
|
||||||
"Write docstrings from IN-FILE to OUT-FILE."
|
"Write docstrings from IN-FILE to OUT-FILE."
|
||||||
(load-file in-file)
|
(load-file in-file)
|
||||||
(let* ((definitions (cdr (assoc (expand-file-name in-file) load-history)))
|
(let* ((definitions (cdr (assoc (expand-file-name in-file) load-history)))
|
||||||
|
(text-quoting-style 'grave)
|
||||||
(doc-hash (make-hash-table :test 'eq)))
|
(doc-hash (make-hash-table :test 'eq)))
|
||||||
(mapc
|
(mapc
|
||||||
(lambda (elt)
|
(lambda (elt)
|
||||||
|
@ -65,11 +66,14 @@
|
||||||
(insert "\n"))
|
(insert "\n"))
|
||||||
|
|
||||||
(defvar rst--escape-alist
|
(defvar rst--escape-alist
|
||||||
'(("\\\\='" . "\\\\'")
|
'( ("\\\\='" . "\001")
|
||||||
("\\([^\\]\\)'" . "\\1`")
|
("`\\([^\n`']*\\)[`']" . "\002\\1\002") ;; good enough for now...
|
||||||
("^[[:space:]\t]*$" . "|br|")
|
("`" . "\\\\`")
|
||||||
("^[[:space:]\t]" . "|indent| "))
|
("\001" . "'")
|
||||||
"List of (regex . replacement) pairs.")
|
("\002" . "`")
|
||||||
|
("^[[:space:]]*$" . "|br|")
|
||||||
|
("^[[:space:]]" . "|indent| "))
|
||||||
|
"list of (regex . replacement) pairs")
|
||||||
|
|
||||||
(defun rstdoc--rst-quote-string (str)
|
(defun rstdoc--rst-quote-string (str)
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
|
|
Loading…
Reference in a new issue