diff options
| -rw-r--r-- | lisp/derived.el | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/derived.el b/lisp/derived.el index a1cfe8485f8..36bf1428125 100644 --- a/lisp/derived.el +++ b/lisp/derived.el | |||
| @@ -255,8 +255,9 @@ which more-or-less shadow | |||
| 255 | (let* ((map-name (derived-mode-map-name mode)) | 255 | (let* ((map-name (derived-mode-map-name mode)) |
| 256 | (new-map (eval map-name)) | 256 | (new-map (eval map-name)) |
| 257 | (old-map (current-local-map))) | 257 | (old-map (current-local-map))) |
| 258 | (if (get map-name 'derived-mode-unmerged) | 258 | (and old-map |
| 259 | (derived-mode-merge-keymaps old-map new-map)) | 259 | (get map-name 'derived-mode-unmerged) |
| 260 | (derived-mode-merge-keymaps old-map new-map)) | ||
| 260 | (put map-name 'derived-mode-unmerged nil) | 261 | (put map-name 'derived-mode-unmerged nil) |
| 261 | (use-local-map new-map))) | 262 | (use-local-map new-map))) |
| 262 | 263 | ||