Mercurial > emacs
changeset 52600:7a4a7a399a2f
(upcase-char): Fix docstring.
(zap-up-to-char): New command.
author | Lute Kamstra <lute@gnu.org> |
---|---|
date | Wed, 24 Sep 2003 08:51:33 +0000 |
parents | c0c49c850558 |
children | 87fd1a2fa426 |
files | lisp/misc.el |
diffstat | 1 files changed, 19 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/misc.el Wed Sep 24 04:19:12 2003 +0000 +++ b/lisp/misc.el Wed Sep 24 08:51:33 2003 +0000 @@ -1,6 +1,6 @@ ;;; misc.el --- some nonstandard basic editing commands for Emacs -;; Copyright (C) 1989 Free Software Foundation, Inc. +;; Copyright (C) 1989, 2003 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: convenience @@ -58,6 +58,23 @@ (+ n (point))))))) (insert string))) +;; Variation of `zap-to-char'. + +(defun zap-up-to-char (arg char) + "Kill up to, but not including ARG'th occurrence of CHAR. +Case is ignored if `case-fold-search' is non-nil in the current buffer. +Goes backward if ARG is negative; error if CHAR not found. +Ignores CHAR at point." + (interactive "p\ncZap up to char: ") + (let ((direction (if (>= arg 0) 1 -1))) + (kill-region (point) + (progn + (forward-char direction) + (unwind-protect + (search-forward (char-to-string char) nil nil arg) + (backward-char direction)) + (point))))) + ;; These were added with an eye to making possible a more CCA-compatible ;; command set; but that turned out not to be interesting. @@ -72,7 +89,7 @@ (push-mark (point-max))) (defun upcase-char (arg) - "Uppercasify ARG chars starting from point. Point doesn't move" + "Uppercasify ARG chars starting from point. Point doesn't move." (interactive "p") (save-excursion (upcase-region (point) (progn (forward-char arg) (point)))))