Mercurial > emacs
comparison lisp/comint.el @ 57419:658b7dadee60
(comint-mouse-insert-input): Remove.
(comint-insert-input): Make it work for mouse bindings.
(comint-mode-map): Move defs into the declaration.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sun, 10 Oct 2004 04:29:21 +0000 |
parents | 7cd2b62c16ce |
children | bcfb3a26a3bd |
comparison
equal
deleted
inserted
replaced
57418:3a8c458de33d | 57419:658b7dadee60 |
---|---|
1 ;;; comint.el --- general command interpreter in a window stuff | 1 ;;; comint.el --- general command interpreter in a window stuff |
2 | 2 |
3 ;; Copyright (C) 1988,90,92,93,94,95,96,97,98,99,2000,01,02,03,2004 | 3 ;; Copyright (C) 1988, 1990, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
4 ;; Free Software Foundation, Inc. | 4 ;; 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. |
5 | 5 |
6 ;; Author: Olin Shivers <shivers@cs.cmu.edu> | 6 ;; Author: Olin Shivers <shivers@cs.cmu.edu> |
7 ;; Simon Marshall <simon@gnu.org> | 7 ;; Simon Marshall <simon@gnu.org> |
8 ;; Maintainer: FSF | 8 ;; Maintainer: FSF |
9 ;; Keywords: processes | 9 ;; Keywords: processes |
183 narrowing in effect. This way you will be certain that none of | 183 narrowing in effect. This way you will be certain that none of |
184 the remaining prompts will be accidentally messed up. You may | 184 the remaining prompts will be accidentally messed up. You may |
185 wish to put something like the following in your `.emacs' file: | 185 wish to put something like the following in your `.emacs' file: |
186 | 186 |
187 \(add-hook 'comint-mode-hook | 187 \(add-hook 'comint-mode-hook |
188 '(lambda () | 188 (lambda () |
189 (define-key comint-mode-map \"\C-w\" 'comint-kill-region) | 189 (define-key comint-mode-map \"\C-w\" 'comint-kill-region) |
190 (define-key comint-mode-map [C-S-backspace] | 190 (define-key comint-mode-map [C-S-backspace] |
191 'comint-kill-whole-line))) | 191 'comint-kill-whole-line))) |
192 | 192 |
193 If you sometimes use comint-mode on text-only terminals or with `emacs-nw', | 193 If you sometimes use comint-mode on text-only terminals or with `emacs-nw', |
194 you might wish to use another binding for `comint-kill-whole-line'." | 194 you might wish to use another binding for `comint-kill-whole-line'." |
195 :type 'boolean | 195 :type 'boolean |
196 :group 'comint | 196 :group 'comint |
367 "Predicate for filtering additions to input history. | 367 "Predicate for filtering additions to input history. |
368 Takes one argument, the input. If non-nil, the input may be saved on the input | 368 Takes one argument, the input. If non-nil, the input may be saved on the input |
369 history list. Default is to save anything that isn't all whitespace.") | 369 history list. Default is to save anything that isn't all whitespace.") |
370 | 370 |
371 (defvar comint-input-filter-functions '() | 371 (defvar comint-input-filter-functions '() |
372 "Functions to call before input is sent to the process. | 372 "Special hook run before input is sent to the process. |
373 These functions get one argument, a string containing the text to send. | 373 These functions get one argument, a string containing the text to send.") |
374 | |
375 You can use `add-hook' to add functions to this list | |
376 either globally or locally.") | |
377 | 374 |
378 (defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom) | 375 (defvar comint-output-filter-functions '(comint-postoutput-scroll-to-bottom) |
379 "Functions to call after output is inserted into the buffer. | 376 "Functions to call after output is inserted into the buffer. |
380 One possible function is `comint-postoutput-scroll-to-bottom'. | 377 One possible function is `comint-postoutput-scroll-to-bottom'. |
381 These functions get one argument, a string containing the text as originally | 378 These functions get one argument, a string containing the text as originally |
409 ;; entirely, searching for uses of this variable will help to identify | 406 ;; entirely, searching for uses of this variable will help to identify |
410 ;; places that need attention. | 407 ;; places that need attention. |
411 (defcustom comint-use-prompt-regexp-instead-of-fields nil | 408 (defcustom comint-use-prompt-regexp-instead-of-fields nil |
412 "*If non-nil, use `comint-prompt-regexp' to distinguish prompts from user-input. | 409 "*If non-nil, use `comint-prompt-regexp' to distinguish prompts from user-input. |
413 If nil, then program output and user-input are given different `field' | 410 If nil, then program output and user-input are given different `field' |
414 properties, which emacs commands can use to distinguish them (in | 411 properties, which Emacs commands can use to distinguish them (in |
415 particular, common movement commands such as begining-of-line respect | 412 particular, common movement commands such as begining-of-line respect |
416 field boundaries in a natural way)." | 413 field boundaries in a natural way)." |
417 :type 'boolean | 414 :type 'boolean |
418 :group 'comint) | 415 :group 'comint) |
419 | 416 |
430 `(process-kill-without-query)'). In contrast, the `comint-mode-hook' is only | 427 `(process-kill-without-query)'). In contrast, the `comint-mode-hook' is only |
431 executed once when the buffer is created." | 428 executed once when the buffer is created." |
432 :type 'hook | 429 :type 'hook |
433 :group 'comint) | 430 :group 'comint) |
434 | 431 |
435 (defvar comint-mode-map nil) | 432 (defvar comint-mode-map |
433 (let ((map (make-sparse-keymap))) | |
434 ;; Keys: | |
435 (define-key map "\ep" 'comint-previous-input) | |
436 (define-key map "\en" 'comint-next-input) | |
437 (define-key map [C-up] 'comint-previous-input) | |
438 (define-key map [C-down] 'comint-next-input) | |
439 (define-key map "\er" 'comint-previous-matching-input) | |
440 (define-key map "\es" 'comint-next-matching-input) | |
441 (define-key map [?\C-c ?\M-r] 'comint-previous-matching-input-from-input) | |
442 (define-key map [?\C-c ?\M-s] 'comint-next-matching-input-from-input) | |
443 (define-key map "\e\C-l" 'comint-show-output) | |
444 (define-key map "\C-m" 'comint-send-input) | |
445 (define-key map "\C-d" 'comint-delchar-or-maybe-eof) | |
446 (define-key map "\C-c " 'comint-accumulate) | |
447 (define-key map "\C-c\C-x" 'comint-get-next-from-history) | |
448 (define-key map "\C-c\C-a" 'comint-bol-or-process-mark) | |
449 (define-key map "\C-c\C-u" 'comint-kill-input) | |
450 (define-key map "\C-c\C-w" 'backward-kill-word) | |
451 (define-key map "\C-c\C-c" 'comint-interrupt-subjob) | |
452 (define-key map "\C-c\C-z" 'comint-stop-subjob) | |
453 (define-key map "\C-c\C-\\" 'comint-quit-subjob) | |
454 (define-key map "\C-c\C-m" 'comint-insert-input) | |
455 (define-key map "\C-c\C-o" 'comint-delete-output) | |
456 (define-key map "\C-c\C-r" 'comint-show-output) | |
457 (define-key map "\C-c\C-e" 'comint-show-maximum-output) | |
458 (define-key map "\C-c\C-l" 'comint-dynamic-list-input-ring) | |
459 (define-key map "\C-c\C-n" 'comint-next-prompt) | |
460 (define-key map "\C-c\C-p" 'comint-previous-prompt) | |
461 (define-key map "\C-c\C-d" 'comint-send-eof) | |
462 (define-key map "\C-c\C-s" 'comint-write-output) | |
463 (define-key map "\C-c." 'comint-insert-previous-argument) | |
464 ;; Mouse Buttons: | |
465 (define-key map [mouse-2] 'comint-insert-input) | |
466 ;; Menu bars: | |
467 ;; completion: | |
468 (define-key map [menu-bar completion] | |
469 (cons "Complete" (make-sparse-keymap "Complete"))) | |
470 (define-key map [menu-bar completion complete-expand] | |
471 '("Expand File Name" . comint-replace-by-expanded-filename)) | |
472 (define-key map [menu-bar completion complete-listing] | |
473 '("File Completion Listing" . comint-dynamic-list-filename-completions)) | |
474 (define-key map [menu-bar completion complete-file] | |
475 '("Complete File Name" . comint-dynamic-complete-filename)) | |
476 (define-key map [menu-bar completion complete] | |
477 '("Complete Before Point" . comint-dynamic-complete)) | |
478 ;; Input history: | |
479 (define-key map [menu-bar inout] | |
480 (cons "In/Out" (make-sparse-keymap "In/Out"))) | |
481 (define-key map [menu-bar inout delete-output] | |
482 '("Delete Current Output Group" . comint-delete-output)) | |
483 (define-key map [menu-bar inout append-output-to-file] | |
484 '("Append Current Output Group to File" . comint-append-output-to-file)) | |
485 (define-key map [menu-bar inout write-output] | |
486 '("Write Current Output Group to File" . comint-write-output)) | |
487 (define-key map [menu-bar inout next-prompt] | |
488 '("Forward Output Group" . comint-next-prompt)) | |
489 (define-key map [menu-bar inout previous-prompt] | |
490 '("Backward Output Group" . comint-previous-prompt)) | |
491 (define-key map [menu-bar inout show-maximum-output] | |
492 '("Show Maximum Output" . comint-show-maximum-output)) | |
493 (define-key map [menu-bar inout show-output] | |
494 '("Show Current Output Group" . comint-show-output)) | |
495 (define-key map [menu-bar inout kill-input] | |
496 '("Kill Current Input" . comint-kill-input)) | |
497 (define-key map [menu-bar inout copy-input] | |
498 '("Copy Old Input" . comint-insert-input)) | |
499 (define-key map [menu-bar inout forward-matching-history] | |
500 '("Forward Matching Input..." . comint-forward-matching-input)) | |
501 (define-key map [menu-bar inout backward-matching-history] | |
502 '("Backward Matching Input..." . comint-backward-matching-input)) | |
503 (define-key map [menu-bar inout next-matching-history] | |
504 '("Next Matching Input..." . comint-next-matching-input)) | |
505 (define-key map [menu-bar inout previous-matching-history] | |
506 '("Previous Matching Input..." . comint-previous-matching-input)) | |
507 (define-key map [menu-bar inout next-matching-history-from-input] | |
508 '("Next Matching Current Input" . comint-next-matching-input-from-input)) | |
509 (define-key map [menu-bar inout previous-matching-history-from-input] | |
510 '("Previous Matching Current Input" . comint-previous-matching-input-from-input)) | |
511 (define-key map [menu-bar inout next-history] | |
512 '("Next Input" . comint-next-input)) | |
513 (define-key map [menu-bar inout previous-history] | |
514 '("Previous Input" . comint-previous-input)) | |
515 (define-key map [menu-bar inout list-history] | |
516 '("List Input History" . comint-dynamic-list-input-ring)) | |
517 (define-key map [menu-bar inout expand-history] | |
518 '("Expand History Before Point" . comint-replace-by-expanded-history)) | |
519 ;; Signals | |
520 (let ((signals-map (make-sparse-keymap "Signals"))) | |
521 (define-key map [menu-bar signals] (cons "Signals" signals-map)) | |
522 (define-key signals-map [eof] '("EOF" . comint-send-eof)) | |
523 (define-key signals-map [kill] '("KILL" . comint-kill-subjob)) | |
524 (define-key signals-map [quit] '("QUIT" . comint-quit-subjob)) | |
525 (define-key signals-map [cont] '("CONT" . comint-continue-subjob)) | |
526 (define-key signals-map [stop] '("STOP" . comint-stop-subjob)) | |
527 (define-key signals-map [break] '("BREAK" . comint-interrupt-subjob))) | |
528 ;; Put them in the menu bar: | |
529 (setq menu-bar-final-items (append '(completion inout signals) | |
530 menu-bar-final-items)) | |
531 map)) | |
436 | 532 |
437 ;; Fixme: Is this still relevant? | 533 ;; Fixme: Is this still relevant? |
438 (defvar comint-ptyp t | 534 (defvar comint-ptyp t |
439 "Non-nil if communications via pty; false if by pipe. Buffer local. | 535 "Non-nil if communications via pty; false if by pipe. Buffer local. |
440 This is to work around a bug in Emacs process signaling.") | 536 This is to work around a bug in Emacs process signaling.") |
545 (make-local-variable 'comint-file-name-quote-list) | 641 (make-local-variable 'comint-file-name-quote-list) |
546 (set (make-local-variable 'comint-accum-marker) (make-marker)) | 642 (set (make-local-variable 'comint-accum-marker) (make-marker)) |
547 (add-hook 'change-major-mode-hook 'font-lock-defontify nil t) | 643 (add-hook 'change-major-mode-hook 'font-lock-defontify nil t) |
548 ;; This behavior is not useful in comint buffers, and is annoying | 644 ;; This behavior is not useful in comint buffers, and is annoying |
549 (set (make-local-variable 'next-line-add-newlines) nil)) | 645 (set (make-local-variable 'next-line-add-newlines) nil)) |
550 | |
551 (if comint-mode-map | |
552 nil | |
553 ;; Keys: | |
554 (setq comint-mode-map (make-sparse-keymap)) | |
555 (define-key comint-mode-map "\ep" 'comint-previous-input) | |
556 (define-key comint-mode-map "\en" 'comint-next-input) | |
557 (define-key comint-mode-map [C-up] 'comint-previous-input) | |
558 (define-key comint-mode-map [C-down] 'comint-next-input) | |
559 (define-key comint-mode-map "\er" 'comint-previous-matching-input) | |
560 (define-key comint-mode-map "\es" 'comint-next-matching-input) | |
561 (define-key comint-mode-map [?\C-c ?\M-r] 'comint-previous-matching-input-from-input) | |
562 (define-key comint-mode-map [?\C-c ?\M-s] 'comint-next-matching-input-from-input) | |
563 (define-key comint-mode-map "\e\C-l" 'comint-show-output) | |
564 (define-key comint-mode-map "\C-m" 'comint-send-input) | |
565 (define-key comint-mode-map "\C-d" 'comint-delchar-or-maybe-eof) | |
566 (define-key comint-mode-map "\C-c " 'comint-accumulate) | |
567 (define-key comint-mode-map "\C-c\C-x" 'comint-get-next-from-history) | |
568 (define-key comint-mode-map "\C-c\C-a" 'comint-bol-or-process-mark) | |
569 (define-key comint-mode-map "\C-c\C-u" 'comint-kill-input) | |
570 (define-key comint-mode-map "\C-c\C-w" 'backward-kill-word) | |
571 (define-key comint-mode-map "\C-c\C-c" 'comint-interrupt-subjob) | |
572 (define-key comint-mode-map "\C-c\C-z" 'comint-stop-subjob) | |
573 (define-key comint-mode-map "\C-c\C-\\" 'comint-quit-subjob) | |
574 (define-key comint-mode-map "\C-c\C-m" 'comint-insert-input) | |
575 (define-key comint-mode-map "\C-c\C-o" 'comint-delete-output) | |
576 (define-key comint-mode-map "\C-c\C-r" 'comint-show-output) | |
577 (define-key comint-mode-map "\C-c\C-e" 'comint-show-maximum-output) | |
578 (define-key comint-mode-map "\C-c\C-l" 'comint-dynamic-list-input-ring) | |
579 (define-key comint-mode-map "\C-c\C-n" 'comint-next-prompt) | |
580 (define-key comint-mode-map "\C-c\C-p" 'comint-previous-prompt) | |
581 (define-key comint-mode-map "\C-c\C-d" 'comint-send-eof) | |
582 (define-key comint-mode-map "\C-c\C-s" 'comint-write-output) | |
583 (define-key comint-mode-map "\C-c." 'comint-insert-previous-argument) | |
584 ;; Mouse Buttons: | |
585 (define-key comint-mode-map [mouse-2] 'comint-mouse-insert-input) | |
586 ;; Menu bars: | |
587 ;; completion: | |
588 (define-key comint-mode-map [menu-bar completion] | |
589 (cons "Complete" (make-sparse-keymap "Complete"))) | |
590 (define-key comint-mode-map [menu-bar completion complete-expand] | |
591 '("Expand File Name" . comint-replace-by-expanded-filename)) | |
592 (define-key comint-mode-map [menu-bar completion complete-listing] | |
593 '("File Completion Listing" . comint-dynamic-list-filename-completions)) | |
594 (define-key comint-mode-map [menu-bar completion complete-file] | |
595 '("Complete File Name" . comint-dynamic-complete-filename)) | |
596 (define-key comint-mode-map [menu-bar completion complete] | |
597 '("Complete Before Point" . comint-dynamic-complete)) | |
598 ;; Input history: | |
599 (define-key comint-mode-map [menu-bar inout] | |
600 (cons "In/Out" (make-sparse-keymap "In/Out"))) | |
601 (define-key comint-mode-map [menu-bar inout delete-output] | |
602 '("Delete Current Output Group" . comint-delete-output)) | |
603 (define-key comint-mode-map [menu-bar inout append-output-to-file] | |
604 '("Append Current Output Group to File" . comint-append-output-to-file)) | |
605 (define-key comint-mode-map [menu-bar inout write-output] | |
606 '("Write Current Output Group to File" . comint-write-output)) | |
607 (define-key comint-mode-map [menu-bar inout next-prompt] | |
608 '("Forward Output Group" . comint-next-prompt)) | |
609 (define-key comint-mode-map [menu-bar inout previous-prompt] | |
610 '("Backward Output Group" . comint-previous-prompt)) | |
611 (define-key comint-mode-map [menu-bar inout show-maximum-output] | |
612 '("Show Maximum Output" . comint-show-maximum-output)) | |
613 (define-key comint-mode-map [menu-bar inout show-output] | |
614 '("Show Current Output Group" . comint-show-output)) | |
615 (define-key comint-mode-map [menu-bar inout kill-input] | |
616 '("Kill Current Input" . comint-kill-input)) | |
617 (define-key comint-mode-map [menu-bar inout copy-input] | |
618 '("Copy Old Input" . comint-insert-input)) | |
619 (define-key comint-mode-map [menu-bar inout forward-matching-history] | |
620 '("Forward Matching Input..." . comint-forward-matching-input)) | |
621 (define-key comint-mode-map [menu-bar inout backward-matching-history] | |
622 '("Backward Matching Input..." . comint-backward-matching-input)) | |
623 (define-key comint-mode-map [menu-bar inout next-matching-history] | |
624 '("Next Matching Input..." . comint-next-matching-input)) | |
625 (define-key comint-mode-map [menu-bar inout previous-matching-history] | |
626 '("Previous Matching Input..." . comint-previous-matching-input)) | |
627 (define-key comint-mode-map [menu-bar inout next-matching-history-from-input] | |
628 '("Next Matching Current Input" . comint-next-matching-input-from-input)) | |
629 (define-key comint-mode-map [menu-bar inout previous-matching-history-from-input] | |
630 '("Previous Matching Current Input" . comint-previous-matching-input-from-input)) | |
631 (define-key comint-mode-map [menu-bar inout next-history] | |
632 '("Next Input" . comint-next-input)) | |
633 (define-key comint-mode-map [menu-bar inout previous-history] | |
634 '("Previous Input" . comint-previous-input)) | |
635 (define-key comint-mode-map [menu-bar inout list-history] | |
636 '("List Input History" . comint-dynamic-list-input-ring)) | |
637 (define-key comint-mode-map [menu-bar inout expand-history] | |
638 '("Expand History Before Point" . comint-replace-by-expanded-history)) | |
639 ;; Signals | |
640 (define-key comint-mode-map [menu-bar signals] | |
641 (cons "Signals" (make-sparse-keymap "Signals"))) | |
642 (define-key comint-mode-map [menu-bar signals eof] | |
643 '("EOF" . comint-send-eof)) | |
644 (define-key comint-mode-map [menu-bar signals kill] | |
645 '("KILL" . comint-kill-subjob)) | |
646 (define-key comint-mode-map [menu-bar signals quit] | |
647 '("QUIT" . comint-quit-subjob)) | |
648 (define-key comint-mode-map [menu-bar signals cont] | |
649 '("CONT" . comint-continue-subjob)) | |
650 (define-key comint-mode-map [menu-bar signals stop] | |
651 '("STOP" . comint-stop-subjob)) | |
652 (define-key comint-mode-map [menu-bar signals break] | |
653 '("BREAK" . comint-interrupt-subjob)) | |
654 ;; Put them in the menu bar: | |
655 (setq menu-bar-final-items (append '(completion inout signals) | |
656 menu-bar-final-items)) | |
657 ) | |
658 | 646 |
659 (defun comint-check-proc (buffer) | 647 (defun comint-check-proc (buffer) |
660 "Return t if there is a living process associated w/buffer BUFFER. | 648 "Return t if there is a living process associated w/buffer BUFFER. |
661 Living means the status is `open', `run', or `stop'. | 649 Living means the status is `open', `run', or `stop'. |
662 BUFFER can be either a buffer or the name of one." | 650 BUFFER can be either a buffer or the name of one." |
796 changed t)) | 784 changed t)) |
797 (if changed | 785 (if changed |
798 (set-process-coding-system proc decoding encoding)) | 786 (set-process-coding-system proc decoding encoding)) |
799 proc)) | 787 proc)) |
800 | 788 |
801 (defun comint-insert-input () | 789 (defun comint-insert-input (&optional event) |
802 "In a Comint buffer, set the current input to the previous input at point." | 790 "In a Comint buffer, set the current input to the previous input at point." |
803 (interactive) | 791 (interactive (list last-input-event)) |
792 (if event (mouse-set-point event)) | |
804 (let ((pos (point))) | 793 (let ((pos (point))) |
805 (if (not (eq (get-char-property pos 'field) 'input)) | 794 (if (not (eq (get-char-property pos 'field) 'input)) |
806 ;; No input at POS, fall back to the global definition. | 795 ;; No input at POS, fall back to the global definition. |
807 (let* ((keys (this-command-keys)) | 796 (let* ((keys (this-command-keys)) |
808 (last-key (and (vectorp keys) (aref keys (1- (length keys))))) | 797 (last-key (and (vectorp keys) (aref keys (1- (length keys))))) |
816 (process-mark (get-buffer-process (current-buffer)))) | 805 (process-mark (get-buffer-process (current-buffer)))) |
817 (point)) | 806 (point)) |
818 ;; Insert the input at point | 807 ;; Insert the input at point |
819 (insert (buffer-substring-no-properties | 808 (insert (buffer-substring-no-properties |
820 (previous-single-char-property-change (1+ pos) 'field) | 809 (previous-single-char-property-change (1+ pos) 'field) |
821 (next-single-char-property-change pos 'field)))))) | 810 (next-single-char-property-change pos 'field)))))) |
822 | |
823 (defun comint-mouse-insert-input (event) | |
824 "In a Comint buffer, set the current input to the previous input you click on." | |
825 (interactive "e") | |
826 (mouse-set-point event) | |
827 (comint-insert-input)) | |
828 | 811 |
829 | 812 |
830 ;; Input history processing in a buffer | 813 ;; Input history processing in a buffer |
831 ;; =========================================================================== | 814 ;; =========================================================================== |
832 ;; Useful input history functions, courtesy of the Ergo group. | 815 ;; Useful input history functions, courtesy of the Ergo group. |
2134 "Stop the current subjob. | 2117 "Stop the current subjob. |
2135 This command also kills the pending input | 2118 This command also kills the pending input |
2136 between the process mark and point. | 2119 between the process mark and point. |
2137 | 2120 |
2138 WARNING: if there is no current subjob, you can end up suspending | 2121 WARNING: if there is no current subjob, you can end up suspending |
2139 the top-level process running in the buffer. If you accidentally do | 2122 the top-level process running in the buffer. If you accidentally do |
2140 this, use \\[comint-continue-subjob] to resume the process. (This | 2123 this, use \\[comint-continue-subjob] to resume the process. (This |
2141 is not a problem with most shells, since they ignore this signal.)" | 2124 is not a problem with most shells, since they ignore this signal.)" |
2142 (interactive) | 2125 (interactive) |
2143 (comint-skip-input) | 2126 (comint-skip-input) |
2144 (stop-process nil comint-ptyp)) | 2127 (stop-process nil comint-ptyp)) |
2145 | 2128 |
2355 (when (eq (get-text-property (1- pt) 'read-only) 'fence) | 2338 (when (eq (get-text-property (1- pt) 'read-only) 'fence) |
2356 (remove-list-of-text-properties (1- pt) pt '(read-only))))))) | 2339 (remove-list-of-text-properties (1- pt) pt '(read-only))))))) |
2357 | 2340 |
2358 (defun comint-kill-whole-line (&optional arg) | 2341 (defun comint-kill-whole-line (&optional arg) |
2359 "Kill current line, ignoring read-only and field properties. | 2342 "Kill current line, ignoring read-only and field properties. |
2360 With prefix arg, kill that many lines starting from the current line. | 2343 With prefix ARG, kill that many lines starting from the current line. |
2361 If arg is negative, kill backward. Also kill the preceding newline, | 2344 If arg is negative, kill backward. Also kill the preceding newline, |
2362 instead of the trailing one. \(This is meant to make C-x z work well | 2345 instead of the trailing one. \(This is meant to make \\[repeat] work well |
2363 with negative arguments.) | 2346 with negative arguments.) |
2364 If arg is zero, kill current line but exclude the trailing newline. | 2347 If arg is zero, kill current line but exclude the trailing newline. |
2365 The read-only status of newlines is updated with `comint-update-fence', | 2348 The read-only status of newlines is updated with `comint-update-fence', |
2366 if necessary." | 2349 if necessary." |
2367 (interactive "p") | 2350 (interactive "p") |
2503 e.g. loading or compiling a file. | 2486 e.g. loading or compiling a file. |
2504 Provides a default, if there is one, and returns the result filename. | 2487 Provides a default, if there is one, and returns the result filename. |
2505 | 2488 |
2506 See `comint-source-default' for more on determining defaults. | 2489 See `comint-source-default' for more on determining defaults. |
2507 | 2490 |
2508 PROMPT is the prompt string. PREV-DIR/FILE is the (directory . file) pair | 2491 PROMPT is the prompt string. PREV-DIR/FILE is the (directory . file) pair |
2509 from the last source processing command. SOURCE-MODES is a list of major | 2492 from the last source processing command. SOURCE-MODES is a list of major |
2510 modes used to determine what file buffers contain source files. (These | 2493 modes used to determine what file buffers contain source files. (These |
2511 two arguments are used for determining defaults). If MUSTMATCH-P is true, | 2494 two arguments are used for determining defaults). If MUSTMATCH-P is true, |
2512 then the filename reader will only accept a file that exists. | 2495 then the filename reader will only accept a file that exists. |
2513 | 2496 |
3501 ;; completion job. | 3484 ;; completion job. |
3502 | 3485 |
3503 | 3486 |
3504 (provide 'comint) | 3487 (provide 'comint) |
3505 | 3488 |
3506 ;;; arch-tag: 1793314c-09db-40be-9549-9aeae3e75164 | 3489 ;; arch-tag: 1793314c-09db-40be-9549-9aeae3e75164 |
3507 ;;; comint.el ends here | 3490 ;;; comint.el ends here |