Merged from miles@gnu.org--gnu-2005 (patch 677)
authorKaroly Lorentey <lorentey@elte.hu>
Mon, 26 Dec 2005 03:16:59 +0000 (03:16 +0000)
committerKaroly Lorentey <lorentey@elte.hu>
Mon, 26 Dec 2005 03:16:59 +0000 (03:16 +0000)
Patches applied:

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-677
   Update from CVS

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-463

17 files changed:
1  2 
etc/TODO
lisp/cus-start.el
lisp/font-lock.el
lisp/subr.el
lisp/term/mac-win.el
mac/makefile.MPW
src/coding.c
src/coding.h
src/fontset.c
src/keyboard.c
src/macterm.c
src/macterm.h
src/termhooks.h
src/w32term.c
src/xfns.c
src/xmenu.c
src/xselect.c

diff --cc etc/TODO
Simple merge
@@@ -366,8 -393,14 +393,10 @@@ since it could result in memory overflo
                       (eq system-type 'ms-dos))
                      ((string-match "\\`w32-" (symbol-name symbol))
                       (eq system-type 'windows-nt))
 -                    ((string-match "\\`mac-" (symbol-name symbol))
 -                     (eq window-system 'mac))
++                    ((string-match "\\`mac-" (symbol-name symbol))
++                     (eq window-system 'mac))
                      ((string-match "\\`x-.*gtk" (symbol-name symbol))
 -                     (or (boundp 'gtk)
 -                         (and window-system
 -                              (not (eq window-system 'pc))
 -                              (not (eq window-system 'mac))
 -                              (not (eq system-type 'windows-nt)))))
 +                     (featurep 'gtk))
                      ((string-match "\\`x-" (symbol-name symbol))
                       (fboundp 'x-create-frame))
                      ((string-match "selection" (symbol-name symbol))
Simple merge
diff --cc lisp/subr.el
Simple merge
Simple merge
Simple merge
diff --cc src/coding.c
Simple merge
diff --cc src/coding.h
Simple merge
diff --cc src/fontset.c
Simple merge
diff --cc src/keyboard.c
@@@ -11704,58 -11373,7 +11698,61 @@@ and the minor mode maps regardless of `
                 doc: /* Alist of system-specific X windows key symbols.
  Each element should have the form (N . SYMBOL) where N is the
  numeric keysym code (sans the \"system-specific\" bit 1<<28)
 -and SYMBOL is its name.  */);
 +and SYMBOL is its name.
 +
 +`system-key-alist' has a separate binding for each display device.
 +See Info node `(elisp)Multiple displays'.  */);
 +
 +  DEFVAR_KBOARD ("local-function-key-map", Vlocal_function_key_map,
 +                 doc: /* Keymap that translates key sequences to key sequences during input.
 +This is used mainly for mapping ASCII function key sequences into
 +real Emacs function key events (symbols).
 +
 +The `read-key-sequence' function replaces any subsequence bound by
 +`local-function-key-map' with its binding.  More precisely, when the
 +active keymaps have no binding for the current key sequence but
 +`local-function-key-map' binds a suffix of the sequence to a vector or
 +string, `read-key-sequence' replaces the matching suffix with its
 +binding, and continues with the new sequence.
 +
++If the binding is a function, it is called with one argument (the prompt)
++and its return value (a key sequence) is used.
++
 +The events that come from bindings in `local-function-key-map' are not
 +themselves looked up in `local-function-key-map'.
 +
 +For example, suppose `local-function-key-map' binds `ESC O P' to [f1].
 +Typing `ESC O P' to `read-key-sequence' would return [f1].  Typing
 +`C-x ESC O P' would return [?\\C-x f1].  If [f1] were a prefix key,
 +typing `ESC O P x' would return [f1 x].
 +
 +`local-function-key-map' has a separate binding for each display
 +device.  See Info node `(elisp)Multiple displays'.  If you need to
 +define a binding on all display devices, change `function-key-map'
 +instead.  Initially, `local-function-key-map' is an empty keymap that
 +has `function-key-map' as its parent on all display devices.  */);
 +
 +  DEFVAR_LISP ("function-key-map", &Vfunction_key_map,
 +               doc: /* The parent keymap of all `local-function-key-map' instances.
 +Function key definitions that apply to all display devices should go
 +here.  If a mapping is defined in both the current
 +`local-function-key-map' binding and this variable, then the local
 +definition will take precendence.  */);
 +  Vfunction_key_map = Fmake_sparse_keymap (Qnil);
 +                    
 +  DEFVAR_KBOARD ("local-key-translation-map", Vlocal_key_translation_map,
 +             doc: /* Keymap of key translations that can override keymaps.
 +This keymap works like `function-key-map', but comes after that,
 +and its non-prefix bindings override ordinary bindings.
 +
 +`key-translation-map' has a separate binding for each display device.
 +(See Info node `(elisp)Multiple displays'.)  If you need to set a key
 +translation on all devices, change `global-key-translation-map' instead.  */);
 +
 +  DEFVAR_LISP ("key-translation-map", &Vkey_translation_map,
 +               doc: /* The parent keymap of all `local-key-translation-map' instances.
 +Key translations that apply to all display devices should go here.  */);
 +  Vkey_translation_map = Fmake_sparse_keymap (Qnil);
  
    DEFVAR_LISP ("deferred-action-list", &Vdeferred_action_list,
               doc: /* List of deferred actions to be performed at a later time.
diff --cc src/macterm.c
Simple merge
diff --cc src/macterm.h
Simple merge
diff --cc src/termhooks.h
Simple merge
diff --cc src/w32term.c
Simple merge
diff --cc src/xfns.c
Simple merge
diff --cc src/xmenu.c
@@@ -903,10 -900,10 +903,13 @@@ no quit occurs and `x-popup-menu' retur
        xpos += XINT (x);
        ypos += XINT (y);
  
 +      if (! FRAME_X_P (f))
 +        error ("Can not put X menu on non-X terminal");
++
+       XSETFRAME (Vmenu_updating_frame, f);
      }
-   Vmenu_updating_frame = Qnil;
+   else
+     Vmenu_updating_frame = Qnil;
  #endif /* HAVE_MENUS */
  
    record_unwind_protect (unuse_menu_items, Qnil);
diff --cc src/xselect.c
Simple merge