]> code.delx.au - gnu-emacs/blobdiff - lisp/term.el
Avoid a compilation warning
[gnu-emacs] / lisp / term.el
index 31889a78273ef4fbf0fd038cf9947ff338915736..282dfe2ea80392bb2d881162401fb7821660c21e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; term.el --- general command interpreter in a window stuff
 
-;; Copyright (C) 1988, 1990, 1992, 1994-1995, 2001-2013 Free Software
+;; Copyright (C) 1988, 1990, 1992, 1994-1995, 2001-2014 Free Software
 ;; Foundation, Inc.
 
 ;; Author: Per Bothner <per@bothner.com>
 ;;  full advantage of this package
 ;;
 ;;  (add-hook 'term-mode-hook
-;;               (function
-;;                (lambda ()
-;;                      (setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *")
-;;                      (make-local-variable 'mouse-yank-at-point)
-;;                      (make-local-variable 'transient-mark-mode)
-;;                      (setq mouse-yank-at-point t)
-;;                      (setq transient-mark-mode nil)
-;;                      (auto-fill-mode -1)
-;;                      (setq tab-width 8 ))))
+;;           (function
+;;            (lambda ()
+;;                  (setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *")
+;;                  (setq-local mouse-yank-at-point t)
+;;                  (setq-local transient-mark-mode nil)
+;;                  (auto-fill-mode -1)
+;;                  (setq tab-width 8 ))))
 ;;
 ;;
 ;;             ----------------------------------------
@@ -974,9 +972,12 @@ is buffer-local."
   (if (and (not (featurep 'xemacs))
           (display-graphic-p)
           overflow-newline-into-fringe
+          ;; Subtract 1 from the width when any fringe has zero width,
+          ;; not just the right fringe.  Bug#18601.
+          (/= (frame-parameter nil 'left-fringe) 0)
           (/= (frame-parameter nil 'right-fringe) 0))
-      (window-width)
-    (1- (window-width))))
+      (window-body-width)
+    (1- (window-body-width))))
 
 \f
 (put 'term-mode 'mode-class 'special)
@@ -1251,17 +1252,7 @@ without any interpretation."
     (run-hooks 'mouse-leave-buffer-hook)
     (setq this-command 'yank)
     (mouse-set-point click)
-    (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")))))
+    (term-send-raw-string (gui-get-primary-selection))))
 
 (defun term-paste ()
   "Insert the last stretch of killed text at point."
@@ -2937,8 +2928,10 @@ See `term-prompt-regexp'."
                          (let ((end (string-match "\r?$" str i)))
                            (if end
                                (funcall term-command-hook
-                                        (prog1 (substring str (1+ i) end)
-                                          (setq i (match-end 0))))
+                                        (decode-coding-string
+                                         (prog1 (substring str (1+ i) end)
+                                           (setq i (match-end 0)))
+                                         locale-coding-system))
                              (setq term-terminal-parameter (substring str i))
                              (setq term-terminal-state 4)
                              (setq i str-length))))
@@ -3631,7 +3624,7 @@ all pending output has been dealt with."))
            (if (< down 0) term-scroll-start term-scroll-end))))
     (when (or (and (< down 0) (< scroll-needed 0))
              (and (> down 0) (> scroll-needed 0)))
-      (let ((save-point (copy-marker (point))) (save-top))
+      (let ((save-point (point-marker)) (save-top))
        (goto-char term-home-marker)
        (cond (term-scroll-with-delete
               (if (< down 0)
@@ -4136,8 +4129,9 @@ Typing SPC flushes the help buffer."
            (and (consp first)
                 (eq (window-buffer (posn-window (event-start first)))
                     (get-buffer "*Completions*"))
-                (eq (key-binding key) 'mouse-choose-completion)))
-         ;; If the user does mouse-choose-completion with the mouse,
+                (memq (key-binding key)
+                       '(mouse-choose-completion choose-completion))))
+         ;; If the user does choose-completion with the mouse,
          ;; execute the command, then delete the completion window.
          (progn
            (choose-completion first)