Electric Quote mode makes it easier to type curved quotes. As you
type characters it optionally converts @t{`} to @t{‘}, @t{'} to @t{’},
-@t{``} to @t{“}, and @t{''} to @t{”}. These conversions are
-suppressed in buffers whose coding systems cannot represent curved
-quote characters.
+@t{``} to @t{“}, and @t{''} to @t{”}.
@vindex electric-quote-paragraph
@vindex electric-quote-comment
variable to nil to disable the new behavior and get back the old
behavior.
++++
+** 'electric-quote-mode' is no longer suppressed in a buffer whose
+whose coding system cannot represent curved quote characters.
+Instead, users can deal with the unrepresentable characters in the
+usual way when they save the buffer.
+
---
** New variable 'inhibit-compacting-font-caches'.
Set this variable to a non-nil value to speed up display of characters
:version "25.1"
:type 'boolean :safe 'booleanp :group 'electricity)
-(defun electric--insertable-p (string)
- (or (not buffer-file-coding-system)
- (eq (coding-system-base buffer-file-coding-system) 'undecided)
- (not (unencodable-char-position nil nil buffer-file-coding-system
- nil string))))
-
(defun electric-quote-post-self-insert-function ()
"Function that `electric-quote-mode' adds to `post-self-insert-hook'.
This requotes when a quoting key is typed."
(when start
(save-excursion
(if (eq last-command-event ?\`)
- (cond ((and (electric--insertable-p "“")
- (search-backward "‘`" (- (point) 2) t))
+ (cond ((search-backward "‘`" (- (point) 2) t)
(replace-match "“")
(when (and electric-pair-mode
(eq (cdr-safe
(char-after)))
(delete-char 1))
(setq last-command-event ?“))
- ((and (electric--insertable-p "‘")
- (search-backward "`" (1- (point)) t))
+ ((search-backward "`" (1- (point)) t)
(replace-match "‘")
(setq last-command-event ?‘)))
- (cond ((and (electric--insertable-p "”")
- (search-backward "’'" (- (point) 2) t))
+ (cond ((search-backward "’'" (- (point) 2) t)
(replace-match "”")
(setq last-command-event ?”))
- ((and (electric--insertable-p "’")
- (search-backward "'" (1- (point)) t))
+ ((search-backward "'" (1- (point)) t)
(replace-match "’")
(setq last-command-event ?’)))))))))
`electric-quote-comment', `electric-quote-string', and
`electric-quote-paragraph'.
-Electric quoting is suppressed in a buffer whose coding system
-cannot represent the replacement characters.
-
This is a global minor mode. To toggle the mode in a single buffer,
use `electric-quote-local-mode'."
:global t :group 'electricity