X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/14beddf4711854b01d400f36166dc71eb39435bb..4ee88440781304fc7003d51e363c3e3a5cc2e8fd:/lisp/term.el diff --git a/lisp/term.el b/lisp/term.el index ea419234e0..361ff68539 100644 --- a/lisp/term.el +++ b/lisp/term.el @@ -762,11 +762,13 @@ Buffer local variable.") "magenta3" "cyan3" "white"]) ;; Inspiration came from comint.el -mm -(defvar term-buffer-maximum-size 2048 - "*The maximum size in lines for term buffers. +(defcustom term-buffer-maximum-size 2048 + "The maximum size in lines for term buffers. Term buffers are truncated from the top to be no greater than this number. Notice that a setting of 0 means \"don't truncate anything\". This variable -is buffer-local.") +is buffer-local." + :group 'term + :type 'integer) (when (featurep 'xemacs) (defvar term-terminal-menu @@ -1225,9 +1227,9 @@ without any interpretation." (make-string 1 char) (format "\e%c" char))))) -(defun term-mouse-paste (click arg) - "Insert the last stretch of killed text at the position clicked on." - (interactive "e\nP") +(defun term-mouse-paste (click) + "Insert the primary selection at the position clicked on." + (interactive "e") (if (featurep 'xemacs) (term-send-raw-string (or (condition-case () (x-get-selection) (error ())) @@ -1236,10 +1238,17 @@ without any interpretation." (run-hooks 'mouse-leave-buffer-hook) (setq this-command 'yank) (mouse-set-point click) - (term-send-raw-string (current-kill (cond - ((listp arg) 0) - ((eq arg '-) -1) - (t (1- arg))))))) + (term-send-raw-string + (or (cond ; From `mouse-yank-primary': + ((eq system-type 'windows-nt) + (or (x-get-selection 'PRIMARY) + (x-get-selection-value))) + ((fboundp 'x-get-selection-value) + (or (x-get-selection-value) + (x-get-selection 'PRIMARY))) + (t + (x-get-selection 'PRIMARY))) + (error "No selection is available"))))) (defun term-paste () "Insert the last stretch of killed text at point." @@ -2209,9 +2218,11 @@ Security bug: your string can still be temporarily recovered with ;;; Low-level process communication -(defvar term-input-chunk-size 512 - "*Long inputs send to term processes are broken up into chunks of this size. -If your process is choking on big inputs, try lowering the value.") +(defcustom term-input-chunk-size 512 + "Long inputs send to term processes are broken up into chunks of this size. +If your process is choking on big inputs, try lowering the value." + :group 'term + :type 'integer) (defun term-send-string (proc str) "Send to PROC the contents of STR as input. @@ -3909,27 +3920,38 @@ This is a good place to put keybindings.") ;; Commands like this are fine things to put in load hooks if you ;; want them present in specific modes. -(defvar term-completion-autolist nil - "*If non-nil, automatically list possibilities on partial completion. -This mirrors the optional behavior of tcsh.") +(defcustom term-completion-autolist nil + "If non-nil, automatically list possibilities on partial completion. +This mirrors the optional behavior of tcsh." + :group 'term + :type 'boolean) -(defvar term-completion-addsuffix t - "*If non-nil, add a `/' to completed directories, ` ' to file names. +(defcustom term-completion-addsuffix t + "If non-nil, add a `/' to completed directories, ` ' to file names. If a cons pair, it should be of the form (DIRSUFFIX . FILESUFFIX) where DIRSUFFIX and FILESUFFIX are strings added on unambiguous or exact -completion. This mirrors the optional behavior of tcsh.") +completion. This mirrors the optional behavior of tcsh." + :group 'term + :type '(choice (const :tag "No suffix" nil) + (cons (string :tag "dirsuffix") (string :tag "filesuffix")) + (other :tag "Suffix" t))) -(defvar term-completion-recexact nil - "*If non-nil, use shortest completion if characters cannot be added. +(defcustom term-completion-recexact nil + "If non-nil, use shortest completion if characters cannot be added. This mirrors the optional behavior of tcsh. -A non-nil value is useful if `term-completion-autolist' is non-nil too.") +A non-nil value is useful if `term-completion-autolist' is non-nil too." + :group 'term + :type 'boolean) -(defvar term-completion-fignore nil - "*List of suffixes to be disregarded during file completion. +(defcustom term-completion-fignore nil + "List of suffixes to be disregarded during file completion. This mirrors the optional behavior of bash and tcsh. -Note that this applies to `term-dynamic-complete-filename' only.") +Note that this applies to `term-dynamic-complete-filename' only." + :group 'term + :type '(choice (const nil) + (repeat :tag "List of suffixes" string))) (defvar term-file-name-prefix "" "Prefix prepended to absolute file names taken from process input. @@ -4239,8 +4261,8 @@ special identifiers such as COM1." (setq x (sort (copy-sequence serial-speed-history) - '(lambda (a b) (when (and (stringp a) (stringp b)) - (> (string-to-number a) (string-to-number b)))))) + (lambda (a b) (when (and (stringp a) (stringp b)) + (> (string-to-number a) (string-to-number b)))))) (dolist (i x) (when (not (equal i (car y))) (push i y))) y))