Set buffer-read-only directly.
(hide-ifdef-block): Likewise.
(show-ifdef-block): Bind inhibit-read-only; don't set buffer-read-only.
Delete bindings for C-c C-f, C-c C-b, C-c C-u, C-c C-d,
C-c C-p and C-c C-n. Move C-c C-h to C-c C-d.
(define-hide-ifdef-mode-map): Remove this code
from a function and execute it at load time.
(hide-ifdef-mode-submap): New variable holds the list of commands.
(hide-ifdef-mode-map): Set this up with a prefix key
and put it in minor-mode-map-alist.
(hide-ifdef-mode-map-before): Variable deleted.
(hide-ifdef-mode): Use force-mode-line-update.
Delete the code to manipulate keymaps.
(define-hide-ifdef-mode-map):
Pass (keymap) as KEYMAP arg to where-is-internal.