1

While trying to edit an awk file with emacs 28.2 its not self-inserting all charcaters, but trying to evaluate certain keystrokes! For example if I press 3 emacs sees C-u 3-! Pressing a causes it to query me for Cscope Initial Directory! Clearly some mode has been enabled that I didn't ask for and don't want!

Looking at modes (C-h m) I see:

Enabled minor modes: Abbrev Auto-Composition Auto-Compression
Auto-Encryption Blink-Cursor Column-Number Cscope
Display-Fill-Column-Indicator Electric-Indent Engine File-Name-Shadow
Font-Lock Global-Auto-Revert Global-Edit-Server-Edit Global-Eldoc
Global-Font-Lock Global-Undo-Tree Hs Indent-Tabs Line-Number
Mac-Mouse-Wheel Menu-Bar Override-Global Ruler Shell-Dirtrack
Show-Paren Tooltip Transient-Mark Undo-Tree Which-Function Winner

(Information about these minor modes follows the major mode info.)

AWK//l mode defined in ‘cc-mode.el’:
Major mode for editing AWK code.
To submit a problem report, enter ‘M-x c-submit-bug-report’ from an
‘awk-mode’ buffer.  This automatically sets up a mail buffer with version
information already added.  You just need to add a description of the
problem, including a reproducible test case, and send the message.

But what enabled AWK//l mode? It's not in auto-mode-alist!

For the moment my workaround is to use find-file-literally.

M-x c-submit-bug-report is also failing - possibly I need to update org-mode - TBC.

shynur
  • 4,065
  • 1
  • 3
  • 23
alls0rts
  • 346
  • 3
  • 9
  • 1
    What does Org mode have to do with `c-submit-bug-report`? As for `autto-mode-alist`, it has an entry for `awk` that invoked `awk-mode`: why it shows up as `AWK//l` on the mode line I cannot guess, but I'm pretty sure it's the same mode. BTW, that's a major mode. OTOH, you probably don't need all the minor modes that are enabled. Start with `M-x cscope-mode` which should toggle it off (check with `C-h m` again) and restore `a` to sanity. I'm not sure who would be responsible for the `3` insanity. If worse comes to worst, turn them all off one by one and see which one is the culprit. – NickD Jun 17 '23 at 00:24
  • 1
    It is not `awk-mode` that does crazy things with the keys: when I open `foo.awk` it is in `awk-mode` (which shows `AWK//l` on the modeline), but both `3` and `a` are inserted into the buffer. It has to be one of the minor modes that are enabled on that buffer. – NickD Jun 17 '23 at 00:31
  • Thanks @NickD for responding. Interesting, I don't have a `cscope-mode`interactive function. Using `M-x cscope-minor-mode` says that it turns that off but the digit keys are still assigned, as reported by `C-h k 3` : "3 runs the command digit-argument (found in cscope-list-entry-keymap)". I recall updating https://github.com/dkogan/xcscope.el recently, I shall take a look at that. – alls0rts Jul 04 '23 at 05:41

1 Answers1

1

It turned out to be a bug in modified xscope.el function cscope-minor-mode (line 3111: (use-local-map cscope-list-entry-keymap))) , which is enabled via a hook in my init.el

(require 'xcscope)
(add-hook 'c-mode-common-hook 'cscope-minor-mode)

That bug is not present in the official upstream version, I have updated to that.

alls0rts
  • 346
  • 3
  • 9