help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: (insert ...) won't respect delete-selection-mode


From: Drew Adams
Subject: RE: (insert ...) won't respect delete-selection-mode
Date: Tue, 7 Oct 2008 12:57:06 -0700

> i have a some 20 personal commands that insert some text. However, i
> have delete-selection-mode on, meaning that when a region is active,
> any typing should delete/override it.
> 
> But when calling my insert text commands it will just insert at the
> end of region. Here's a example:
> (defun insert-date () "Insert current date." (interactive)
>   (insert (format-time-string "%Y-%m-%d")))
> 
> Do i need to modify each commands to check on mark-active and delete-
> selection-mode then call delete region first? Or, is there some
> variable i can just set?

See the Commentary at the beginning of `delsel.el':

;;  Commands that delete the selection need a `delete-selection'
;;  property on their symbols. Commands that insert text but do not
;;  have this property do not delete the selection.  The property can
;;  be one of these values:
;;  'yank
;;      For commands which do a yank; ensures the region about to be
;;      deleted isn't yanked.
;;  'supersede
;;      Delete the active region and ignore the current command,
;;      i.e. the command will just delete the region.
;;  'kill
;;      `kill-region' is used on the selection, rather than
;;      `delete-region'.  (Text selected with the mouse will typically
;;      be yankable anyhow.)
;;  non-nil
;;      The normal case: delete the active region prior to executing
;;      the command which will insert replacement text.

Example:

(put 'insert-date 'delete-selection t)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]