bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#21652: bell chars


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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]