* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word @ 2018-03-14 0:14 Aaron Jensen 2018-03-14 1:11 ` Noam Postavsky 0 siblings, 1 reply; 12+ messages in thread From: Aaron Jensen @ 2018-03-14 0:14 UTC (permalink / raw) To: 30815 Perhaps I'm doing something wrong or there's some setting I'm missing, but this doesn't appear to work as I'd expect. 1. emacs -Q 2. M-: (modify-syntax-entry ?’ "w" text-mode-syntax-table) 3. Type (note the unicode ’): doesn’t 4. Use M-b/M-f to get to the beginning of the line and back to the end Actual behavior: M-b and M-f stop at the ’ instead of bypassing it. Compare it to doing the same thing with ?_. Expected behavior: ’ is treated as part of the word and is skipped over by M-f and M-b In GNU Emacs 26.0.91 (build 1, x86_64-apple-darwin17.4.0, NS appkit-1561.20 Version 10.13.3 (Build 17D102)) of 2018-03-09 built on aaron-mbt.local Repository revision: fbc7f9ae44a2a705e37cb7d1f9585cfaac8d13ee Windowing system distributor 'Apple', version 10.3.1561 Recent messages: mwheel-scroll: Beginning of buffer evil-backward-char: Beginning of line evil-line-move: Beginning of buffer [10 times] evil-line-move: End of buffer [11 times] evil-line-move: Beginning of buffer [24 times] nil evil-backward-char: Beginning of line [5 times] (Inserted RIGHT SINGLE QUOTATION MARK; type ' for other options) Configured using: 'configure --disable-dependency-tracking --disable-silent-rules --enable-locallisppath=/usr/local/share/emacs/site-lisp --infodir=/usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/info/emacs --prefix=/usr/local/Cellar/emacs-plus/HEAD-fbc7f9a --with-xml2 --without-dbus --with-gnutls --with-imagemagick --with-modules --with-rsvg --with-ns --disable-ns-self-contained' Configured features: JPEG RSVG IMAGEMAGICK NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS LCMS2 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Org Minor modes in effect: auto-dim-other-buffers-mode: t eros-mode: t company-statistics-mode: t company-childframe-mode: t company-mode: t evil-org-mode: t org-bullets-mode: t typo-mode: t yas-global-mode: t yas-minor-mode: t buffer-face-mode: t org-indent-mode: t magit-auto-revert-mode: t global-git-gutter+-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t recentf-mode: t desktop-save-mode: t global-wakatime-mode: t wakatime-mode: t evil-mc-mode: t hl-todo-mode: t global-spacemacs-whitespace-cleanup-mode: t spacemacs-whitespace-cleanup-mode: t ws-butler-global-mode: t ws-butler-mode: t winum-mode: t winner-mode: t pupo-mode: t purpose-mode: t volatile-highlights-mode: t global-vi-tilde-fringe-mode: t vi-tilde-fringe-mode: t save-place-mode: t savehist-mode: t projectile-rails-global-mode: t projectile-mode: t persp-mode: t global-origami-mode: t origami-mode: t Info-breadcrumbs-in-mode-line-mode: t flycheck-pos-tip-mode: t global-flycheck-mode: t flx-ido-mode: t eyebrowse-mode: t global-evil-surround-mode: t evil-surround-mode: t global-evil-search-highlight-persist: t evil-search-highlight-persist: t show-smartparens-global-mode: t show-smartparens-mode: t evil-lion-mode: t evil-escape-mode: t global-anzu-mode: t anzu-mode: t eval-sexp-fu-flash-mode: t editorconfig-mode: t diff-auto-refine-mode: t counsel-mode: t ivy-mode: t delete-selection-mode: t clean-aindent-mode: t hybrid-mode: t which-key-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t flyspell-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t global-hl-line-mode: t xterm-mouse-mode: t global-auto-revert-mode: t shell-dirtrack-mode: t ido-vertical-mode: t global-page-break-lines-mode: t page-break-lines-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t auto-fill-function: yas--auto-fill transient-mark-mode: t abbrev-mode: t Load-path shadows: /Users/aaronjensen/.emacs.d/elpa/26.0/develop/ht-20180129.1434/ht hides /Users/aaronjensen/.emacs.d/core/libs/ht /Users/aaronjensen/.emacs.d/elpa/26.0/develop/inf-ruby-20180309.433/inf-ruby hides /usr/local/share/emacs/site-lisp/ruby/inf-ruby /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-stan hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-stan /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-exp hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-exp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-J hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-J /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-eshell hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-eshell /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-emacs-lisp hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-emacs-lisp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-gnus hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-gnus /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-css hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-css /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lob hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-lob /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-forth hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-forth /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-macs hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-macs /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-version hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-version /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-scheme hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-scheme /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-abc hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-abc /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-C hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-C /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-capture hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-capture /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ref hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-ref /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-clojure hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-clojure /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-mouse hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-mouse /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ledger hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-ledger /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-ctags hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-ctags /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-entities hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-entities /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-archive hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-archive /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-screen hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-screen /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-haskell hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-haskell /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-asymptote hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-asymptote /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-mhe hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-mhe /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-table hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-table /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-keys hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-keys /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-org hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-org /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-plot hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-plot /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-awk hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-awk /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-groovy hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-groovy /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-octave hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-octave /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-faces hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-faces /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-colview hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-colview /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-R hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-R /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-timer hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-timer /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ebnf hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-ebnf /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-mobile hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-mobile /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-fortran hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-fortran /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-shell hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-shell /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-perl hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-perl /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sqlite hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-sqlite /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sed hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-sed /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-list hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-list /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ruby hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-ruby /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-eval hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-eval /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-habit hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-habit /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-clock hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-clock /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-html hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-html /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-src hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-src /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lisp hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-lisp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ditaa hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-ditaa /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-pcomplete hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-pcomplete /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-lint hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-lint /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-rmail hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-rmail /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-latex hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-latex /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sass hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-sass /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-io hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-io /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-tangle hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-tangle /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-calc hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-calc /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-java hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-java /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-icalendar hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-icalendar /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-eww hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-eww /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-md hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-md /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-beamer hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-beamer /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-element hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-element /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-protocol hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-protocol /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-mscgen hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-mscgen /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-gnuplot hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-gnuplot /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-latex hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-latex /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-id hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-id /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-vala hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-vala /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-man hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-man /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-feed hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-feed /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lua hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-lua /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-table hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-table /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-ocaml hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-ocaml /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-coq hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-coq /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-picolisp hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-picolisp /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-indent hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-indent /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-lilypond hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-lilypond /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-matlab hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-matlab /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-datetree hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-datetree /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-python hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-python /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-bbdb hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-bbdb /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-makefile hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-makefile /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-duration hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-duration /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-agenda hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-agenda /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-dot hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-dot /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-js hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-js /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-publish hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-publish /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-inlinetask hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-inlinetask /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-org hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-org /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-core hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-core /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-compat hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-compat /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-docview hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-docview /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-odt hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-odt /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-plantuml hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-plantuml /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-ascii hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-ascii /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-loaddefs hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-loaddefs /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-w3m hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-w3m /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-bibtex hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-bibtex /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-info hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-info /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-hledger hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-hledger /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-maxima hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-maxima /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-macro hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-macro /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-sql hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-sql /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-attach hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-attach /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-processing hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-processing /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ox-texinfo hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ox-texinfo /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-irc hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-irc /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-crypt hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-crypt /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-footnote hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-footnote /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/org-install hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/org-install /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-comint hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-comint /Users/aaronjensen/.emacs.d/elpa/26.0/develop/org-plus-contrib-20180312/ob-shen hides /usr/local/Cellar/emacs-plus/HEAD-fbc7f9a/share/emacs/26.0.91/lisp/org/ob-shen Features: (descr-text thai-util thai-word org-clock browse-url company-lua smartparens-lua lua-mode sh-script network-stream starttls mailalias smtpmail mwim shadow sort mail-extr emacsbug sendmail cal-iso company-tng flatui-theme magit-bookmark bookmark appt diary-lib diary-loaddefs org-duration epa-file org-agenda org-gcal org-archive request-deferred deferred request alert log4e notifications dbus xml gntp executable magithub-completion fill-column-indicator magit-gitflow two-column iso-transl eieio-opt speedbar sb-image ezimage dframe auto-dim-other-buffers pp cl-print shrink-path vc-git open-junk-file overseer pkg-info epl auto-compile packed elisp-slime-nav eros flycheck-package package-lint finder lispyville lispy iedit iedit-lib multiple-cursors-core lispy-inline avy semantic/db semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet evil-ediff ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff edebug lispy-tags nameless goto-addr auto-highlight-symbol dtrt-indent highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters editorconfig-core editorconfig-core-handle editorconfig-fnmatch company-statistics company-files company-keywords company-dabbrev-code company-dabbrev company-capf company-emoji company-emoji-list company-childframe posframe company org-eldoc evil-org org-table ob-shell ob-ruby org-bullets org-download toc-org typo yasnippet-snippets yasnippet elec-pair face-remap org-indent image-file org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader org-docview doc-view jka-compr org-bibtex bibtex org-bbdb org-w3m org-checklist org-inlinetask smartparens-org ob-elixir ob-http ob-http-mode ob-restclient restclient ox-gfm ox-md ox-reveal 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 orgit org-element avl-tree generator magithub magithub-dash magithub-notification magithub-issue-view magithub-comment magithub-repo magithub-orgs magithub-issue-tricks magithub-issue-post magithub-edit-mode magithub-ci magithub-issue magithub-label magithub-user magithub-core magithub-faces magithub-settings smartparens-markdown markdown-mode bug-reference ghub+ apiwrap apropos evil-magit git-rebase magit-gh-pulls gh gh-users gh-issues gh-pulls gh-repos gh-comments gh-gist gh-oauth gh-api logito gh-cache gh-auth gh-url url-http tls gnutls url-gw nsm gh-profile magit-obsolete magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-collab ghub url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log magit-diff smerge-mode magit-core magit-autorevert magit-process magit-margin magit-mode org org-macro org-footnote org-pcomplete org-list org-faces org-entities 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 cal-menu calendar cal-loaddefs colir smex git-gutter-fringe+ fringe-helper git-gutter+ git-commit with-editor magit-git magit-section magit-utils crm magit-popup async-bytecomp async log-edit message rmc puny rfc822 mml mml-sec epa gnus-util rmail rmail-loaddefs mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log recentf tree-widget desktop frameset wakatime-mode contextual-menubar quiet-emacs fill-or-unfill init-macos-terminal-copy-paste init-flyspell init-terminal-cursor evil-terminal-cursor-changer init-org init-magit evil-mc evil-mc-command-execute evil-mc-command-record evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo evil-mc-vars evil-mc-known-commands evil-mc-common hl-todo persistent-soft list-utils pcache eieio-base font-utils server zone xterm-color spacemacs-whitespace-cleanup ws-butler winum winner spacemacs-purpose-popwin window-purpose-x imenu-list imenu window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-switch window-purpose-layout window-purpose-core window-purpose-configuration window-purpose-utils volatile-highlights vi-tilde-fringe unicode-fonts tmux string-inflection smartparens-config smartparens-text smartparens-ruby saveplace savehist ruby-test-mode pcre2el rxt re-builder projectile-rails rake f inflections inf-ruby ruby-mode smie projectile grep ibuf-ext ibuffer ibuffer-loaddefs popwin persp-mode osx-trash origami origami-parsers s linum ivy-hydra info+ image-mode google-c-style flycheck-pos-tip pos-tip flycheck find-func flx-ido eyebrowse evil-surround evil-search-highlight-persist evil-numbers evil-lisp-state smartparens dash evil-lion evil-indent-plus evil-exchange evil-escape evil-args evil-anzu anzu eval-sexp-fu highlight font-lock+ frame-fns avoid editorconfig noutline outline doom-modeline let-alist powerline-separators color all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons memoize diff-hl vc-dir ewoc vc vc-dispatcher diff-mode counsel dired dired-loaddefs compile esh-util etags xref project swiper ivy flx delsel ivy-overlay ffap clean-aindent-mode adaptive-wrap gh-common marshal rx docker-tramp tramp-cache hybrid-mode evil-evilified-state which-key use-package use-package-ensure use-package-delight use-package-diminish use-package-bind-key bind-key use-package-core hydra lv exec-path-from-shell cus-edit cus-start cus-load evil evil-integration undo-tree diff evil-maps evil-commands reveal flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core evil-common windmove thingatpt rect evil-digraphs diminish evil-vars bind-map quelpa help-fns radix-tree package-build mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr json map lisp-mnt hl-line xt-mouse autorevert filenotify cl-extra disp-table wid-edit monokai-theme info finder-inf patch-server init-sass init-php init-html init-evil tramp tramp-compat tramp-loaddefs trampver shell pcomplete comint ansi-color ring parse-time format-spec ido-vertical-mode ido core-spacemacs core-use-package-ext core-transient-state core-micro-state core-toggle core-keybindings core-fonts-support core-themes-support core-display-init core-jump core-release-management core-custom-settings core-configuration-layer eieio-compat core-spacemacs-buffer core-funcs core-dotspacemacs ht cl help-mode warnings package url-handlers url-parse auth-source cl-seq password-cache url-vars seq eieio byte-opt bytecomp byte-compile cconv eieio-core eieio-loaddefs epg epg-config core-command-line pcase core-debug edmacro kmacro derived cl-macs gv advice profiler easymenu cl-loaddefs cl-lib page-break-lines easy-mmode core-emacs-backports subr-x time-date tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors 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 composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray 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 kqueue cocoa ns lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 1897448 368387) (symbols 48 97951 1) (miscs 40 5330 6660) (strings 32 407685 7312) (string-bytes 1 12929152) (vectors 16 157277) (vector-slots 8 3971513 227166) (floats 8 1084 1161) (intervals 56 67810 2086) (buffers 992 91)) ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 0:14 bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word Aaron Jensen @ 2018-03-14 1:11 ` Noam Postavsky 2018-03-14 2:07 ` Aaron Jensen 0 siblings, 1 reply; 12+ messages in thread From: Noam Postavsky @ 2018-03-14 1:11 UTC (permalink / raw) To: Aaron Jensen; +Cc: 30815 unarchive 10494 close 30815 merge 30815 10494 quit Aaron Jensen <aaronjensen@gmail.com> writes: > Perhaps I'm doing something wrong or there's some setting I'm missing, > but this doesn't appear to work as I'd expect. > > 1. emacs -Q > 2. M-: (modify-syntax-entry ?’ "w" text-mode-syntax-table) > 3. Type (note the unicode ’): doesn’t > 4. Use M-b/M-f to get to the beginning of the line and back to the end > > Actual behavior: > > M-b and M-f stop at the ’ instead of bypassing it. Compare it to doing > the same thing with ?_. > > Expected behavior: > > ’ is treated as part of the word and is skipped over by M-f and M-b See `(elisp) Word Motion': Characters that belong to different scripts (as defined by `char-syntax-table'), also define a word boundary and discussion in Bug#10494 which prompted the update of that section. Hmm, I think I meant `char-script-table', as `char-syntax-table' doesn't seem to exist... ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 1:11 ` Noam Postavsky @ 2018-03-14 2:07 ` Aaron Jensen 2018-03-14 2:24 ` Noam Postavsky 0 siblings, 1 reply; 12+ messages in thread From: Aaron Jensen @ 2018-03-14 2:07 UTC (permalink / raw) To: Noam Postavsky; +Cc: 30815 On Tue, Mar 13, 2018 at 6:11 PM, Noam Postavsky <npostavs@gmail.com> wrote: > See `(elisp) Word Motion': > > Characters that belong to different scripts (as defined by > `char-syntax-table'), also define a word boundary > > and discussion in Bug#10494 which prompted the update of that section. > > Hmm, I think I meant `char-script-table', as `char-syntax-table' doesn't > seem to exist... Thank you for the pointer. FWIW, I checked the docs of forward-word which only talks about buffer syntax tables. Perhaps that should either reference the Word Motion docs or it should also describe the whole picture. Also, as I understand the thread it seems like this is "by design" and there's no good/accepted way to get it to behave as I want without risking breaking unknown things. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 2:07 ` Aaron Jensen @ 2018-03-14 2:24 ` Noam Postavsky 2018-03-14 2:43 ` Aaron Jensen 2018-03-14 15:59 ` Eli Zaretskii 0 siblings, 2 replies; 12+ messages in thread From: Noam Postavsky @ 2018-03-14 2:24 UTC (permalink / raw) To: Aaron Jensen; +Cc: 30815 [-- Attachment #1: Type: text/plain, Size: 339 bytes --] Aaron Jensen <aaronjensen@gmail.com> writes: > Thank you for the pointer. FWIW, I checked the docs of forward-word > which only talks about buffer syntax tables. Perhaps that should > either reference the Word Motion docs or it should also describe the > whole picture. I think leaving the whole picture to the manual makes more sense. [-- Attachment #2: patch --] [-- Type: text/plain, Size: 1773 bytes --] From 4c0a6f91b72aae7f43a93f2d286731fcd939fecd Mon Sep 17 00:00:00 2001 From: Noam Postavsky <npostavs@gmail.com> Date: Tue, 13 Mar 2018 22:17:43 -0400 Subject: [PATCH] Improve word motion docs (Bug#30815) * doc/lispref/positions.texi (Word Motion): Fix reference to `char-script-table'. * src/syntax.c (forward-word): Add link to 'Word Motion' manual section. --- doc/lispref/positions.texi | 2 +- src/syntax.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi index 0a03e246c0..fdc8bb96ae 100644 --- a/doc/lispref/positions.texi +++ b/doc/lispref/positions.texi @@ -210,7 +210,7 @@ Word Motion modes can override that by setting up a suitable @code{find-word-boundary-function-table}, described below. Characters that belong to different scripts (as defined by -@code{char-syntax-table}), also define a word boundary +@code{char-script-table}), also define a word boundary (@pxref{Character Properties}). In any case, this function cannot move point past the boundary of the accessible portion of the buffer, or across a field boundary (@pxref{Fields}). The most common case of diff --git a/src/syntax.c b/src/syntax.c index 378064611c..d3dd79229a 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1555,7 +1555,8 @@ DEFUN ("forward-word", Fforward_word, Sforward_word, 0, 1, "^p", table, but `find-word-boundary-function-table', such as set up by `subword-mode', can change that. If a Lisp program needs to move by words determined strictly by the syntax table, it should -use `forward-word-strictly' instead. */) +use `forward-word-strictly' instead. See Info node `(elisp) Word +Motion' for details. */) (Lisp_Object arg) { Lisp_Object tmp; -- 2.11.0 [-- Attachment #3: Type: text/plain, Size: 417 bytes --] > Also, as I understand the thread it seems like this is "by design" and > there's no good/accepted way to get it to behave as I want without > risking breaking unknown things. Well, just taking the syntax entry as the sole source of truth and ignoring the character script is probably the wrong thing. Maybe there is some other way to get the wanted behaviour though. I also found Bug#13129 asking about this. ^ permalink raw reply related [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 2:24 ` Noam Postavsky @ 2018-03-14 2:43 ` Aaron Jensen 2018-03-14 16:09 ` Eli Zaretskii 2018-03-14 15:59 ` Eli Zaretskii 1 sibling, 1 reply; 12+ messages in thread From: Aaron Jensen @ 2018-03-14 2:43 UTC (permalink / raw) To: Noam Postavsky; +Cc: 30815 On Tue, Mar 13, 2018 at 7:24 PM, Noam Postavsky <npostavs@gmail.com> wrote: > I think leaving the whole picture to the manual makes more sense. Works for me. I think that patch will help. Would it be worth updating `backward-word' as well, it has essentially the same docstring. > Well, just taking the syntax entry as the sole source of truth and > ignoring the character script is probably the wrong thing. Is the case for this when two words of different scripts are next to each other? I suppose that'd make sense if they also didn't have a space between them for some reason (probably possible with some languages) > Maybe there is some other way to get the wanted behaviour though. I > also found Bug#13129 asking about this. Since the right quote is part of the General Punctuation script (afaict), what if some scripts, like that one, were treated neutrally? That is, they derived their behavior solely from the syntax entry. This is probably a bad idea for a number of reasons I don't even know I don't know. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 2:43 ` Aaron Jensen @ 2018-03-14 16:09 ` Eli Zaretskii 2018-03-14 17:43 ` Aaron Jensen 0 siblings, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2018-03-14 16:09 UTC (permalink / raw) To: Aaron Jensen; +Cc: 30815, npostavs > From: Aaron Jensen <aaronjensen@gmail.com> > Date: Tue, 13 Mar 2018 19:43:03 -0700 > Cc: 30815@debbugs.gnu.org > > Is the case for this when two words of different scripts are next to > each other? I suppose that'd make sense if they also didn't have a > space between them for some reason (probably possible with some > languages) > > > Maybe there is some other way to get the wanted behaviour though. I > > also found Bug#13129 asking about this. > > Since the right quote is part of the General Punctuation script > (afaict), what if some scripts, like that one, were treated neutrally? > That is, they derived their behavior solely from the syntax entry. > This is probably a bad idea for a number of reasons I don't even know > I don't know. We could introduce a new script, say, 'punctuation', and treat that specially. Doing that with all the characters of the 'symbol' script is probably not what users will expect, I invite you to look in charscript.el where you will see what Unicode blocks belong to 'symbol'. So we will have to decide which characters to assign to that new script. But before we discuss this issue more, I think we need to talk about the goals. E.g., is this only for text-derived modes, or also for programming modes? More generally, why did you want to change the syntax entry of ’ ? The next question is what other characters need this special handling, and how many of them are there? Armed with answers to these questions, we could then decide how to implement the requested feature, if at all. Btw, you should know that in some quarters using ’ as an apostrophe is anathema: they maintain one should use u+02B7 MODIFIER LETTER APOSTROPHE instead, in particular because it doesn't have the script disparity issue in this context. See, for example, this URL: https://tedclancy.wordpress.com/2015/06/03/which-unicode-character-should-represent-the-english-apostrophe-and-why-the-unicode-committee-is-very-wrong/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 16:09 ` Eli Zaretskii @ 2018-03-14 17:43 ` Aaron Jensen 2018-03-14 17:51 ` Eli Zaretskii 0 siblings, 1 reply; 12+ messages in thread From: Aaron Jensen @ 2018-03-14 17:43 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 30815, Noam Postavsky On Wed, Mar 14, 2018 at 9:09 AM, Eli Zaretskii <eliz@gnu.org> wrote: > But before we discuss this issue more, I think we need to talk about > the goals. E.g., is this only for text-derived modes, or also for > programming modes? More generally, why did you want to change the > syntax entry of ’ ? I wanted to change it because I started to use typo-mode: https://github.com/jorgenschaefer/typoel which automatically turned apostrophes I typed into right quotes in my org-mode files (which is where I had it enabled). I was ok with this, but I wanted them to behave like apostrophes did (not being word boundaries and all) so I went down this path. I have since unbound ' in that mode, so it just inserts a normal apostrophe. I'm aware of the "controversy" surrounding the different characters and, to be honest, I can't be bothered. Filing this bug was a light weight attempt to see if I was missing something and/or if this was unexpected. For right quote in particular, it's probably even more nuanced. One could use right quotes to close a single quoted piece of text. In which case, that right quote probably shouldn't be a "word" in the syntax table. Because of all of that, I'm totally happy just using ' like a normal person. I'm not an author writing manuscripts. > The next question is what other characters need this special handling, > and how many of them are there? I do not know. None others that I know of, but that doesn't mean much. > Btw, you should know that in some quarters using ’ as an apostrophe is > anathema: they maintain one should use u+02B7 MODIFIER LETTER > APOSTROPHE instead, in particular because it doesn't have the script > disparity issue in this context. See, for example, this URL: > > https://tedclancy.wordpress.com/2015/06/03/which-unicode-character-should-represent-the-english-apostrophe-and-why-the-unicode-committee-is-very-wrong/ This is convincing enough for me and I didn't actually know about U+02BC. That appears to work as it should out of the box. I'll open an issue on typo-mode to see if they can add support for that. I'm happy to consider this issue resolved (I know it's closed and was merged into 10494) if everyone else is after the doc changes have been merged in. Thanks. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 17:43 ` Aaron Jensen @ 2018-03-14 17:51 ` Eli Zaretskii 0 siblings, 0 replies; 12+ messages in thread From: Eli Zaretskii @ 2018-03-14 17:51 UTC (permalink / raw) To: Aaron Jensen; +Cc: 30815, npostavs > From: Aaron Jensen <aaronjensen@gmail.com> > Date: Wed, 14 Mar 2018 10:43:08 -0700 > Cc: Noam Postavsky <npostavs@gmail.com>, 30815@debbugs.gnu.org > > I wanted to change it because I started to use typo-mode: > https://github.com/jorgenschaefer/typoel which automatically turned > apostrophes I typed into right quotes in my org-mode files (which is > where I had it enabled). I was ok with this, but I wanted them to > behave like apostrophes did (not being word boundaries and all) so I > went down this path. > > I have since unbound ' in that mode, so it just inserts a normal > apostrophe. I'm aware of the "controversy" surrounding the different > characters and, to be honest, I can't be bothered. Filing this bug was > a light weight attempt to see if I was missing something and/or if > this was unexpected. > > For right quote in particular, it's probably even more nuanced. One > could use right quotes to close a single quoted piece of text. In > which case, that right quote probably shouldn't be a "word" in the > syntax table. > > Because of all of that, I'm totally happy just using ' like a normal > person. I'm not an author writing manuscripts. > > > The next question is what other characters need this special handling, > > and how many of them are there? > > I do not know. None others that I know of, but that doesn't mean much. Well, if this is just about ’ , then we could simply change its script to be 'latin'. But, as you say, that would get in the way with quoted text. > I'm happy to consider this issue resolved (I know it's closed and was > merged into 10494) if everyone else is after the doc changes have been > merged in. OK, let's wait for other comments, and consider this resolved if none come up. Thanks. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 2:24 ` Noam Postavsky 2018-03-14 2:43 ` Aaron Jensen @ 2018-03-14 15:59 ` Eli Zaretskii 2018-03-14 23:19 ` Noam Postavsky 1 sibling, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2018-03-14 15:59 UTC (permalink / raw) To: Noam Postavsky; +Cc: 30815, aaronjensen > From: Noam Postavsky <npostavs@gmail.com> > Date: Tue, 13 Mar 2018 22:24:46 -0400 > Cc: 30815@debbugs.gnu.org > > diff --git a/src/syntax.c b/src/syntax.c > index 378064611c..d3dd79229a 100644 > --- a/src/syntax.c > +++ b/src/syntax.c > @@ -1555,7 +1555,8 @@ DEFUN ("forward-word", Fforward_word, Sforward_word, 0, 1, "^p", > table, but `find-word-boundary-function-table', such as set up > by `subword-mode', can change that. If a Lisp program needs to > move by words determined strictly by the syntax table, it should > -use `forward-word-strictly' instead. */) > +use `forward-word-strictly' instead. See Info node `(elisp) Word > +Motion' for details. */) I think we should at least mention char-script-table before sending the reader to the manual. Currently we mention the syntax table, but keep complete silence regarding the script differences. Thanks. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 15:59 ` Eli Zaretskii @ 2018-03-14 23:19 ` Noam Postavsky 2018-03-15 6:39 ` Eli Zaretskii 0 siblings, 1 reply; 12+ messages in thread From: Noam Postavsky @ 2018-03-14 23:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 30815, aaronjensen [-- Attachment #1: Type: text/plain, Size: 321 bytes --] Eli Zaretskii <eliz@gnu.org> writes: > I think we should at least mention char-script-table before sending > the reader to the manual. Currently we mention the syntax table, but > keep complete silence regarding the script differences. But if we give away everything in the doc string, nobody will read the manual ;) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: patch --] [-- Type: text/x-diff, Size: 3311 bytes --] From a37a09873b962e4fc273c690b34ed9aa43d17dd6 Mon Sep 17 00:00:00 2001 From: Noam Postavsky <npostavs@gmail.com> Date: Tue, 13 Mar 2018 22:17:43 -0400 Subject: [PATCH] Improve word motion docs (Bug#30815) * doc/lispref/positions.texi (Word Motion): Fix reference to `char-script-table'. * lisp/simple.el (backward-word): * src/syntax.c (forward-word): Mention `char-script-table' and add link to the 'Word Motion' manual section. --- doc/lispref/positions.texi | 2 +- lisp/simple.el | 12 +++++++----- src/syntax.c | 9 +++++---- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi index 0a03e246c0..fdc8bb96ae 100644 --- a/doc/lispref/positions.texi +++ b/doc/lispref/positions.texi @@ -210,7 +210,7 @@ Word Motion modes can override that by setting up a suitable @code{find-word-boundary-function-table}, described below. Characters that belong to different scripts (as defined by -@code{char-syntax-table}), also define a word boundary +@code{char-script-table}), also define a word boundary (@pxref{Character Properties}). In any case, this function cannot move point past the boundary of the accessible portion of the buffer, or across a field boundary (@pxref{Fields}). The most common case of diff --git a/lisp/simple.el b/lisp/simple.el index b7ad6ebd79..d8abeb3000 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -7027,11 +7027,13 @@ backward-word With argument ARG, do this that many times. If ARG is omitted or nil, move point backward one word. -The word boundaries are normally determined by the buffer's syntax -table, but `find-word-boundary-function-table', such as set up -by `subword-mode', can change that. If a Lisp program needs to -move by words determined strictly by the syntax table, it should -use `backward-word-strictly' instead." +The word boundaries are normally determined by the buffer's +syntax table and character script (according to +`char-script-table'), but `find-word-boundary-function-table', +such as set up by `subword-mode', can change that. If a Lisp +program needs to move by words determined strictly by the syntax +table, it should use `backward-word-strictly' instead. See Info +node `(elisp) Word Motion' for details." (interactive "^p") (forward-word (- (or arg 1)))) diff --git a/src/syntax.c b/src/syntax.c index 378064611c..e54325589f 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1552,10 +1552,11 @@ DEFUN ("forward-word", Fforward_word, Sforward_word, 0, 1, "^p", noticed if `inhibit-field-text-motion' is non-nil. The word boundaries are normally determined by the buffer's syntax -table, but `find-word-boundary-function-table', such as set up -by `subword-mode', can change that. If a Lisp program needs to -move by words determined strictly by the syntax table, it should -use `forward-word-strictly' instead. */) +table and character script (according to `char-script-table'), but +`find-word-boundary-function-table', such as set up by `subword-mode', +can change that. If a Lisp program needs to move by words determined +strictly by the syntax table, it should use `forward-word-strictly' +instead. See Info node `(elisp) Word Motion' for details. */) (Lisp_Object arg) { Lisp_Object tmp; -- 2.11.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-14 23:19 ` Noam Postavsky @ 2018-03-15 6:39 ` Eli Zaretskii 2018-03-17 0:03 ` Noam Postavsky 0 siblings, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2018-03-15 6:39 UTC (permalink / raw) To: Noam Postavsky; +Cc: 30815, aaronjensen > From: Noam Postavsky <npostavs@gmail.com> > Cc: 30815@debbugs.gnu.org, aaronjensen@gmail.com > Date: Wed, 14 Mar 2018 19:19:22 -0400 > > But if we give away everything in the doc string, nobody will read the > manual ;) Right. > >From a37a09873b962e4fc273c690b34ed9aa43d17dd6 Mon Sep 17 00:00:00 2001 > From: Noam Postavsky <npostavs@gmail.com> > Date: Tue, 13 Mar 2018 22:17:43 -0400 > Subject: [PATCH] Improve word motion docs (Bug#30815) > > * doc/lispref/positions.texi (Word Motion): Fix reference to > `char-script-table'. > * lisp/simple.el (backward-word): > * src/syntax.c (forward-word): Mention `char-script-table' and add > link to the 'Word Motion' manual section. LGTM, thanks. ^ permalink raw reply [flat|nested] 12+ messages in thread
* bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word 2018-03-15 6:39 ` Eli Zaretskii @ 2018-03-17 0:03 ` Noam Postavsky 0 siblings, 0 replies; 12+ messages in thread From: Noam Postavsky @ 2018-03-17 0:03 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 30815, aaronjensen close 13129 merge 30815 13129 quit Eli Zaretskii <eliz@gnu.org> writes: >> Subject: [PATCH] Improve word motion docs (Bug#30815) > LGTM, thanks. Pushed to emacs-26. [1: 10bd3b3af8]: 2018-03-16 19:51:28 -0400 Improve word motion docs (Bug#30815) https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=10bd3b3af8acfc226acadc654298865cffc19cc9 ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-03-17 0:03 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-03-14 0:14 bug#30815: 26.0.91; unicode right single quote mark with syntax entry of w not respected by forward-word Aaron Jensen 2018-03-14 1:11 ` Noam Postavsky 2018-03-14 2:07 ` Aaron Jensen 2018-03-14 2:24 ` Noam Postavsky 2018-03-14 2:43 ` Aaron Jensen 2018-03-14 16:09 ` Eli Zaretskii 2018-03-14 17:43 ` Aaron Jensen 2018-03-14 17:51 ` Eli Zaretskii 2018-03-14 15:59 ` Eli Zaretskii 2018-03-14 23:19 ` Noam Postavsky 2018-03-15 6:39 ` Eli Zaretskii 2018-03-17 0:03 ` Noam Postavsky
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).