/[emacs]/emacs/lisp/subr.el
ViewVC logotype

Diff of /emacs/lisp/subr.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.443 by nickrob, Sun May 1 04:44:14 2005 UTC revision 1.444 by nickrob, Sun May 1 13:30:19 2005 UTC
# Line 349  but optional second arg NODIGITS non-nil Line 349  but optional second arg NODIGITS non-nil
349  (defvar key-substitution-in-progress nil  (defvar key-substitution-in-progress nil
350   "Used internally by substitute-key-definition.")   "Used internally by substitute-key-definition.")
351    
352  (defun substitute-key-definitions (subst keymap &optional oldmap prefix)  (defun substitute-key-definition (olddef newdef keymap &optional oldmap prefix)
353    "Applies the SUBST remapping to key bindings in KEYMAP.    "Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.
354  SUBST will be a list of elements of the form (OLDDEF . NEWDEF).  In other words, OLDDEF is replaced with NEWDEF where ever it appears.
355  See `substitue-key-definition'."  Alternatively, if optional fourth argument OLDMAP is specified, we redefine
356    in KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP.
357    
358    For most uses, it is simpler and safer to use command remappping like this:
359      \(define-key KEYMAP [remap OLDDEF] NEWDEF)"
360    ;; Don't document PREFIX in the doc string because we don't want to    ;; Don't document PREFIX in the doc string because we don't want to
361    ;; advertise it.  It's meant for recursive calls only.  Here's its    ;; advertise it.  It's meant for recursive calls only.  Here's its
362    ;; meaning    ;; meaning
# Line 370  See `substitue-key-definition'." Line 374  See `substitue-key-definition'."
374      (map-keymap      (map-keymap
375       (lambda (char defn)       (lambda (char defn)
376         (aset prefix1 (length prefix) char)         (aset prefix1 (length prefix) char)
377         (substitute-key-definitions-key defn subst prefix1 keymap))         (substitute-key-definition-key defn olddef newdef prefix1 keymap))
378       scan)))       scan)))
379    
380  (defun substitute-key-definition (olddef newdef keymap &optional oldmap prefix)  (defun substitute-key-definition-key (defn olddef newdef prefix keymap)
381    "Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.    (let (inner-def skipped menu-item)
 In other words, OLDDEF is replaced with NEWDEF where ever it appears.  
 Alternatively, if optional fourth argument OLDMAP is specified, we redefine  
 in KEYMAP as NEWDEF those keys which are defined as OLDDEF in OLDMAP.  
   
 For most uses, it is simpler and safer to use command remappping like this:  
   \(define-key KEYMAP [remap OLDDEF] NEWDEF)"  
   ;; Don't document PREFIX in the doc string because we don't want to  
   ;; advertise it.  It's meant for recursive calls only.  Here's its  
   ;; meaning  
   
   ;; If optional argument PREFIX is specified, it should be a key  
   ;; prefix, a string.  Redefined bindings will then be bound to the  
   ;; original key, with PREFIX added at the front.  
   (substitute-key-definitions (list (cons olddef newdef)) keymap oldmap prefix))  
   
 (defun substitute-key-definitions-key (defn subst prefix keymap)  
   (let (inner-def skipped menu-item mapping)  
382      ;; Find the actual command name within the binding.      ;; Find the actual command name within the binding.
383      (if (eq (car-safe defn) 'menu-item)      (if (eq (car-safe defn) 'menu-item)
384          (setq menu-item defn defn (nth 2 defn))          (setq menu-item defn defn (nth 2 defn))
# Line 401  For most uses, it is simpler and safer t Line 388  For most uses, it is simpler and safer t
388        ;; Skip past cached key-equivalence data for menu items.        ;; Skip past cached key-equivalence data for menu items.
389        (if (consp (car-safe defn))        (if (consp (car-safe defn))
390            (setq defn (cdr defn))))            (setq defn (cdr defn))))
391      (if (or (setq mapping (assq defn subst))      (if (or (eq defn olddef)
392              ;; Compare with equal if definition is a key sequence.              ;; Compare with equal if definition is a key sequence.
393              ;; That is useful for operating on function-key-map.              ;; That is useful for operating on function-key-map.
394              (and (or (stringp defn) (vectorp defn))              (and (or (stringp defn) (vectorp defn))
395                   (setq mapping (assoc defn subst))))                   (equal defn olddef)))
396          (define-key keymap prefix          (define-key keymap prefix
397            (if menu-item            (if menu-item
398                (let ((copy (copy-sequence menu-item)))                (let ((copy (copy-sequence menu-item)))
399                  (setcar (nthcdr 2 copy) (cdr mapping))                  (setcar (nthcdr 2 copy) newdef)
400                  copy)                  copy)
401              (nconc (nreverse skipped) (cdr mapping))))              (nconc (nreverse skipped) newdef)))
402        ;; Look past a symbol that names a keymap.        ;; Look past a symbol that names a keymap.
403        (setq inner-def        (setq inner-def
404              (and defn              (and defn
# Line 427  For most uses, it is simpler and safer t Line 414  For most uses, it is simpler and safer t
414                 ;; Avoid recursively rescanning keymap being scanned.                 ;; Avoid recursively rescanning keymap being scanned.
415                 (not (memq inner-def key-substitution-in-progress)))                 (not (memq inner-def key-substitution-in-progress)))
416            ;; If this one isn't being scanned already, scan it now.            ;; If this one isn't being scanned already, scan it now.
417            (substitute-key-definitions subst keymap inner-def prefix)))))            (substitute-key-definition olddef newdef keymap inner-def prefix)))))
418    
419  (defun define-key-after (keymap key definition &optional after)  (defun define-key-after (keymap key definition &optional after)
420    "Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding.    "Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding.
# Line 766  and `event-end' functions." Line 753  and `event-end' functions."
753    
754  ;;;; Obsolescent names for functions.  ;;;; Obsolescent names for functions.
755    
 (defalias 'dot 'point)  
 (defalias 'dot-marker 'point-marker)  
 (defalias 'dot-min 'point-min)  
 (defalias 'dot-max 'point-max)  
756  (defalias 'window-dot 'window-point)  (defalias 'window-dot 'window-point)
757  (defalias 'set-window-dot 'set-window-point)  (defalias 'set-window-dot 'set-window-point)
758  (defalias 'read-input 'read-string)  (defalias 'read-input 'read-string)
759  (defalias 'send-string 'process-send-string)  (defalias 'send-string 'process-send-string)
760  (defalias 'send-region 'process-send-region)  (defalias 'send-region 'process-send-region)
761  (defalias 'show-buffer 'set-window-buffer)  (defalias 'show-buffer 'set-window-buffer)
 (defalias 'buffer-flush-undo 'buffer-disable-undo)  
762  (defalias 'eval-current-buffer 'eval-buffer)  (defalias 'eval-current-buffer 'eval-buffer)
 (defalias 'compiled-function-p 'byte-code-function-p)  
763  (defalias 'define-function 'defalias)  (defalias 'define-function 'defalias)
764    
765  (defalias 'sref 'aref)  (defalias 'sref 'aref)
766  (make-obsolete 'sref 'aref "20.4")  (make-obsolete 'sref 'aref "20.4")
767  (make-obsolete 'char-bytes "now always returns 1." "20.4")  (make-obsolete 'char-bytes "now always returns 1." "20.4")
768  (make-obsolete 'chars-in-region "use (abs (- BEG END))." "20.3")  (make-obsolete 'chars-in-region "use (abs (- BEG END))." "20.3")
 (make-obsolete 'dot 'point              "before 19.15")  
 (make-obsolete 'dot-max 'point-max      "before 19.15")  
 (make-obsolete 'dot-min 'point-min      "before 19.15")  
 (make-obsolete 'dot-marker 'point-marker "before 19.15")  
 (make-obsolete 'buffer-flush-undo 'buffer-disable-undo "before 19.15")  
769  (make-obsolete 'baud-rate "use the `baud-rate' variable instead." "before 19.15")  (make-obsolete 'baud-rate "use the `baud-rate' variable instead." "before 19.15")
 (make-obsolete 'compiled-function-p 'byte-code-function-p "before 19.15")  
770  (make-obsolete 'define-function 'defalias "20.1")  (make-obsolete 'define-function 'defalias "20.1")
 (make-obsolete 'focus-frame "it does nothing." "19.32")  
 (make-obsolete 'unfocus-frame "it does nothing." "19.32")  
771    
772  (defun insert-string (&rest args)  (defun insert-string (&rest args)
773    "Mocklisp-compatibility insert function.    "Mocklisp-compatibility insert function.
# Line 811  is converted into a string by expressing Line 784  is converted into a string by expressing
784    "Return the value of the `baud-rate' variable."    "Return the value of the `baud-rate' variable."
785    baud-rate)    baud-rate)
786    
 (defalias 'focus-frame 'ignore "")  
 (defalias 'unfocus-frame 'ignore "")  
   
787    
788  ;;;; Obsolescence declarations for variables, and aliases.  ;;;; Obsolescence declarations for variables, and aliases.
789    

Legend:
Removed from v.1.443  
changed lines
  Added in v.1.444

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26