Then I tried the below (which sort of works): (progn (setq minibuffer-prompt-properties '(read-only t cursor-intangible t face minibuffer-prompt)) (defun turn-on-cursor-intangible-mode () "Turns on cursor-intangible-mode." (interactive) (cursor-intangible-mode 1)) (define-globalized-minor-mode global-cursor-intangible-mode cursor-intangible-mode turn-on-cursor-intangible-mode) (global-cursor-intangible-mode 1)) Start emacs -Q and eval the above progn form. The caveat is (and I cannot understand why) is that the cursor intangibility does not kick in when you do C-x C-f for the first time! It kicks in only from the second C-x C-f onwards. The following steps try to explain what I mean (on latest build of emacs-25): 1. emacs -Q 2. Eval the above progn form 3. C-x C-f C-x h (The read-only portion also gets selected!) 4. C-g 5. C-x C-f C-x h (NOW the read-only portion does not get selected as expected) So why is the cursor-intangible-mode not enabled in the minibuffer the first time (Step 3)? Also, would it be wise to enable cursor-intangible-mode globally? If not, how can we have that mode always enabled in the minibuffer? ------------------------- On the other hand, I have tested the below as an alternate solution (probably better too as I am not enabling the mode globally) to always work: (progn (setq minibuffer-prompt-properties '(read-only t cursor-intangible t face minibuffer-prompt)) (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)) If we want emacs to "do the right thing", should the above be made default?