XEmacs 21.4.13 "Rational FORTRAN".
[chise/xemacs-chise.git.1] / lisp / simple.el
index 89afe34..55ae786 100644 (file)
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 1985-7, 1993-5, 1997 Free Software Foundation, Inc.
 ;; Copyright (C) 1995 Tinker Systems and INS Engineering Corp.
-;; Copyright (C) 2000 Ben Wing.
+;; Copyright (C) 2000, 2001, 2002, 2003 Ben Wing.
 
 ;; Maintainer: XEmacs Development Team
 ;; Keywords: lisp, extensions, internal, dumped
@@ -298,6 +298,8 @@ With argument, join this line to following line."
            (delete-region (point) (+ (point) (length fill-prefix))))
        (fixup-whitespace))))
 
+(defalias 'join-line 'delete-indentation)
+
 (defun fixup-whitespace ()
   "Fixup white space between objects around point.
 Leave one space or none, according to the context."
@@ -1222,7 +1224,9 @@ The function takes one or two arguments.
 The first argument, TEXT, is a string containing
 the text which should be made available.
 The second, PUSH, if non-nil means this is a \"new\" kill;
-nil means appending to an \"old\" kill."
+nil means appending to an \"old\" kill.
+
+One reasonable choice is `own-clipboard' (the default)."
   :type '(radio (function-item :tag "Send to Clipboard"
                               :format "%t\n"
                               own-clipboard)
@@ -1230,7 +1234,7 @@ nil means appending to an \"old\" kill."
                (function :tag "Other"))
   :group 'killing)
 
-(defcustom interprogram-paste-function 'get-clipboard
+(defcustom interprogram-paste-function 'get-clipboard-foreign
   "Function to call to get text cut from other programs.
 
 Most window systems provide some sort of facility for cutting and
@@ -1248,10 +1252,13 @@ than Emacs has provided a string for pasting; if Emacs provided the
 most recent string, the function should return nil.  If it is
 difficult to tell whether Emacs or some other program provided the
 current string, it is probably good enough to return nil if the string
-is equal (according to `string=') to the last text Emacs provided."
+is equal (according to `string=') to the last text Emacs provided.
+
+Reasonable choices include `get-clipboard-foreign' (the default), and
+functions calling `get-selection-foreign' (q.v.)."
   :type '(radio (function-item :tag "Get from Clipboard"
                               :format "%t\n"
-                              get-clipboard)
+                              get-clipboard-foreign)
                (const :tag "None" nil)
                (function :tag "Other"))
   :group 'killing)
@@ -1981,8 +1988,12 @@ nil."
   :group 'editing-basics)
 
 (defcustom motion-keys-for-shifted-motion
-  '(left right up down home end prior next
-        kp-left kp-right kp-up kp-down kp-home kp-end kp-prior kp-next)
+  ;; meta-shift-home/end are NOT shifted motion commands.
+  '(left right up down (home) (control home) (meta control home)
+    (end) (control end) (meta control end) prior next
+    kp-left kp-right kp-up kp-down (kp-home) (control kp-home)
+    (meta control kp-home) (kp-end) (control kp-end) (meta control kp-end)
+    kp-prior kp-next)
   "*List of keys considered motion keys for the purpose of shifted selection.
 When one of these keys is pressed along with the Shift key, and the
 command invoked moves the cursor and preserves the active region (see
@@ -2003,11 +2014,20 @@ alphabetic key without problem, and you can specify the key using
 either a character or a symbol, uppercase or lowercase."
   :type '(repeat (choice (const :tag "normal cursor-pad (\"gray\") keys"
                                :inline t
-                               (left right up down home end prior next))
+                               (left
+                                right up down
+                                (home) (control home) (meta control home)
+                                (end) (control end) (meta control end)
+                                prior next))
                         (const :tag "keypad motion keys"
                                :inline t
-                               (kp-left kp-right kp-up kp-down
-                                        kp-home kp-end kp-prior kp-next))
+                               (kp-left
+                                kp-right kp-up kp-down
+                                (kp-home) (control kp-home)
+                                (meta control kp-home)
+                                (kp-end) (control kp-end)
+                                (meta control kp-end)
+                                kp-prior kp-next))
                         (const :tag "alphabetic motion keys"
                                :inline t
                                ((control b) (control f)