4.3BSD/usr/contrib/emacs/lisp/macros.elc


(defun append-kbd-macro (macroname filename &optional keys) "\
Append kbd macro NAME in file FILE, as Lisp code to define the macro.
Use  load  to load the file.
Third argument KEYS non-nil means also record the keys it is on.
 (This is the prefix argument, when calling interactively.)" (interactive "CAppend kbd macro (name): 
FAppend kbd macro %s to file: 
P") (byte-code "ฤˆล	
$‡" [macroname filename keys t nil write-kbd-macro] 5))

(defun write-kbd-macro (macroname filename &optional keys appendflag) "\
Save kbd macro NAME in file FILE, as Lisp code to define the macro.
Use  load  to load the file.
Third argument KEYS non-nil means also record the keys it is on.
 (This is the prefix argument, when calling interactively.)
Fourth argument APPENDFLAG non-nil meams append to FILE's existing contents." (interactive "CWrite kbd macro (name): 
FWrite kbd macro %s to file: 
P") (byte-code "ลˆฦว!Šqˆศ ˆษcˆส	\"ˆหcˆส	K\"ˆฬcˆอ	!
…Eฮcˆส
@\"ˆฯcˆส	\"ˆฬcˆ
A‰ˆ‚%)ˆะed$))‡" [buffer macroname keys filename appendflag nil get-buffer-create " write-kbd-macro-temp" erase-buffer "(fset '" prin1 "
   " ")
" where-is-internal "(global-set-key " " '" write-region] 16))

(defun kbd-macro-query (flag) "\
Query user during kbd macro execution.
With prefix argument, enters recursive edit,
 reading keyboard commands even within a kbd macro.
 You can give different commands each time the macro executes.
Without prefix argument, reads a character.  Your options are:
 Space -- execute the rest of the macro.
 DEL -- skip the rest of the macro; start next repetition.
 C-d -- skip rest of the macro and don't repeat it any more.
 C-r -- enter a recursive edit, then on exit ask again for a character
 C-l -- redisplay screen and ask again." (interactive "P") (byte-code "รˆ†
	†
วศ!ˆ
ƒรรษ *‚†?ƒ%‚†
……รรสห!ˆr*ฬUƒD‰‚€อUƒU‰ˆฮ‰‚€ฯUƒf‰ˆ
‰‚€ะUƒrั ‚€าU…€รรษ *)ˆ‚')‡" [executing-macro defining-kbd-macro flag nil loop t char error "Not defining or executing kbd macro" recursive-edit message "Proceed with macro? (Space, DEL, C-d, C-r or C-l) " 32 127 "" 4 12 redraw-screen 18] 29))