Mercurial > emacs
changeset 44384:3626a12fe452
* pcvs.el (cvs-mode-previous-line, cvs-mode-next-line): Move to
spot indicated by text property `cvs-goal-column', if present.
* pcvs-info.el (cvs-fileinfo-pp): Use text property
`cvs-goal-column' to indicate position of file name (if present).
author | Kai Großjohann <kgrossjo@eu.uu.net> |
---|---|
date | Wed, 03 Apr 2002 16:56:36 +0000 |
parents | e44eec58a815 |
children | d5cf9afe17d6 |
files | lisp/ChangeLog lisp/pcvs-info.el lisp/pcvs.el |
diffstat | 3 files changed, 38 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Apr 03 16:46:47 2002 +0000 +++ b/lisp/ChangeLog Wed Apr 03 16:56:36 2002 +0000 @@ -1,3 +1,11 @@ +2002-04-03 Kai Gro,A_(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE> + + * pcvs.el (cvs-mode-previous-line, cvs-mode-next-line): Move to + spot indicated by text property `cvs-goal-column', if present. + + * pcvs-info.el (cvs-fileinfo-pp): Use text property + `cvs-goal-column' to indicate position of file name (if present). + 2002-04-03 Richard M. Stallman <rms@gnu.org> * mail/mailabbrev.el (mail-abbrev-complete-alias):
--- a/lisp/pcvs-info.el Wed Apr 03 16:46:47 2002 +0000 +++ b/lisp/pcvs-info.el Wed Apr 03 16:56:36 2002 +0000 @@ -4,7 +4,7 @@ ;; Author: Stefan Monnier <monnier@cs.yale.edu> ;; Keywords: pcl-cvs -;; Revision: $Id: pcvs-info.el,v 1.7 2001/07/16 07:46:48 pj Exp $ +;; Revision: $Id: pcvs-info.el,v 1.8 2001/12/31 20:28:40 rms Exp $ ;; This file is part of GNU Emacs. @@ -318,14 +318,17 @@ (and (not (eq type 'MESSAGE)) (eq (car (memq func (cdr (assq type cvs-states)))) func)))) -(defun cvs-add-face (str face &optional keymap) - (when cvs-highlight +(defun cvs-add-face (str face &optional keymap &rest properties) + (when (or cvs-highlight properties) (add-text-properties 0 (length str) - (list* 'face face - (when keymap - (list* 'mouse-face 'highlight - (when (keymapp keymap) - (list 'keymap keymap))))) + (append + (when cvs-highlight + (list* 'face face + (when keymap + (list* 'mouse-face 'highlight + (when (keymapp keymap) + (list 'keymap keymap)))))) + properties) str)) str) @@ -349,7 +352,8 @@ (cvs-add-face "*" 'cvs-marked-face) " ")) (file (cvs-add-face (cvs-fileinfo->pp-name fileinfo) - 'cvs-filename-face t)) + 'cvs-filename-face t + 'cvs-goal-column t)) (base (or (cvs-fileinfo->base-rev fileinfo) "")) (head (cvs-fileinfo->head-rev fileinfo)) (type @@ -371,8 +375,8 @@ (when (and head (not (string= head base))) head) ;; or nothing ""))) - (format "%-11s %s %-11s %-11s %s" - side status type base file))))))) + (format "%-11s %s %-11s %-11s %s" + side status type base file))))))) (defun cvs-fileinfo-update (fi fi-new)
--- a/lisp/pcvs.el Wed Apr 03 16:46:47 2002 +0000 +++ b/lisp/pcvs.el Wed Apr 03 16:56:36 2002 +0000 @@ -13,7 +13,7 @@ ;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com ;; Maintainer: (Stefan Monnier) monnier+lists/cvs/pcl@flint.cs.yale.edu ;; Keywords: CVS, version control, release management -;; Revision: $Id: pcvs.el,v 1.32 2001/12/20 18:43:35 pj Exp $ +;; Revision: $Id: pcvs.el,v 1.33 2002/01/25 22:41:28 monnier Exp $ ;; This file is part of GNU Emacs. @@ -1089,13 +1089,25 @@ "Go to the previous line. If a prefix argument is given, move by that many lines." (interactive "p") - (ewoc-goto-prev cvs-cookies arg)) + (ewoc-goto-prev cvs-cookies arg) + (let ((fpos (next-single-property-change + (point) 'cvs-goal-column + (current-buffer) (line-end-position))) + (eol (line-end-position))) + (when (< fpos eol) + (goto-char fpos)))) (defun-cvs-mode cvs-mode-next-line (arg) "Go to the next line. If a prefix argument is given, move by that many lines." (interactive "p") - (ewoc-goto-next cvs-cookies arg)) + (ewoc-goto-next cvs-cookies arg) + (let ((fpos (next-single-property-change + (point) 'cvs-goal-column + (current-buffer) (line-end-position))) + (eol (line-end-position))) + (when (< fpos eol) + (goto-char fpos)))) ;;;; ;;;; Mark handling