unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).