* We need to escape the remaining quotes or set text-quoting-style to `grave' on the emacs-25 branch
@ 2015-11-16 14:27 Artur Malabarba
2015-11-16 14:31 ` Artur Malabarba
0 siblings, 1 reply; 5+ messages in thread
From: Artur Malabarba @ 2015-11-16 14:27 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 925 bytes --]
First of all, let me say I'm sorry for reviving this topic, and I actually
really like how nice it looks to have curly quotes in docstrings.
That said, right now a lot of the curly quotes are false-positives, and I
keep running into them every couple of weeks. Here's an example
from js-jsx-mode:
(add-hook ’js-jsx-mode-hook #’set-jsx-indentation)
As long as these false-positives are numerous enough to be encountered
frequently, think this makes for a worse user experience than simply
keeping the old grave+straight-quote combination.
As such, it is my opinion that this (very well-intended) feature is not
quite ready for release at is.
I suggest we either fix a large portion of these false positives, or we
change the default value of text-quoting-style to `grave' on the release
branch (we can maintain the nil value on the master branch and mark this
commit so it won't be merged back).
[-- Attachment #2: Type: text/html, Size: 1073 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: We need to escape the remaining quotes or set text-quoting-style to `grave' on the emacs-25 branch
2015-11-16 14:27 We need to escape the remaining quotes or set text-quoting-style to `grave' on the emacs-25 branch Artur Malabarba
@ 2015-11-16 14:31 ` Artur Malabarba
2015-11-17 23:40 ` Paul Eggert
0 siblings, 1 reply; 5+ messages in thread
From: Artur Malabarba @ 2015-11-16 14:31 UTC (permalink / raw)
To: emacs-devel
> As long as these false-positives are numerous enough to be encountered frequently, think this makes for a worse user experience than simply keeping the old grave+straight-quote combination.
I sent this prematurely by accident. In case someone actually wants to
fix this manually I compiled of some functions and variables with
wrong quotes. The list was generated by running the following code
after requiring all available emacs features. This likely doesn't
cover all of them, but it shows that there are many.
(require 'subr-x)
(let (fun var face)
(mapatoms (lambda (s)
(when-let ((doc (ignore-errors (documentation s))))
(when (string-match " #?’" doc)
(push s fun)))
(when-let ((doc (ignore-errors (documentation-property s
'variable-documentation))))
(when (string-match " #?’" doc)
(push s var)))
(when-let ((doc (ignore-errors (documentation-property s
'face-documentation))))
(when (string-match " #?’" doc)
(push s face)))))
(vector fun var face))
And here is the list, they are more than 300 in total:
Functions:
(fortran-next-statement
ede-directory-project-p
viper-add-local-keys
display-buffer
hif-logxor-expr
vhdl-prepare-search-1
edebug-print-trace-before
vhdl-prepare-search-2
vhdl-mode
semantic-tag-components
c-basic-common-init
mh-identity-handler-attribution-verb
semantic-tag-new-package
semantic-symref-find-references-by-name
python-shell-send-region
mh-valid-view-change-operation-p
hi-lock-mode
erc-display-line
dframe-reposition-frame-emacs
ses-copy-region-helper
c-common-init
hif-parse-macro-arglist
idlwave-complete-in-buffer
mh-yank-cur-msg
hs-make-overlay
org-agenda-set-restriction-lock
idlwave-all-method-classes
verilog-insert-indices
add-new-page
framep
ses-relocate-range
semantic-symref-find-tags-by-regexp
org-babel-balanced-split
diary-mail-entries
gmm-image-load-path-for-library
flymake-get-system-include-dirs
org-babel-examplize-region
backquote-list*-function
verilog-auto-reset
byte-recompile-file
erc-restore-text-properties
hs-minor-mode
let-alist
avl-tree-mapcar
chart-bar-quickie
semantic-tag-of-type-p
hif-logand-expr
vhdl-electric-semicolon
semantic-cache-data-to-buffer
mh-image-load-path-for-library
ex-compile
speedbar-simple-group-tag-hierarchy
windmove-default-keybindings
profiler-report-render-calltree-1
semantic-symref-find-tags-by-completion
ses-yank-cells
xml-escape-string
proced-sort-interactive
epg-start-sign
semantic-cache-data-post-command-hook
widget-field-find
imap-mailbox-status-asynch
idlwave-expand-equal
ediff-check-version
semantic-tag-external-member-parent
chart-sort-matchlist
js--read-tab
locate-file
ses-relocate-formula
imenu--split
semantic-tag
vc-call-backend
string-collate-lessp
erc-update-channel-topic
semantic-symref-find-file-references-by-name
face-list-p
python-shell-send-buffer
python-info-ppss-comment-or-string-p
vhdl-template-directive-translate-on
hif-factor
feedmail-queue-reminder
ps-line-lengths
mh-identity-handler-bottom
semantic-tag-new-function
ps-line-lengths-internal
easy-mmode-define-keymap
vhdl-template-directive-translate-off
read-file-modes
org-goto
eww-restore-desktop
speedbar-insert-files-at-point
bibtex-field-re-init
image-load-path-for-library
cl-parse-integer
org-sbe
hif-logior-expr
newsticker--buffer-set-invisibility
ert-deftest
ses-range
epg-sign-string
newsticker--cache-replace-age
window-system
keypad-setup
gv-ref
idlwave-do-action
mh-variant-p
vera-prepare-search
sgml-tag
mh-identity-handler-signature
semantic-tag-new-type
python-nav-if-name-main
hif-and-expr
time-stamp-fconcat
python-syntax-comment-or-string-p
hif-muldiv-expr
edebug-print-trace-after
feedmail-confirm-addresses-hook-example
mantemp-insert-cxx-syntax
url-get-normalized-date
conf-space-mode
mh-identity-handler-top
vhdl-template-directive-synthesis-on
define-category
whitespace-mark-x
compilation--previous-directory
newsticker--cache-contains
semantic-documentation-for-tag
electric-quote-mode
smerge-diff-mine-other
url-normalize-url
rmail-movemail-variant-p
hif-define-operator
gud-expr-compound-sep
vhdl-electric-comma
eval-after-load
sh-mkword-regexpr
ses-formula-record
semantic-tag-new-code
easy-mmode-define-minor-mode
xml-node-name
hif-math
vhdl-fix-statement-region
term-read-noecho
cvs-mode-byte-compile-files
eshell-separate-commands
backquote-list*-macro
rfc2368-parse-mailto-url
verilog-mode
sql-postgres
backquote-list*
erc-define-minor-mode
ask-user-about-supersession-threat
table-capture
idlwave-all-method-keyword-classes
vc-cvs-parse-status
vhdl-electric-period
mh-identity-handler-gpg-identity
ad-map-arglists
soap-decode-date-time
hfy-face-attr-for-class
cpp-edit-write
mm-xemacs-find-mime-charset-1
semanticdb-strip-find-results
semantic-symref-find-tags-by-name
image-dired-modify-mark-on-thumb-original-file
vc-print-log-setup-buttons
simula-mode
window-deletable-p
ido-mode
sql-get-login
eshell-file-attributes
list-colors-duplicates
epg-sign-file
epg-list-keys
verilog-set-auto-endcomments
whitespace-insert-option-mark
define-minor-mode
newsticker--cache-remove
ses-create-cell-symbol
soap-warning
org-maybe-intangible
hif-token-concat
semantic-tag-new-variable
idlwave-action-and-binding
ses-check-curcell
erc-update-channel-key
hif-exprlist
hif-expr
semantic-analyze-nolongprefix-completion-at-point-function
hif-or-expr
speedbar-make-tag-line
vhdl-function-name
semantic-tag-type-superclass-protection
semantic-analyze-notc-completion-at-point-function
dframe-reposition-frame
substitute-command-keys
smerge-diff-base-mine
org-cycle-hide-inline-tasks
semanticdb-find-table-for-include
vhdl-fix-statement-buffer
cl-struct-sequence-type
semantic-symref-find-text
dframe-reposition-frame-xemacs
gnus-group-split-fancy
ses--advice-yank
calendar-day-number
vhdl-template-directive-synthesis-off
semantic-tag-alias-definition
semantic-tag-new-include
def-gdb-thread-buffer-command
js-jsx-mode
ange-ftp-copy-files-async
table-generate-source
org-babel-del-hlines
ask-user-about-lock
smerge-diff-base-other
js--forward-function-decl
icalendar--do-create-ical-alarm
semantic-find-tags-included
fortran-previous-statement
vhdl-electric-equal
def-gdb-auto-update-trigger
erc-cmd-ME\'S
f90-change-keywords
ad-substitute-tree
url-http-chunked-encoding-after-change-function)
(setq text-quoting-style nil)
Variables:
(erc-encoding-coding-alist
org-export-babel-evaluate
eshell-in-pipeline-p
semantic-flex-enable-newlines
mairix-widget-other
reftex-special-environment-functions
erc-input-ring-index
calculator-output-radix
bibtex-last-kill-command
r2b-booktitle-abbrevs
initial-window-system
hfy-default-face-def
text-mode-variant
term-completion-addsuffix
speedbar-default-position
vhdl-sensitivity-list-all
log-edit-confirm
desktop-buffer-mode-handlers
idlwave-doc-modifications-keyword
erc-track-switch-direction
normal-erase-is-backspace
comint-completion-addsuffix
ido-ignore-buffers
mm-inline-large-images
message-qmail-inject-args
sh-ancestor-alist
org-agenda-deadline-faces
hfy-display-class
vhdl-font-lock-syntactic-keywords
verilog-auto-endcomments
minibuffer-frame-alist
vhdl-clock-edge-condition
feedmail-spray-address-fiddle-plex-list
ps-left-header
tempo-insert-string-functions
proced-grammar-alist
ediff-grab-mouse
ediff-coding-system-for-read
erc-channel-modes
refer-bib-directory
woman-emulate-tbl
speedbar-query-confirmation-method
eww-restore-desktop
idlwave-shell-debug-modifiers
pascal-auto-lineup
frame-background-mode
ses-paramlines-plist
calculator-unary-style
ses-paramfmt-plist
tramp-syntax
imap-enable-exchange-bug-workaround
newsticker-select-item-hook
iswitchb-buffer-ignore
woman-if-conditions-true
window-system
idlwave-abbrev-change-case
calculator-input-radix
vhdl-project-alist
hs-headline
ido-create-new-buffer
ff-search-directories
ses-relocate-return
js--plain-method-re
reftex-cite-format
speedbar-select-frame-method
compilation--previous-directory-cache
message-cite-reply-position
f90-auto-keyword-case
calendar-date-display-form
log-edit-setup-invert
url-basic-auth-storage
ido-enter-matching-directory
erc-track-priority-faces-only
r2b-journal-abbrevs
gdb-display-io-nopopup
mh-identity-list
tab-stop-list
r2b-proceedings-list
highlight-changes-global-modes
vc-cvs-sticky-tag-display
tex-alt-dvi-print-command
desktop-minor-mode-handlers
erc-log-matches-flag
filesets-menu-ensure-use-cached
semantic-flex-enable-whitespace
ps-left-footer
verilog-auto-save-policy
erc-track-exclude-types
initial-frame-alist
rmail-header-style
url-digest-auth-storage
vhdl-doc-release-notes
idlwave-shell-command-line-options
org-list-demote-modify-bullet
rcirc-decode-coding-system
ibuffer-formats
feedmail-from-line
mh-identity-handlers
cperl-electric-lbrace-space
newsticker-select-feed-hook
bdf-directory-list
pr-setting-database
viper-SEP-char-class
newsticker--cache
erc-button-alist
byte-optimize-log
ede-auto-add-method
erc-fill-static-center
woman-dired-keys
hashcash-extra-generate-parameters
reftex-auto-recenter-toc)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: We need to escape the remaining quotes or set text-quoting-style to `grave' on the emacs-25 branch
2015-11-16 14:31 ` Artur Malabarba
@ 2015-11-17 23:40 ` Paul Eggert
2015-11-18 10:43 ` Artur Malabarba
0 siblings, 1 reply; 5+ messages in thread
From: Paul Eggert @ 2015-11-17 23:40 UTC (permalink / raw)
To: Artur Malabarba, emacs-devel
On 11/16/2015 06:31 AM, Artur Malabarba wrote:
> In case someone actually wants to
> fix this manually I compiled of some functions and variables with
> wrong quotes. The list was generated by running the following code
> after requiring all available emacs features.
Thanks, I went through that list and fixed all the problems I found, in
emacs-25 commit ac16149ba470ae8a625d42a61adbb6e84254c675.
Can you give me the method you used to require all available Emacs
features? I can then try running your code on my copy of Emacs, to
double-check these changes. Many (most?) of the changes are for
longstanding docstring glitches that should be fixed regardless of
text-quoting-style, but it's good to fix these glitches while in the
neighborhood.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: We need to escape the remaining quotes or set text-quoting-style to `grave' on the emacs-25 branch
2015-11-17 23:40 ` Paul Eggert
@ 2015-11-18 10:43 ` Artur Malabarba
2015-11-18 17:20 ` Paul Eggert
0 siblings, 1 reply; 5+ messages in thread
From: Artur Malabarba @ 2015-11-18 10:43 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel
2015-11-17 23:40 GMT+00:00 Paul Eggert <eggert@cs.ucla.edu>:
> On 11/16/2015 06:31 AM, Artur Malabarba wrote:
>>
>> In case someone actually wants to
>> fix this manually I compiled of some functions and variables with
>> wrong quotes. The list was generated by running the following code
>> after requiring all available emacs features.
>
>
> Thanks, I went through that list and fixed all the problems I found, in
> emacs-25 commit ac16149ba470ae8a625d42a61adbb6e84254c675.
Nice. Thanks for all you effort on this, Paul.
> Can you give me the method you used to require all available Emacs features?
I did this and it seemed to work.
(require 'finder)
(require 'cl-lib)
(require 'map)
(mapc (lambda (f) (require f nil t))
(cl-remove-duplicates (apply #'append (map-values finder-keywords-hash))))
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: We need to escape the remaining quotes or set text-quoting-style to `grave' on the emacs-25 branch
2015-11-18 10:43 ` Artur Malabarba
@ 2015-11-18 17:20 ` Paul Eggert
0 siblings, 0 replies; 5+ messages in thread
From: Paul Eggert @ 2015-11-18 17:20 UTC (permalink / raw)
To: Artur Malabarba; +Cc: emacs-devel
On 11/18/2015 02:43 AM, Artur Malabarba wrote:
> I did this and it seemed to work.
Thanks, I used that recipe to do another pass through the Elisp sources
and fixed the problems that I found, in emacs-25 commit
bb4303c536a2ac5fe683a711ef8072074f77670e.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-11-18 17:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-16 14:27 We need to escape the remaining quotes or set text-quoting-style to `grave' on the emacs-25 branch Artur Malabarba
2015-11-16 14:31 ` Artur Malabarba
2015-11-17 23:40 ` Paul Eggert
2015-11-18 10:43 ` Artur Malabarba
2015-11-18 17:20 ` Paul Eggert
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).