aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/derived.el5
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