|
From: | Tom Baker |
Subject: | bug#21652: bell chars |
Date: | Thu, 8 Oct 2015 18:55:25 -0400 |
Please excuse me if this has been suggested before for adding to Emacs.
I have a real need to have my command shells beep at me when their work is done, so I set it up so beeps are passed to the
host system.
In the function comint-carriage-motion I alter
(defun comint-carriage-motion (start end)
"Interpret carriage control characters in the region from START to END.
Translate carriage return/linefeed sequences to linefeeds.
Make single carriage returns delete to the beginning of the line.
Make backspaces delete the previous character."
to say
(defun comint-carriage-motion (start end)
"Interpret carriage control characters and bells in the region from START to END.
Translate carriage return/linefeed sequences to linefeeds.
Make single carriage returns delete to the beginning of the line.
Make backspaces delete the previous character. Pass bells through."
and the code chunk
(cond ((= ch ?\b) ; CH = BS
(delete-char 1)
(if (> (point) lbeg)
(delete-char -1)))
((= ch ?\n)
(when delete-end ; CH = LF
(if (< delete-end (point))
(delete-region lbeg delete-end))
(set-marker delete-end nil)
(setq delete-end nil))
(forward-char 1)
(setq lbeg (point)))
(t ; CH = CR
changed to
(cond ((= ch ?\b) ; CH = BS
(delete-char 1)
(if (> (point) lbeg)
(delete-char -1)))
((= ch ?\n)
(when delete-end ; CH = LF
(if (< delete-end (point))
(delete-region lbeg delete-end))
(set-marker delete-end nil)
(setq delete-end nil))
(forward-char 1)
(setq lbeg (point)))
((= ch ?\a)
(forward-char 1)
(ding)
(sit-for 0.45 t)) ; CH = BL
(t ; CH = CR
Again, please excuse me if this has been suggested as a feature before.
God's Blessings,
Tom Baker
[Prev in Thread] | Current Thread | [Next in Thread] |