GNU bug report logs - #21652
bell chars

Previous Next

Package: emacs;

Reported by: Tom Baker <tombaker17 <at> gmail.com>

Date: Thu, 8 Oct 2015 23:11:02 UTC

Severity: wishlist

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tom Baker <tombaker17 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: bell chars
Date: Thu, 8 Oct 2015 18:55:25 -0400
[Message part 1 (text/plain, inline)]
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
[Message part 2 (text/html, inline)]

This bug report was last modified 3 years and 116 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.