I don't know if this is a bug, but it's disappointing and inconvenient. Start emacs with -Q, and type into the *scratch* buffer these 10 characters: I ate this Now do C-a to move point to the beginning of the line. Now replace the symbol "i" with "u": M-s _ i M-% u RET ! So far, so good: we are looking at U at this which is correct. Now try to repeat the replacement: C-a M-% RET ! This changes the "i" in "this" to a u, even though that "i" isn't an independent symbol. I was hoping that it would do nothing. In GNU Emacs 25.1.1 (x86_64-unknown-linux-gnu) of 2017-01-12 built on dev-dsk-erichan-2b-i-833ca944.us-west-2.amazon.com Repository revision: f0eb70d8935be90f7c03e187c12d9b60e7214cc6 Configured using: 'configure --with-x-toolkit=no --without-x' Configured features: JPEG SOUND GPM NOTIFY LIBSELINUX LIBXML2 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Dired by name Minor modes in effect: magit-auto-revert-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t projectile-mode: t global-hl-line-mode: t savehist-mode: t shell-dirtrack-mode: t global-auto-revert-mode: t recentf-mode: t ido-everywhere: t diff-auto-refine-mode: t which-function-mode: t erc-list-mode: t erc-menu-mode: t erc-autojoin-mode: t erc-ring-mode: t erc-networks-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-match-mode: t erc-button-mode: t erc-fill-mode: t erc-stamp-mode: t erc-netsplit-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t override-global-mode: t tooltip-mode: t global-eldoc-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 buffer-read-only: t line-number-mode: t transient-mark-mode: t Recent messages: Saving file /local/home/erichan/git-repositories/work/EMSEscalationService/src/EMSEscalationService/ems_escalation_service/ticket_status_synchronizer.py... Wrote /local/home/erichan/git-repositories/work/EMSEscalationService/src/EMSEscalationService/ems_escalation_service/ticket_status_synchronizer.py Discard hunk? (y or n) y [2 times] Mark set [2 times] Replaced 6 occurrences Saving file /local/home/erichan/git-repositories/work/EMSEscalationService/src/EMSEscalationService/ems_escalation_service/ticket_status_synchronizer.py... Wrote /local/home/erichan/git-repositories/work/EMSEscalationService/src/EMSEscalationService/ems_escalation_service/ticket_status_synchronizer.py Quit compilation-arguments is ((git log -1 --oneline ; export ENVROOT=$(brazil-bootstrap --environmentType test-runtime); export BRAZIL_CONFIG="--root $ENVROOT"; $ENVROOT/bin/python -m pytest --cov-report term-missing -rsx --showlocals ) compilation-mode nil nil) compilation-arguments looks like a brazil thang; turning off font-lock-mode Load-path shadows: None found. Features: (shadow mail-extr emacsbug sendmail ruby-mode conf-mode magit-extras sh-script smie executable network-stream nsm starttls url-http url-gw url-cache url-auth disp-table url-handlers tabify man sort ispell nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs git-rebase magit-ediff compare-w find-dired twb-find-dired log-view vc vc-dispatcher tramp-cache etags xref project esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util image jka-compr ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff dired-aux wdired dabbrev yasnippet magit-obsolete magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-branch 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 magit-git crm magit-section magit-popup git-commit magit-utils log-edit message rfc822 mml mml-sec epg mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util add-log with-editor async-bytecomp async server dash ffap projectile misearch multi-isearch hl-line term/xterm xterm amz-bmds amz-shell amz-brazil-cache savehist bookmark flymake python tramp-sh tramp tramp-compat tramp-loaddefs trampver shell json map edit-list browse-kill-ring advice eww mm-url gnus gnus-ems nnheader mail-utils url-queue url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse url-vars mailcap shr dom subr-x browse-url ws-butler wat derived autorevert filenotify recentf tree-widget ido vc-git diff-mode ibuf-ext ibuffer ibuf-macs dired-x dired grep compile find-func edmacro kmacro rotate face-remap which-func imenu s ucs-normalize amz-common amz-p4 amz-auto tls gnutls erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete pcomplete comint regexp-opt ansi-color ring erc-track erc-match erc-button wid-edit erc-fill erc-stamp erc-netsplit erc-goodies erc erc-backend erc-compat format-spec auth-source cl-seq eieio eieio-core gnus-util time-date mm-util help-fns mail-prsvr password-cache thingatpt pp use-package diminish cl-macs cl bind-key easy-mmode finder-inf info tool-bar package epg-config seq byte-opt gv bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib rx mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select 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 multi-tty make-network-process emacs) Memory information: ((conses 16 593724 53943) (symbols 48 51673 0) (miscs 40 7554 4507) (strings 32 123285 13115) (string-bytes 1 3844947) (vectors 16 64681) (vector-slots 8 999591 77052) (floats 8 703 3997) (intervals 56 28388 4733) (buffers 976 125) (heap 1024 38541 3559))