Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 5617 - macro causing emacs to segfault / spew rubbish
Summary: macro causing emacs to segfault / spew rubbish
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: emacs
Version: 6.1
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Cristian Gafton
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 1999-10-06 04:01 UTC by tkhl1
Modified: 2008-05-01 15:37 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2000-02-17 00:07:04 UTC


Attachments (Terms of Use)

Description tkhl1 1999-10-06 04:01:56 UTC
I have declaration in .emacs that allows me to logout of
emacs by hitting F12:

(global-set-key [f12] "\C-x\C-c")

Hitting the hot key with a file that has been changed forces
emacs to quit with a segmentation fault or spew rubbish. In
previous versions (?), emacs would not exit but complain
that the macro was terminated by a command ringing the
bell.

This has been reported to gnu.org and a simple fix has been
found:

diff -c /home/rms/e21/src/keymap.c.\~1\~
/home/rms/e21/src/keymap.c
*** /home/rms/e21/src/keymap.c.~1~ Sun Sep 12 20:41:30 1999
--- /home/rms/e21/src/keymap.c  Tue Sep 28 15:09:35 1999
****************** 1954,1960 ****
        }
        else
        {
!         char tem[20];
          *push_key_description (XUINT (key), tem) = 0;
          return build_string (tem);
--- 1954,1960 ----
        }
        else
        {
!         char tem[30];
          *push_key_description (XUINT (key), tem) = 0;
          return build_string (tem);
****************** 2425,2431 ****
        for (c = 0; c < translate_len; c++)
        if (translate[c] != c)
          {
!           char buf[20];
            char *bufend;
            if (alternate_heading)
--- 2425,2431 ----
        for (c = 0; c < translate_len; c++)
        if (translate[c] != c)
          {
!           char buf[30];
            char *bufend;
            if (alternate_heading)

Comment 1 Cristian Gafton 2000-02-17 00:07:59 UTC
Already fixed in current rawhide


Note You need to log in before you can comment on or make changes to this bug.