Mercurial > emacs
view admin/admin.el @ 58059:ede0c20bdb75
This bug was fixed by RMS on 2004-11-02:
** scroll-preserve-screen-position doesn't work with a header-line-format
From: jbyler+emacs-lists@anon41.eml.cc
Date: Tue, 17 Aug 2004 17:10:14 -0400
There seems to be an off-by-one error triggered by using a header line
together with scroll-preserve-screen-position. The symptom: instead of
staying in the same position on the screen when scrolling, the cursor
moves one screen line down each time the buffer is scrolled. Put
another way: repeatedly typing C-v M-v or using a mouse scroll wheel to
scroll up and down causes the cursor to migrate slowly down the screen
instead of staying put as it should.
To reproduce:
emacs -q --no-site-file
(setq scroll-preserve-screen-position t)
(setq header-line-format "")
C-v M-v C-v M-v C-v M-v etc.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Mon, 08 Nov 2004 23:52:54 +0000 |
parents | 695cf19ef79e |
children | 1926d92f781e 375f2633d815 |
line wrap: on
line source
;;; admin.el --- utilities for Emacs administration ;; Copyright (C) 2001 Free Software Foundation, Inc. ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; add-release-log add ``Version X released'' change log entries ;; set-version change Emacs version number in source tree. ;;; Code: (defun process-lines (program &rest args) "Execute PROGRAM with ARGS, returning its output as a list of lines. Signal an error if the program returns with a non-zero exit status." (with-temp-buffer (let ((status (apply 'call-process program nil (current-buffer) nil args))) (unless (eq status 0) (error "%s exited with status %s" program status)) (goto-char (point-min)) (let (lines) (while (not (eobp)) (setq lines (cons (buffer-substring-no-properties (line-beginning-position) (line-end-position)) lines)) (forward-line 1)) (nreverse lines))))) (defun add-release-logs (root version) "Add \"Version VERSION released.\" change log entries in ROOT. Root must be the root of an Emacs source tree." (interactive "DEmacs root directory: \nNVersion number: ") (setq root (expand-file-name root)) (unless (file-exists-p (expand-file-name "src/emacs.c" root)) (error "%s doesn't seem to be the root of an Emacs source tree" root)) (let* ((logs (process-lines "find" root "-name" "ChangeLog")) (require 'add-log) (entry (format "%s %s <%s>\n\n\t* Version %s released.\n\n" (funcall add-log-time-format) (or add-log-full-name (user-full-name)) (or add-log-mailing-address user-mail-address) version))) (dolist (log logs) (unless (string-match "/gnus/" log) (find-file log) (goto-char (point-min)) (insert entry))))) (defun set-version-in-file (root file version rx) (find-file (expand-file-name file root)) (goto-char (point-min)) (unless (re-search-forward rx nil t) (error "Version not found in %s" file)) (replace-match (format "%s" version) nil nil nil 1)) (defun set-version (root version) "Set Emacs version to VERSION in relevant files under ROOT. Root must be the root of an Emacs source tree." (interactive "DEmacs root directory: \nsVersion number: ") (unless (file-exists-p (expand-file-name "src/emacs.c" root)) (error "%s doesn't seem to be the root of an Emacs source tree" root)) (set-version-in-file root "lisp/version.el" version (rx (and "emacs-version" (0+ space) ?\" (submatch (1+ (not (in ?\")))) ?\"))) (set-version-in-file root "README" version (rx (and "version" (1+ space) (submatch (1+ (in "0-9.")))))) (set-version-in-file root "man/emacs.texi" version (rx (and "EMACSVER" (1+ space) (submatch (1+ (in "0-9."))))))) ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 ;; admin.el ends here.