Mercurial > hg > xemacs-beta
annotate lisp/misc.el @ 5746:b8c2808b33d4
Document #'events-to-keys some more, use it less.
lisp/ChangeLog addition:
2013-07-10 Aidan Kehoe <kehoea@parhasard.net>
* minibuf.el (get-user-response):
* cmdloop.el (y-or-n-p-minibuf):
No need to call #'events-to-keys in these two functions,
#'lookup-key accepts events directly.
* keymap.el:
* keymap.el (events-to-keys):
Document this function some more.
Stop passing strings through unexamined, treat them as vectors of
characters.
Event keys are never integers, remove some code that only ran if
(integerp (event-key ce)).
Event keys are never numbers, don't check for that.
Don't create (menu-selection call-interactively function-name)
keystrokes for menu choices, #'character-to-event doesn't
understand that syntax, so nothing uses it.
Don't ever accept mouse events, #'character-to-event doesn't
accept our synthesising of them.
src/ChangeLog addition:
2013-07-10 Aidan Kehoe <kehoea@parhasard.net>
* keymap.c:
* keymap.c (key_desc_list_to_event):
Drop the allow_menu_events argument.
Don't accept lists starting with Qmenu_selection as describing
keys, nothing generates them in a way this function
understands. The intention is reasonable but the implementation
was never documented and never finished.
* keymap.c (syms_of_keymap):
Drop Qmenu_selection.
* events.c (Fcharacter_to_event):
* keymap.h:
Drop the allow_menu_events argument to key_desc_list_to_event.
| author | Aidan Kehoe <kehoea@parhasard.net> |
|---|---|
| date | Wed, 10 Jul 2013 14:14:30 +0100 |
| parents | 308d34e9f07d |
| children |
| rev | line source |
|---|---|
| 209 | 1 ;;; misc.el --- miscellaneous functions for XEmacs |
| 2 | |
| 3 ;; Copyright (C) 1989, 1997 Free Software Foundation, Inc. | |
| 4 | |
| 5 ;; Maintainer: FSF | |
| 6 ;; Keywords: extensions, dumped | |
| 7 | |
| 8 ;; This file is part of XEmacs. | |
| 9 | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
10 ;; XEmacs is free software: you can redistribute it and/or modify it |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
11 ;; under the terms of the GNU General Public License as published by the |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
12 ;; Free Software Foundation, either version 3 of the License, or (at your |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
13 ;; option) any later version. |
| 209 | 14 |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
15 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
16 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
17 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
18 ;; for more details. |
| 209 | 19 |
| 20 ;; You should have received a copy of the GNU General Public License | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
209
diff
changeset
|
21 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
| 209 | 22 |
| 23 ;;; Synched up with: FSF 19.34. | |
| 24 | |
| 25 ;;; Commentary: | |
| 26 | |
| 27 ;; This file is dumped with XEmacs. | |
| 28 | |
| 29 ;; 06/11/1997 - Use char-(after|before) instead of | |
| 30 ;; (following|preceding)-char. -slb | |
| 31 | |
| 32 ;;; Code: | |
| 33 | |
| 34 (defun copy-from-above-command (&optional arg) | |
| 35 "Copy characters from previous nonblank line, starting just above point. | |
| 36 Copy ARG characters, but not past the end of that line. | |
| 37 If no argument given, copy the entire rest of the line. | |
| 38 The characters copied are inserted in the buffer before point." | |
| 39 (interactive "P") | |
| 40 (let ((cc (current-column)) | |
| 41 n | |
| 42 (string "")) | |
| 43 (save-excursion | |
| 44 (beginning-of-line) | |
| 45 (backward-char 1) | |
| 46 (skip-chars-backward "\ \t\n") | |
| 47 (move-to-column cc) | |
| 48 ;; Default is enough to copy the whole rest of the line. | |
| 49 (setq n (if arg (prefix-numeric-value arg) (point-max))) | |
| 50 ;; If current column winds up in middle of a tab, | |
| 51 ;; copy appropriate number of "virtual" space chars. | |
| 52 (if (< cc (current-column)) | |
| 53 (if (eq (char-before (point)) ?\t) | |
| 54 (progn | |
| 55 (setq string (make-string (min n (- (current-column) cc)) ?\ )) | |
| 56 (setq n (- n (min n (- (current-column) cc))))) | |
| 57 ;; In middle of ctl char => copy that whole char. | |
| 58 (backward-char 1))) | |
| 59 (setq string (concat string | |
| 60 (buffer-substring | |
| 61 (point) | |
| 62 (min (save-excursion (end-of-line) (point)) | |
| 63 (+ n (point))))))) | |
| 64 (insert string))) | |
| 65 | |
| 66 ;;; misc.el ends here |
