;; Move up in the dir hierarchy till we find a change log file.
(let ((file1 file-name)
parent-dir)
- (while (and (not (file-exists-p file1))
+ (while (and (not (or (get-file-buffer file1) (file-exists-p file1)))
(progn (setq parent-dir
(file-name-directory
(directory-file-name
;; Move up to the parent dir and try again.
(setq file1 (expand-file-name (change-log-name) parent-dir)))
;; If we found a change log in a parent, use that.
- (if (file-exists-p file1)
+ (if (or (get-file-buffer file1) (file-exists-p file1))
(setq file-name file1)))
;; Make a local variable in this buffer so we needn't search again.
(set (make-local-variable 'change-log-default-name) file-name)
;;;###autoload
(defun change-log-mode ()
- "Major mode for editting change logs; like Indented Text Mode.
+ "Major mode for editing change logs; like Indented Text Mode.
Prevents numeric backups and sets `left-margin' to 8 and `fill-column' to 74.
New log entries are usually made with \\[add-change-log-entry] or \\[add-change-log-entry-other-window].
Each entry behaves as a paragraph, and the entries for one day as a page.
(progn (forward-sexp -1)
(>= location (point))))
(progn
- (forward-word 1)
+ (if (looking-at "\\s(")
+ (forward-char 1))
+ (forward-sexp 1)
(skip-chars-forward " ")
(buffer-substring (point)
(progn (forward-sexp 1) (point))))))