unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#24901: Patch to add support for curly quotes to electric-pair-mode
@ 2016-11-08 12:00 Reuben Thomas
       [not found] ` <handler.24901.B.147860642916617.ack@debbugs.gnu.org>
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Reuben Thomas @ 2016-11-08 12:00 UTC (permalink / raw)
  To: 24901

[-- Attachment #1: Type: text/plain, Size: 321 bytes --]


The attached patch adds support for curly quotes to electric-pair-mode.

(I am separately working on a patch for smart-quotes-mode, which is not
part of Emacs.)

If this is considered an acceptable patch, I’d be happy to add support
for other text quote styles (German, French &c.) before installing the
patch.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Patch to add support for curly quotes to electric-pair-mode --]
[-- Type: text/x-diff, Size: 1591 bytes --]

From 634d6fdf40574b7de1eb304f27567bdda201bab1 Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 11:53:20 +0000
Subject: [PATCH] Add support for curly quotation marks to electric-pair-mode

* lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): add
entries for left/right single/double quotation marks. Note that this is
safe for single quotation marks, unlike with the ASCII apostrophe,
since, although the right quotation mark can be used as an apostrophe,
it is the left quotation mark that is typed to get a pair.
---
 lisp/elec-pair.el | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 1162920..3658601 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -28,7 +28,9 @@
 ;;; Electric pairing.
 
 (defcustom electric-pair-pairs
-  '((?\" . ?\"))
+  '((?\" . ?\")
+    (#x201c . #x201d)               ; LEFT/RIGHT SINGLE QUOTATION MARK
+    (#x2018 . #x2019))              ; LEFT/RIGHT DOUBLE QUOTATION MARK
   "Alist of pairs that should be used regardless of major mode.
 
 Pairs of delimiters in this list are a fallback in case they have
@@ -42,7 +44,9 @@ electric-pair-pairs
 
 ;;;###autoload
 (defcustom electric-pair-text-pairs
-  '((?\" . ?\" ))
+  '((?\" . ?\" )
+    (#x201c . #x201d)               ; LEFT/RIGHT SINGLE QUOTATION MARK
+    (#x2018 . #x2019))              ; LEFT/RIGHT DOUBLE QUOTATION MARK
   "Alist of pairs that should always be used in comments and strings.
 
 Pairs of delimiters in this list are a fallback in case they have
-- 
2.7.4


[-- Attachment #3: Type: text/plain, Size: 20535 bytes --]





In GNU Emacs 25.1.50.9 (x86_64-pc-linux-gnu, GTK+ Version 3.18.9)
 of 2016-10-15 built on skwd
Repository revision: 4eb4463abf1db904f9e8cdc35156a66f8a10125c
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:	Ubuntu 16.04.1 LTS

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LC_MONETARY: en_GB.utf8
  value of $LC_NUMERIC: en_GB.utf8
  value of $LC_TIME: en_GB.utf8
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  magit-auto-revert-mode: t
  global-git-commit-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  window-margin-mode: t
  buffer-face-mode: t
  flyspell-mode: t
  goto-address-mode: t
  smart-quotes-mode: t
  org-indent-mode: t
  show-paren-mode: t
  savehist-mode: t
  recentf-mode: t
  minibuffer-electric-default-mode: t
  global-auto-revert-mode: t
  auto-revert-mode: t
  electric-pair-mode: t
  desktop-save-mode: t
  global-whitespace-mode: t
  diff-auto-refine-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  helm-autoresize-mode: t
  async-bytecomp-package-mode: t
  dtrt-indent-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Recent messages:
Loading /home/rrt/.emacs.d/elpa/async-20161103.1036/async.el (source)...done
Package ‘cmake-mode-3.6.2’ deleted.
Package ‘async-20161031.1718’ deleted.
Package menu: Operation finished [Upgraded 2]
user-error: No operations specified
Saving file /home/rrt/Notes/Programming.org...
Wrote /home/rrt/.emacs.d/undo-tree/.!home!rrt!Notes!Programming.org.~undo-tree~
Wrote /home/rrt/Notes/Programming.org
Mark set [2 times]
Mark saved where search started

Load-path shadows:
/home/rrt/.emacs.d/elpa/dash-20161106.410/dash hides /home/rrt/.emacs.d/elpa/dash-20161102.334/dash
/home/rrt/.emacs.d/elpa/dash-20161106.410/dash-autoloads hides /home/rrt/.emacs.d/elpa/dash-20161102.334/dash-autoloads
/home/rrt/.emacs.d/elpa/dash-20161106.410/dash-pkg hides /home/rrt/.emacs.d/elpa/dash-20161102.334/dash-pkg
/home/rrt/.emacs.d/elpa/yaml-mode-0.0.13/yaml-mode hides /home/rrt/.emacs.d/elpa/yaml-mode-0.0.12/yaml-mode
/home/rrt/.emacs.d/elpa/yaml-mode-0.0.13/yaml-mode-autoloads hides /home/rrt/.emacs.d/elpa/yaml-mode-0.0.12/yaml-mode-autoloads
/home/rrt/.emacs.d/elpa/yaml-mode-0.0.13/yaml-mode-pkg hides /home/rrt/.emacs.d/elpa/yaml-mode-0.0.12/yaml-mode-pkg
/home/rrt/.emacs.d/elpa/sws-mode-20150317.1245/sws-mode hides /home/rrt/.emacs.d/el-get/jade-mode/sws-mode
/home/rrt/.emacs.d/elpa/async-20161103.1036/async-pkg hides /home/rrt/.emacs.d/el-get/emacs-async/async-pkg
/home/rrt/.emacs.d/elpa/async-20161103.1036/dired-async hides /home/rrt/.emacs.d/el-get/emacs-async/dired-async
/home/rrt/.emacs.d/elpa/async-20161103.1036/smtpmail-async hides /home/rrt/.emacs.d/el-get/emacs-async/smtpmail-async
/home/rrt/.emacs.d/elpa/async-20161103.1036/async-bytecomp hides /home/rrt/.emacs.d/el-get/emacs-async/async-bytecomp
/home/rrt/.emacs.d/elpa/async-20161103.1036/async hides /home/rrt/.emacs.d/el-get/emacs-async/async
/home/rrt/.emacs.d/elpa/cmake-mode-3.6.3/cmake-mode hides /usr/local/share/emacs/25.1.50/site-lisp/cmake-data/cmake-mode
/home/rrt/.local/share/emacs/site-lisp/whitespace hides /usr/local/share/emacs/25.1.50/lisp/whitespace
/home/rrt/.emacs.d/el-get/cperl-mode/cperl-mode hides /usr/local/share/emacs/25.1.50/lisp/progmodes/cperl-mode
/home/rrt/.emacs.d/elpa/org-20161102/org hides /usr/local/share/emacs/25.1.50/lisp/org/org
/home/rrt/.emacs.d/elpa/org-20161102/org-mouse hides /usr/local/share/emacs/25.1.50/lisp/org/org-mouse
/home/rrt/.emacs.d/elpa/org-20161102/ob-ruby hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ruby
/home/rrt/.emacs.d/elpa/org-20161102/ob-asymptote hides /usr/local/share/emacs/25.1.50/lisp/org/ob-asymptote
/home/rrt/.emacs.d/elpa/org-20161102/ox-man hides /usr/local/share/emacs/25.1.50/lisp/org/ox-man
/home/rrt/.emacs.d/elpa/org-20161102/ob-eval hides /usr/local/share/emacs/25.1.50/lisp/org/ob-eval
/home/rrt/.emacs.d/elpa/org-20161102/org-footnote hides /usr/local/share/emacs/25.1.50/lisp/org/org-footnote
/home/rrt/.emacs.d/elpa/org-20161102/ob-shen hides /usr/local/share/emacs/25.1.50/lisp/org/ob-shen
/home/rrt/.emacs.d/elpa/org-20161102/ob-lisp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-lisp
/home/rrt/.emacs.d/elpa/org-20161102/ob-C hides /usr/local/share/emacs/25.1.50/lisp/org/ob-C
/home/rrt/.emacs.d/elpa/org-20161102/ob-sass hides /usr/local/share/emacs/25.1.50/lisp/org/ob-sass
/home/rrt/.emacs.d/elpa/org-20161102/ob-css hides /usr/local/share/emacs/25.1.50/lisp/org/ob-css
/home/rrt/.emacs.d/elpa/org-20161102/ob-sqlite hides /usr/local/share/emacs/25.1.50/lisp/org/ob-sqlite
/home/rrt/.emacs.d/elpa/org-20161102/org-loaddefs hides /usr/local/share/emacs/25.1.50/lisp/org/org-loaddefs
/home/rrt/.emacs.d/elpa/org-20161102/ob-org hides /usr/local/share/emacs/25.1.50/lisp/org/ob-org
/home/rrt/.emacs.d/elpa/org-20161102/ox-org hides /usr/local/share/emacs/25.1.50/lisp/org/ox-org
/home/rrt/.emacs.d/elpa/org-20161102/ob-ditaa hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ditaa
/home/rrt/.emacs.d/elpa/org-20161102/ob-screen hides /usr/local/share/emacs/25.1.50/lisp/org/ob-screen
/home/rrt/.emacs.d/elpa/org-20161102/ob-io hides /usr/local/share/emacs/25.1.50/lisp/org/ob-io
/home/rrt/.emacs.d/elpa/org-20161102/ob-fortran hides /usr/local/share/emacs/25.1.50/lisp/org/ob-fortran
/home/rrt/.emacs.d/elpa/org-20161102/org-list hides /usr/local/share/emacs/25.1.50/lisp/org/org-list
/home/rrt/.emacs.d/elpa/org-20161102/org-macro hides /usr/local/share/emacs/25.1.50/lisp/org/org-macro
/home/rrt/.emacs.d/elpa/org-20161102/ob-latex hides /usr/local/share/emacs/25.1.50/lisp/org/ob-latex
/home/rrt/.emacs.d/elpa/org-20161102/ox-ascii hides /usr/local/share/emacs/25.1.50/lisp/org/ox-ascii
/home/rrt/.emacs.d/elpa/org-20161102/org-install hides /usr/local/share/emacs/25.1.50/lisp/org/org-install
/home/rrt/.emacs.d/elpa/org-20161102/ob-picolisp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-picolisp
/home/rrt/.emacs.d/elpa/org-20161102/ob-R hides /usr/local/share/emacs/25.1.50/lisp/org/ob-R
/home/rrt/.emacs.d/elpa/org-20161102/ox-latex hides /usr/local/share/emacs/25.1.50/lisp/org/ox-latex
/home/rrt/.emacs.d/elpa/org-20161102/org-eshell hides /usr/local/share/emacs/25.1.50/lisp/org/org-eshell
/home/rrt/.emacs.d/elpa/org-20161102/ox-odt hides /usr/local/share/emacs/25.1.50/lisp/org/ox-odt
/home/rrt/.emacs.d/elpa/org-20161102/ob-keys hides /usr/local/share/emacs/25.1.50/lisp/org/ob-keys
/home/rrt/.emacs.d/elpa/org-20161102/ob-ref hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ref
/home/rrt/.emacs.d/elpa/org-20161102/org-datetree hides /usr/local/share/emacs/25.1.50/lisp/org/org-datetree
/home/rrt/.emacs.d/elpa/org-20161102/ob-exp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-exp
/home/rrt/.emacs.d/elpa/org-20161102/ox-beamer hides /usr/local/share/emacs/25.1.50/lisp/org/ox-beamer
/home/rrt/.emacs.d/elpa/org-20161102/ob-emacs-lisp hides /usr/local/share/emacs/25.1.50/lisp/org/ob-emacs-lisp
/home/rrt/.emacs.d/elpa/org-20161102/ob-matlab hides /usr/local/share/emacs/25.1.50/lisp/org/ob-matlab
/home/rrt/.emacs.d/elpa/org-20161102/ob hides /usr/local/share/emacs/25.1.50/lisp/org/ob
/home/rrt/.emacs.d/elpa/org-20161102/org-indent hides /usr/local/share/emacs/25.1.50/lisp/org/org-indent
/home/rrt/.emacs.d/elpa/org-20161102/ob-perl hides /usr/local/share/emacs/25.1.50/lisp/org/ob-perl
/home/rrt/.emacs.d/elpa/org-20161102/org-habit hides /usr/local/share/emacs/25.1.50/lisp/org/org-habit
/home/rrt/.emacs.d/elpa/org-20161102/org-entities hides /usr/local/share/emacs/25.1.50/lisp/org/org-entities
/home/rrt/.emacs.d/elpa/org-20161102/org-rmail hides /usr/local/share/emacs/25.1.50/lisp/org/org-rmail
/home/rrt/.emacs.d/elpa/org-20161102/ox-md hides /usr/local/share/emacs/25.1.50/lisp/org/ox-md
/home/rrt/.emacs.d/elpa/org-20161102/ob-clojure hides /usr/local/share/emacs/25.1.50/lisp/org/ob-clojure
/home/rrt/.emacs.d/elpa/org-20161102/ob-makefile hides /usr/local/share/emacs/25.1.50/lisp/org/ob-makefile
/home/rrt/.emacs.d/elpa/org-20161102/ob-plantuml hides /usr/local/share/emacs/25.1.50/lisp/org/ob-plantuml
/home/rrt/.emacs.d/elpa/org-20161102/org-table hides /usr/local/share/emacs/25.1.50/lisp/org/org-table
/home/rrt/.emacs.d/elpa/org-20161102/org-mobile hides /usr/local/share/emacs/25.1.50/lisp/org/org-mobile
/home/rrt/.emacs.d/elpa/org-20161102/org-mhe hides /usr/local/share/emacs/25.1.50/lisp/org/org-mhe
/home/rrt/.emacs.d/elpa/org-20161102/ob-lob hides /usr/local/share/emacs/25.1.50/lisp/org/ob-lob
/home/rrt/.emacs.d/elpa/org-20161102/org-capture hides /usr/local/share/emacs/25.1.50/lisp/org/org-capture
/home/rrt/.emacs.d/elpa/org-20161102/org-version hides /usr/local/share/emacs/25.1.50/lisp/org/org-version
/home/rrt/.emacs.d/elpa/org-20161102/ob-core hides /usr/local/share/emacs/25.1.50/lisp/org/ob-core
/home/rrt/.emacs.d/elpa/org-20161102/ob-table hides /usr/local/share/emacs/25.1.50/lisp/org/ob-table
/home/rrt/.emacs.d/elpa/org-20161102/org-faces hides /usr/local/share/emacs/25.1.50/lisp/org/org-faces
/home/rrt/.emacs.d/elpa/org-20161102/org-compat hides /usr/local/share/emacs/25.1.50/lisp/org/org-compat
/home/rrt/.emacs.d/elpa/org-20161102/ox-publish hides /usr/local/share/emacs/25.1.50/lisp/org/ox-publish
/home/rrt/.emacs.d/elpa/org-20161102/org-agenda hides /usr/local/share/emacs/25.1.50/lisp/org/org-agenda
/home/rrt/.emacs.d/elpa/org-20161102/ob-maxima hides /usr/local/share/emacs/25.1.50/lisp/org/ob-maxima
/home/rrt/.emacs.d/elpa/org-20161102/ob-dot hides /usr/local/share/emacs/25.1.50/lisp/org/ob-dot
/home/rrt/.emacs.d/elpa/org-20161102/ob-python hides /usr/local/share/emacs/25.1.50/lisp/org/ob-python
/home/rrt/.emacs.d/elpa/org-20161102/org-crypt hides /usr/local/share/emacs/25.1.50/lisp/org/org-crypt
/home/rrt/.emacs.d/elpa/org-20161102/org-protocol hides /usr/local/share/emacs/25.1.50/lisp/org/org-protocol
/home/rrt/.emacs.d/elpa/org-20161102/ob-scheme hides /usr/local/share/emacs/25.1.50/lisp/org/ob-scheme
/home/rrt/.emacs.d/elpa/org-20161102/ob-awk hides /usr/local/share/emacs/25.1.50/lisp/org/ob-awk
/home/rrt/.emacs.d/elpa/org-20161102/org-w3m hides /usr/local/share/emacs/25.1.50/lisp/org/org-w3m
/home/rrt/.emacs.d/elpa/org-20161102/org-bbdb hides /usr/local/share/emacs/25.1.50/lisp/org/org-bbdb
/home/rrt/.emacs.d/elpa/org-20161102/ox-html hides /usr/local/share/emacs/25.1.50/lisp/org/ox-html
/home/rrt/.emacs.d/elpa/org-20161102/org-gnus hides /usr/local/share/emacs/25.1.50/lisp/org/org-gnus
/home/rrt/.emacs.d/elpa/org-20161102/ob-js hides /usr/local/share/emacs/25.1.50/lisp/org/ob-js
/home/rrt/.emacs.d/elpa/org-20161102/ob-mscgen hides /usr/local/share/emacs/25.1.50/lisp/org/ob-mscgen
/home/rrt/.emacs.d/elpa/org-20161102/ob-ocaml hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ocaml
/home/rrt/.emacs.d/elpa/org-20161102/ox-icalendar hides /usr/local/share/emacs/25.1.50/lisp/org/ox-icalendar
/home/rrt/.emacs.d/elpa/org-20161102/ob-gnuplot hides /usr/local/share/emacs/25.1.50/lisp/org/ob-gnuplot
/home/rrt/.emacs.d/elpa/org-20161102/org-irc hides /usr/local/share/emacs/25.1.50/lisp/org/org-irc
/home/rrt/.emacs.d/elpa/org-20161102/ob-haskell hides /usr/local/share/emacs/25.1.50/lisp/org/ob-haskell
/home/rrt/.emacs.d/elpa/org-20161102/org-docview hides /usr/local/share/emacs/25.1.50/lisp/org/org-docview
/home/rrt/.emacs.d/elpa/org-20161102/org-clock hides /usr/local/share/emacs/25.1.50/lisp/org/org-clock
/home/rrt/.emacs.d/elpa/org-20161102/ob-lilypond hides /usr/local/share/emacs/25.1.50/lisp/org/ob-lilypond
/home/rrt/.emacs.d/elpa/org-20161102/org-ctags hides /usr/local/share/emacs/25.1.50/lisp/org/org-ctags
/home/rrt/.emacs.d/elpa/org-20161102/ox hides /usr/local/share/emacs/25.1.50/lisp/org/ox
/home/rrt/.emacs.d/elpa/org-20161102/org-bibtex hides /usr/local/share/emacs/25.1.50/lisp/org/org-bibtex
/home/rrt/.emacs.d/elpa/org-20161102/org-element hides /usr/local/share/emacs/25.1.50/lisp/org/org-element
/home/rrt/.emacs.d/elpa/org-20161102/org-id hides /usr/local/share/emacs/25.1.50/lisp/org/org-id
/home/rrt/.emacs.d/elpa/org-20161102/org-archive hides /usr/local/share/emacs/25.1.50/lisp/org/org-archive
/home/rrt/.emacs.d/elpa/org-20161102/ob-octave hides /usr/local/share/emacs/25.1.50/lisp/org/ob-octave
/home/rrt/.emacs.d/elpa/org-20161102/ob-calc hides /usr/local/share/emacs/25.1.50/lisp/org/ob-calc
/home/rrt/.emacs.d/elpa/org-20161102/org-attach hides /usr/local/share/emacs/25.1.50/lisp/org/org-attach
/home/rrt/.emacs.d/elpa/org-20161102/org-src hides /usr/local/share/emacs/25.1.50/lisp/org/org-src
/home/rrt/.emacs.d/elpa/org-20161102/ob-comint hides /usr/local/share/emacs/25.1.50/lisp/org/ob-comint
/home/rrt/.emacs.d/elpa/org-20161102/ob-ledger hides /usr/local/share/emacs/25.1.50/lisp/org/ob-ledger
/home/rrt/.emacs.d/elpa/org-20161102/org-plot hides /usr/local/share/emacs/25.1.50/lisp/org/org-plot
/home/rrt/.emacs.d/elpa/org-20161102/ob-tangle hides /usr/local/share/emacs/25.1.50/lisp/org/ob-tangle
/home/rrt/.emacs.d/elpa/org-20161102/org-info hides /usr/local/share/emacs/25.1.50/lisp/org/org-info
/home/rrt/.emacs.d/elpa/org-20161102/org-macs hides /usr/local/share/emacs/25.1.50/lisp/org/org-macs
/home/rrt/.emacs.d/elpa/org-20161102/org-pcomplete hides /usr/local/share/emacs/25.1.50/lisp/org/org-pcomplete
/home/rrt/.emacs.d/elpa/org-20161102/ob-scala hides /usr/local/share/emacs/25.1.50/lisp/org/ob-scala
/home/rrt/.emacs.d/elpa/org-20161102/ob-sql hides /usr/local/share/emacs/25.1.50/lisp/org/ob-sql
/home/rrt/.emacs.d/elpa/org-20161102/org-timer hides /usr/local/share/emacs/25.1.50/lisp/org/org-timer
/home/rrt/.emacs.d/elpa/org-20161102/org-inlinetask hides /usr/local/share/emacs/25.1.50/lisp/org/org-inlinetask
/home/rrt/.emacs.d/elpa/org-20161102/ob-java hides /usr/local/share/emacs/25.1.50/lisp/org/ob-java
/home/rrt/.emacs.d/elpa/org-20161102/org-feed hides /usr/local/share/emacs/25.1.50/lisp/org/org-feed
/home/rrt/.emacs.d/elpa/org-20161102/org-colview hides /usr/local/share/emacs/25.1.50/lisp/org/org-colview
/home/rrt/.emacs.d/elpa/org-20161102/ox-texinfo hides /usr/local/share/emacs/25.1.50/lisp/org/ox-texinfo

Features:
(shadow sort emacsbug tar-mode cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs geiser-mode
geiser-xref geiser-compile geiser-debug geiser-chicken geiser-racket
geiser-guile geiser geiser-repl geiser-image geiser-company geiser-doc
geiser-menu geiser-edit geiser-completion geiser-autodoc geiser-eval
geiser-connection tq geiser-syntax geiser-log geiser-popup view
geiser-impl geiser-custom geiser-base quack cmuscheme scheme git-rebase
find-dired ido tcl linum magit-blame magit-stash magit-bisect
magit-remote magit-commit magit-sequence magit magit-apply magit-wip
magit-log magit-diff smerge-mode magit-core magit-autorevert
magit-process magit-popup magit-mode magit-git magit-section magit-utils
git-commit log-edit pcvs-util with-editor warnings term disp-table ehelp
esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups
eshell esh-module esh-mode esh-util dash make-mode debug mail-extr rect
mm-archive message sendmail rfc822 mml mml-sec mailabbrev gmm-utils
mailheader mm-decode mm-bodies mm-encode url-handlers mail-utils
network-stream nsm starttls url-http tls gnutls mail-parse rfc2231
url-gw url-cache url-auth epg ibuf-ext ibuffer grep image-file eieio-opt
tex-buf latex tex-ispell tex-style tex-info tex dbus crm texinfo
css-mode imenu debian-bug rfc2047 rfc2045 ietf-drums
debian-changelog-mode add-log debian-control-mode conf-mode nxml-uchnm
rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln
nxml-rap nxml-glyph cperl-mode cus-edit misearch multi-isearch winner
helm-command helm-elisp helm-eval edebug sh-script smie executable
sgml-mode adaptive-wrap markdown-mode vc-dispatcher vc-bzr python json
map window-margin face-remap flyspell ispell goto-addr smart-quotes
org-indent org-rmail org-mhe org-irc org-info org-gnus org-docview
doc-view subr-x jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m
flymake paredit server ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-html table ox-ascii ox-publish ox tramp-cache tramp-sh
yasnippet paren savehist recentf tree-widget wid-edit minibuf-eldef
autorevert filenotify elec-pair desktop frameset cus-start cus-load
iimage org-element avl-tree org org-macro org-footnote org-pcomplete
org-list org-faces org-entities noutline outline org-version
ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp
ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func
cal-menu calendar cal-loaddefs go-mode find-file forth-mode etags xref
project info-look speedbar sb-image ezimage dframe whitespace
bug-reference-github bug-reference vc-git diff-mode undo-tree diff
helm-fuzzier helm-mode helm-files rx image-dired tramp tramp-compat
tramp-loaddefs trampver ucs-normalize shell pcomplete format-spec
dired-x dired-aux ffap thingatpt helm-buffers helm-elscreen helm-tags
helm-bookmark helm-adaptive helm-info bookmark helm-locate helm-grep
helm-regexp helm-external helm-net browse-url xml url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util url-parse auth-source gnus-util mm-util help-fns mail-prsvr
password-cache url-vars mailcap helm-utils helm-help helm-types helm
derived helm-source eieio-compat helm-multi-match helm-lib helm-config
helm-easymenu async-bytecomp async locate finder-inf tex-site
go-mode-autoloads info edmacro kmacro windows revive init-paredit
dtrt-indent csv init-eldoc eldoc-extension advice compile comint
ansi-color ring easy-mmode .loaddefs eieio eieio-core cl-macs el-get
el-get-autoloading el-get-list-packages el-get-dependencies el-get-build
el-get-status pp el-get-methods el-get-fossil el-get-svn el-get-pacman
el-get-github-zip el-get-github-tar el-get-http-zip el-get-http-tar
el-get-hg el-get-go el-get-git-svn el-get-fink el-get-emacswiki
el-get-http el-get-notify el-get-emacsmirror el-get-github el-get-git
el-get-elpa package epg-config seq byte-opt el-get-darcs el-get-cvs
el-get-bzr el-get-brew el-get-builtin el-get-apt-get el-get-recipes
el-get-byte-compile el-get-custom cl-seq el-get-core autoload lisp-mnt
bytecomp byte-compile cl-extra help-mode easymenu cconv cl gv
cl-loaddefs pcase cl-lib dired debian-el debian-el-loaddefs org-install
dpkg-dev-el dpkg-dev-el-loaddefs devhelp user-site-loaddefs time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 1956381 334151)
 (symbols 48 69739 0)
 (miscs 40 2682 2920)
 (strings 32 330663 59534)
 (string-bytes 1 11356699)
 (vectors 16 110223)
 (vector-slots 8 2416485 101906)
 (floats 8 848 1188)
 (intervals 56 125662 1627)
 (buffers 976 176)
 (heap 1024 138492 299965))

-- 
http://rrt.sc3d.org/

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#24901: Acknowledgement (Patch to add support for curly quotes to electric-pair-mode)
       [not found] ` <handler.24901.B.147860642916617.ack@debbugs.gnu.org>
@ 2016-11-08 17:08   ` Reuben Thomas
  0 siblings, 0 replies; 12+ messages in thread
From: Reuben Thomas @ 2016-11-08 17:08 UTC (permalink / raw)
  To: 24901

[-- Attachment #1: Type: text/plain, Size: 243 bytes --]

I have now fixed smart-quotes.el to take advantage of curly quote pairing
in electric-pair-mode. The fixed version is at
https://github.com/rrthomas/smart-quotes , and has a pull request awaiting
upstream's attention!

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 516 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-11-08 12:00 bug#24901: Patch to add support for curly quotes to electric-pair-mode Reuben Thomas
       [not found] ` <handler.24901.B.147860642916617.ack@debbugs.gnu.org>
@ 2016-11-08 17:52 ` Reuben Thomas
  2016-11-28 22:24   ` Reuben Thomas
  2016-12-03  0:20 ` bug#24901: Reuben Thomas
  2 siblings, 1 reply; 12+ messages in thread
From: Reuben Thomas @ 2016-11-08 17:52 UTC (permalink / raw)
  To: 24901


[-- Attachment #1.1: Type: text/plain, Size: 135 bytes --]

I updated the patch to fix a typo (first character of sentence not in upper
case), and to add the bug number.

-- 
http://rrt.sc3d.org

[-- Attachment #1.2: Type: text/html, Size: 350 bytes --]

[-- Attachment #2: 0001-Add-support-for-curly-quotation-marks-to-electric-pa.patch --]
[-- Type: text/x-patch, Size: 1608 bytes --]

From f1da10dbcf576a13ca848132ea77c108489b9b2d Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 11:53:20 +0000
Subject: [PATCH 1/2] Add support for curly quotation marks to
 electric-pair-mode

* lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
entries for left/right single/double quotation marks. Note that this is
safe for single quotation marks, unlike with the ASCII apostrophe,
since, although the right quotation mark can be used as an apostrophe,
it is the left quotation mark that is typed to get a pair (Bug#24901).
---
 lisp/elec-pair.el | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 1162920..3658601 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -28,7 +28,9 @@
 ;;; Electric pairing.
 
 (defcustom electric-pair-pairs
-  '((?\" . ?\"))
+  '((?\" . ?\")
+    (#x201c . #x201d)               ; LEFT/RIGHT SINGLE QUOTATION MARK
+    (#x2018 . #x2019))              ; LEFT/RIGHT DOUBLE QUOTATION MARK
   "Alist of pairs that should be used regardless of major mode.
 
 Pairs of delimiters in this list are a fallback in case they have
@@ -42,7 +44,9 @@ electric-pair-pairs
 
 ;;;###autoload
 (defcustom electric-pair-text-pairs
-  '((?\" . ?\" ))
+  '((?\" . ?\" )
+    (#x201c . #x201d)               ; LEFT/RIGHT SINGLE QUOTATION MARK
+    (#x2018 . #x2019))              ; LEFT/RIGHT DOUBLE QUOTATION MARK
   "Alist of pairs that should always be used in comments and strings.
 
 Pairs of delimiters in this list are a fallback in case they have
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-11-08 17:52 ` bug#24901: Patch updated slightly Reuben Thomas
@ 2016-11-28 22:24   ` Reuben Thomas
  2016-12-02  9:45     ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Reuben Thomas @ 2016-11-28 22:24 UTC (permalink / raw)
  To: 24901


[-- Attachment #1.1: Type: text/plain, Size: 296 bytes --]

On 8 November 2016 at 17:52, Reuben Thomas <rrt@sc3d.org> wrote:

> I updated the patch to fix a typo (first character of sentence not in
> upper case), and to add the bug number.
>

​I updated the patch to use the quote characters from electric-quote-chars.

-- 
http://rrt.sc3d.org

[-- Attachment #1.2: Type: text/html, Size: 933 bytes --]

[-- Attachment #2: 0001-Add-support-for-curly-quotation-marks-to-electric-pa.patch --]
[-- Type: text/x-patch, Size: 1617 bytes --]

From 4a04639203dca2d5903fd943e5fb2e4ccc7b995f Mon Sep 17 00:00:00 2001
From: Reuben Thomas <rrt@sc3d.org>
Date: Tue, 8 Nov 2016 11:53:20 +0000
Subject: [PATCH 1/4] Add support for curly quotation marks to
 electric-pair-mode

* lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
entries for left/right single/double quotation marks, from
electric-quote-chars. Note that this is safe for single quotation marks,
unlike with the ASCII apostrophe, since, although the right quotation
mark can be used as an apostrophe, it is the left quotation mark that is
typed to get a pair (Bug#24901).
---
 lisp/elec-pair.el | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index 1162920..47d44b1 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -28,7 +28,9 @@
 ;;; Electric pairing.
 
 (defcustom electric-pair-pairs
-  '((?\" . ?\"))
+  '((?\" . ?\")
+    ((nth 0 electric-quote-chars) . (nth 1 electric-quote-chars))
+    ((nth 2 electric-quote-chars) . (nth 3 electric-quote-chars)))
   "Alist of pairs that should be used regardless of major mode.
 
 Pairs of delimiters in this list are a fallback in case they have
@@ -42,7 +44,9 @@ electric-pair-pairs
 
 ;;;###autoload
 (defcustom electric-pair-text-pairs
-  '((?\" . ?\" ))
+  '((?\" . ?\" )
+    ((nth 0 electric-quote-chars) . (nth 1 electric-quote-chars))
+    ((nth 2 electric-quote-chars) . (nth 3 electric-quote-chars)))
   "Alist of pairs that should always be used in comments and strings.
 
 Pairs of delimiters in this list are a fallback in case they have
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-11-28 22:24   ` Reuben Thomas
@ 2016-12-02  9:45     ` Eli Zaretskii
  2016-12-02 14:42       ` Reuben Thomas
  0 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2016-12-02  9:45 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 24901

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Mon, 28 Nov 2016 22:24:39 +0000
> 
> From 4a04639203dca2d5903fd943e5fb2e4ccc7b995f Mon Sep 17 00:00:00 2001
> From: Reuben Thomas <rrt@sc3d.org>
> Date: Tue, 8 Nov 2016 11:53:20 +0000
> Subject: [PATCH 1/4] Add support for curly quotation marks to
>  electric-pair-mode
> 
> * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
> entries for left/right single/double quotation marks, from
> electric-quote-chars. Note that this is safe for single quotation marks,
> unlike with the ASCII apostrophe, since, although the right quotation
> mark can be used as an apostrophe, it is the left quotation mark that is
> typed to get a pair (Bug#24901).

Can you tell more about this?  The original bug report doesn't include
any rationale, so it's hard for me to make up my mind about this
change.

In particular, I don't understand the last sentence of the log
message; can you elaborate?

Thanks.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-12-02  9:45     ` Eli Zaretskii
@ 2016-12-02 14:42       ` Reuben Thomas
  2016-12-02 15:26         ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Reuben Thomas @ 2016-12-02 14:42 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 24901

[-- Attachment #1: Type: text/plain, Size: 2263 bytes --]

On 2 December 2016 at 09:45, Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Reuben Thomas <rrt@sc3d.org>
> > Date: Mon, 28 Nov 2016 22:24:39 +0000
> >
> > From 4a04639203dca2d5903fd943e5fb2e4ccc7b995f Mon Sep 17 00:00:00 2001
> > From: Reuben Thomas <rrt@sc3d.org>
> > Date: Tue, 8 Nov 2016 11:53:20 +0000
> > Subject: [PATCH 1/4] Add support for curly quotation marks to
> >  electric-pair-mode
> >
> > * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
> > entries for left/right single/double quotation marks, from
> > electric-quote-chars. Note that this is safe for single quotation marks,
> > unlike with the ASCII apostrophe, since, although the right quotation
> > mark can be used as an apostrophe, it is the left quotation mark that is
> > typed to get a pair (Bug#24901).
>
> Can you tell more about this?  The original bug report doesn't include
> any rationale, so it's hard for me to make up my mind about this
> change.
>

​Rationale: electric-pair-mode already has support for straight
double-quote pairs, so it is logical to add support for curly double-quote
pairs. As with straight double quotes, it's logical that these be supported
everywhere. The same goes for straight single quotes, which are generally
used for the same purpose as curly double and single double quotes, that
is, quoting (in human language).

The use of electric-quote-chars means that electric-pair-mode will
automatically use whatever the user has configured for single and double
quotes.

In particular, I don't understand the last sentence of the log
> message; can you elaborate?
>

​electric-pair-mode does not by default produce pairs of straight single
quote (apostrophe). This is because it does not always make sense: a single
apostrophe is often used on its own. However, with curly single quotes, it
makes sense for electric-pair-mode to make typing a left curly quote
automatically add a corresponding right quote, as left curly quotes are not
normally used on their own. (Right single curly quotes can be used on their
own, as an apostrophe, but this is irrelevant here, as electric-pair-mode
acts when the left-hand mark is typed, not the right-hand mark).

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 3356 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-12-02 14:42       ` Reuben Thomas
@ 2016-12-02 15:26         ` Eli Zaretskii
  2016-12-02 15:40           ` Reuben Thomas
  0 siblings, 1 reply; 12+ messages in thread
From: Eli Zaretskii @ 2016-12-02 15:26 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 24901

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Fri, 2 Dec 2016 14:42:24 +0000
> Cc: 24901@debbugs.gnu.org
> 
> ​Rationale: electric-pair-mode already has support for straight double-quote pairs, so it is logical to add
> support for curly double-quote pairs. As with straight double quotes, it's logical that these be supported
> everywhere. The same goes for straight single quotes, which are generally used for the same purpose as
> curly double and single double quotes, that is, quoting (in human language).
> 
> The use of electric-quote-chars means that electric-pair-mode will automatically use whatever the user has
> configured for single and double quotes.

I see, thanks.  Is it certain that users won't want straight quotes,
but not the curly ones?  E.g., in some programming mode, perhaps?

>  In particular, I don't understand the last sentence of the log
>  message; can you elaborate?
> 
> ​electric-pair-mode does not by default produce pairs of straight single quote (apostrophe). This is because it
> does not always make sense: a single apostrophe is often used on its own. However, with curly single
> quotes, it makes sense for electric-pair-mode to make typing a left curly quote automatically add a
> corresponding right quote, as left curly quotes are not normally used on their own. (Right single curly quotes
> can be used on their own, as an apostrophe, but this is irrelevant here, as electric-pair-mode acts when the
> left-hand mark is typed, not the right-hand mark).

So electric-pair-mode is incompatible with RTL scripts.  Too bad.

Thanks for the explanations.  If it's certain that no one will want
only straight quotes (see above), I'm okay with this change.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-12-02 15:26         ` Eli Zaretskii
@ 2016-12-02 15:40           ` Reuben Thomas
  2016-12-02 15:55             ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Reuben Thomas @ 2016-12-02 15:40 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 24901

[-- Attachment #1: Type: text/plain, Size: 1350 bytes --]

On 2 December 2016 at 15:26, Eli Zaretskii <eliz@gnu.org> wrote:

>
> I see, thanks.  Is it certain that users won't want straight quotes,
> but not the curly ones?  E.g., in some programming mode, perhaps?
>

​I don't think this is a problem, because in that case, the user won't type
curly quotes. If the left curly quote (single or double) were widely used
on its own in a programming language, that would be a problem, but I don't
think it is.

The reason I added the curly quotes to electric-pair-pairs as well as
electric-pair-text-pairs is because the latter is only used in comments,
and so would not be available in text-mode, where curly quotes are useful.


> So electric-pair-mode is incompatible with RTL scripts.  Too bad.
>

It seems to work for me: if I select a Hebrew keyboard layout, type some
Hebrew letters, and then use double straight quotes, I get the expected
result. If I use curly quotes, I get a different result, but perhaps that
it because it implicitly changes the writing direction? I didn't get as far
as trying to configure electric-pair-mode to understand Hebrew quotation
marks.

I guess I should have said "open" and "close" rather than "left" and
"right".

If you're happy with my argument above about programming languages, I'll
install the change.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 2525 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-12-02 15:40           ` Reuben Thomas
@ 2016-12-02 15:55             ` Eli Zaretskii
  2016-12-02 16:04               ` Eli Zaretskii
  2016-12-02 16:09               ` Reuben Thomas
  0 siblings, 2 replies; 12+ messages in thread
From: Eli Zaretskii @ 2016-12-02 15:55 UTC (permalink / raw)
  To: Reuben Thomas; +Cc: 24901

> From: Reuben Thomas <rrt@sc3d.org>
> Date: Fri, 2 Dec 2016 15:40:58 +0000
> Cc: 24901@debbugs.gnu.org
> 
> On 2 December 2016 at 15:26, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>  So electric-pair-mode is incompatible with RTL scripts. Too bad.
> 
> It seems to work for me: if I select a Hebrew keyboard layout, type some Hebrew letters, and then use double
> straight quotes, I get the expected result. If I use curly quotes, I get a different result, but perhaps that it
> because it implicitly changes the writing direction? I didn't get as far as trying to configure electric-pair-mode to
> understand Hebrew quotation marks. 

The problem I was thinking about is that in RTL script you would type
the right quote first, to serve as the opening quote.  That's because
the quotes are not mirrored by the bidirectional reordering for
display, like parentheses are.

> I guess I should have said "open" and "close" rather than "left" and "right".

But the mode does really react to the left quote and not the open
quote.  Right?

> If you're happy with my argument above about programming languages, I'll install the change.

Please do, and thanks.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-12-02 15:55             ` Eli Zaretskii
@ 2016-12-02 16:04               ` Eli Zaretskii
  2016-12-02 16:09               ` Reuben Thomas
  1 sibling, 0 replies; 12+ messages in thread
From: Eli Zaretskii @ 2016-12-02 16:04 UTC (permalink / raw)
  To: rrt; +Cc: 24901

> Date: Fri, 02 Dec 2016 17:55:21 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 24901@debbugs.gnu.org
> 
> The problem I was thinking about is that in RTL script you would type
> the right quote first, to serve as the opening quote.  That's because
> the quotes are not mirrored by the bidirectional reordering for
> display, like parentheses are.

To be perfectly accurate: some of them are mirrored (e.g., u+00ab and
u+00bb).  But not the ones we were talking about.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901: Patch updated slightly
  2016-12-02 15:55             ` Eli Zaretskii
  2016-12-02 16:04               ` Eli Zaretskii
@ 2016-12-02 16:09               ` Reuben Thomas
  1 sibling, 0 replies; 12+ messages in thread
From: Reuben Thomas @ 2016-12-02 16:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 24901

[-- Attachment #1: Type: text/plain, Size: 1486 bytes --]

On 2 December 2016 at 15:55, Eli Zaretskii <eliz@gnu.org> wrote:

> > From: Reuben Thomas <rrt@sc3d.org>
> > Date: Fri, 2 Dec 2016 15:40:58 +0000
> > Cc: 24901@debbugs.gnu.org
> >
> > On 2 December 2016 at 15:26, Eli Zaretskii <eliz@gnu.org> wrote:
> >
> >  So electric-pair-mode is incompatible with RTL scripts. Too bad.
> >
> > It seems to work for me: if I select a Hebrew keyboard layout, type some
> Hebrew letters, and then use double
> > straight quotes, I get the expected result. If I use curly quotes, I get
> a different result, but perhaps that it
> > because it implicitly changes the writing direction? I didn't get as far
> as trying to configure electric-pair-mode to
> > understand Hebrew quotation marks.
>
> The problem I was thinking about is that in RTL script you would type
> the right quote first, to serve as the opening quote.  That's because
> the quotes are not mirrored by the bidirectional reordering for
> display, like parentheses are.
>

So, if you expect to be able to use the same quote characters without
reconfiguration according to language, then it won't work. Otherwise, you
can simply configure the quotes the other way around, and it should work
(and change the documentation of electric-quote-pairs to mention "open" and
"close" rather than "left" and "right"). But I guess this is a solved
design problem that simply needs integrating into electric-pair-mode…

Change installed.

-- 
http://rrt.sc3d.org

[-- Attachment #2: Type: text/html, Size: 2576 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#24901:
  2016-11-08 12:00 bug#24901: Patch to add support for curly quotes to electric-pair-mode Reuben Thomas
       [not found] ` <handler.24901.B.147860642916617.ack@debbugs.gnu.org>
  2016-11-08 17:52 ` bug#24901: Patch updated slightly Reuben Thomas
@ 2016-12-03  0:20 ` Reuben Thomas
  2 siblings, 0 replies; 12+ messages in thread
From: Reuben Thomas @ 2016-12-03  0:20 UTC (permalink / raw)
  To: 24901-done

[-- Attachment #1: Type: text/plain, Size: 1 bytes --]



[-- Attachment #2: Type: text/html, Size: 84 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-12-03  0:20 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-08 12:00 bug#24901: Patch to add support for curly quotes to electric-pair-mode Reuben Thomas
     [not found] ` <handler.24901.B.147860642916617.ack@debbugs.gnu.org>
2016-11-08 17:08   ` bug#24901: Acknowledgement (Patch to add support for curly quotes to electric-pair-mode) Reuben Thomas
2016-11-08 17:52 ` bug#24901: Patch updated slightly Reuben Thomas
2016-11-28 22:24   ` Reuben Thomas
2016-12-02  9:45     ` Eli Zaretskii
2016-12-02 14:42       ` Reuben Thomas
2016-12-02 15:26         ` Eli Zaretskii
2016-12-02 15:40           ` Reuben Thomas
2016-12-02 15:55             ` Eli Zaretskii
2016-12-02 16:04               ` Eli Zaretskii
2016-12-02 16:09               ` Reuben Thomas
2016-12-03  0:20 ` bug#24901: Reuben Thomas

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).