[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#23387: closed (25.0.93; Unicode quote inserted in

From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#23387: closed (25.0.93; Unicode quote inserted in Python mode outside of strings)
Date: Mon, 02 May 2016 16:05:01 +0000

Your message dated Mon, 2 May 2016 09:04:18 -0700
with message-id <address@hidden>
and subject line Re: 25.0.93; Unicode quote inserted in Python mode outside of 
has caused the debbugs.gnu.org bug report #23387,
regarding 25.0.93; Unicode quote inserted in Python mode outside of strings
to be marked as done.

(If you believe you have received this mail in error, please contact

23387: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23387
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 25.0.93; Unicode quote inserted in Python mode outside of strings Date: Wed, 27 Apr 2016 16:14:57 +0200
emacs -Q
M-x electric-quote-mode
M-x customize-variable RET electric-quote-string, set it to t, save
M-x python-mode
Hit '

Expected: ' (ASCII apostrophe) is inserted because point is outside a string
Actual: ’ (Unicode quote) is inserted

This seems to happen only in Python mode, not in e.g. emacs-lisp-mode.

In GNU Emacs (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2016-04-24 built on localhost
Repository revision: 0cd2e923dba8d8c7128b0c084ce6af22069e8db5
Windowing system distributor 'The X.Org Foundation', version 11.0.11501000
System Description:     Ubuntu 14.04 LTS

Configured using:
 'configure --with-modules

Configured features:

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Python

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-quote-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-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
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Electric-Quote mode enabled
Creating customization items...
Creating customization items ...done
Resetting customization items...done
Creating customization setup...done
To install your edits, invoke [State] and choose the Set operation
Source file 
‘/usr/local/google/home/phst/ThirdParty/Emacs/lisp/progmodes/python.el’ newer 
than byte-compiled file
Can’t guess python-indent-offset, using defaults: 4
Source file ‘/usr/local/google/home/phst/ThirdParty/Emacs/lisp/dired.el’ newer 
than byte-compiled file

Load-path shadows:
None found.

(shadow sort mail-extr emacsbug message dired rfc822 mml mml-sec epg
epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils
python tramp-sh tramp tramp-compat auth-source cl-seq eieio eieio-core
cl-macs gnus-util mm-util mail-prsvr password-cache tramp-loaddefs
trampver ucs-normalize shell pcomplete format-spec advice json map seq
byte-opt gv bytecomp byte-compile cl-extra cconv comint ring ansi-color
cus-edit wid-edit thingatpt help-fns help-mode easymenu cl-loaddefs
pcase cl-lib cus-start cus-load 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
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 239874 9745)
 (symbols 48 24466 0)
 (miscs 40 400 230)
 (strings 32 29068 7264)
 (string-bytes 1 922223)
 (vectors 16 39237)
 (vector-slots 8 730263 4252)
 (floats 8 240 60)
 (intervals 56 261 0)
 (buffers 976 14)
 (heap 1024 32672 1237))

Google Germany GmbH
Erika-Mann-Straße 33
80636 München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle

Diese E-Mail ist vertraulich.  Wenn Sie nicht der richtige Adressat sind,
leiten Sie diese bitte nicht weiter, informieren Sie den Absender und löschen
Sie die E-Mail und alle Anhänge.  Vielen Dank.

This e-mail is confidential.  If you are not the right addressee please do not
forward it, please inform the sender, and please erase this e-mail including
any attachments.  Thanks.

--- End Message ---
--- Begin Message --- Subject: Re: 25.0.93; Unicode quote inserted in Python mode outside of strings Date: Mon, 2 May 2016 09:04:18 -0700 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 Thanks for the bug report and patch, but I ran into a problem with the patch. Suppose I do this:

emacs -Q
M-x electric-quote-mode
M-x customize-variable RET electric-quote-string, set it to t, save
M-x python-mode

That is, I type apostrophe-a-b-c-apostrophe in Python mode. With the patch, the buffer will contain:


The opening apostrophe is OK, but the closing apostrophe is considered to be inside a string so it is transmogrified into a right single quotation mark. A Python programmer would want both to be apostrophes.

I installed the attached patches into emacs-25 instead, as they should address this problem too. Please give it a try.

Attachment: 0001-Don-t-electrically-quote-in-Python.patch
Description: Source code patch

Attachment: 0002-Add-electric-quote-string-unit-test.patch
Description: Source code patch

--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]