From d33024d247ff7d7c71a0943c7689a62859db68fd Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 7 Mar 2004 23:49:02 +0000 Subject: [PATCH 01/13] *** empty log message *** --- lisp/gnus/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 7fa3fb61ce5..43be1e84e43 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,7 @@ +2004-03-05 Stefan Monnier + + * message.el (message-mode): Fix last change. + 2004-03-04 Stefan Monnier * message.el (message-mode): Set comment-start-skip. From 7d46398ac9b26bc3178ae6094fd2969606f82a99 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 7 Mar 2004 23:50:26 +0000 Subject: [PATCH 02/13] Add Mac OS X's .DS_Store mystery file. --- .gitignore | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index f51b0ce31c3..0322669fb04 100644 --- a/.gitignore +++ b/.gitignore @@ -26,18 +26,19 @@ _$* *.ln core # CVS default ignores end -configure +*.xdelta +.DS_Store +.arch-inventory +Makefile +autom4te.cache bin boot.log boot.log.diff boot.log.old -update.log +config.cache config.log config.status -config.cache -Makefile +configure emacs*.tar.gz leim*.tar.gz -*.xdelta -autom4te.cache -.arch-inventory +update.log From e4b7444db4a69af0bdb4230aa42f1127beafc23b Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 8 Mar 2004 01:07:13 +0000 Subject: [PATCH 03/13] (fill) : Move from cus-edit.el. (enable-kinsoku): Make it a defcustom. (fill-comment-paragraph): Don't rely on fill-prefix to bound the paragraph to same-comment-start-marker. --- lisp/textmodes/fill.el | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 7a794d67c5e..57ba513cd7f 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -30,6 +30,11 @@ ;;; Code: +(defgroup fill nil + "Indenting and filling text." + :link '(custom-manual "(emacs)Filling Text") + :group 'editing) + (defcustom fill-individual-varying-indent nil "*Controls criterion for a new paragraph in `fill-individual-paragraphs'. Non-nil means changing indent doesn't end a paragraph. @@ -49,13 +54,14 @@ A value of nil means that any change in indentation starts a new paragraph." If the function returns nil, then `fill-paragraph' does its normal work.") (defvar fill-paragraph-handle-comment t - "If non-nil, paragraph filling will try to pay attention to comments.") + "Non-nil means paragraph filling will try to pay attention to comments.") -(defvar enable-kinsoku t - "*Non-nil means enable \"kinsoku\" processing on filling paragraph. +(defcustom enable-kinsoku t + "*Non-nil means enable \"kinsoku\" processing on filling paragraphs. Kinsoku processing is designed to prevent certain characters from being placed at the beginning or end of a line by filling. -See the documentation of `kinsoku' for more information.") +See the documentation of `kinsoku' for more information." + :type 'boolean) (defun set-fill-prefix () "Set the fill prefix to the current line up to point. @@ -317,7 +323,7 @@ be tested. If it returns t, fill commands do not break the line there." :options '(fill-french-nobreak-p fill-single-word-nobreak-p)) (defcustom fill-nobreak-invisible nil - "Non-nil means that fill command do not break lines in invisible text." + "Non-nil means that fill commands do not break lines in invisible text." :type 'boolean :group 'fill) @@ -365,7 +371,7 @@ and `fill-nobreak-invisible'." Don't move back past the buffer position LIMIT. This function is called when we are going to break the current line -after or before a non-ascii character. If the charset of the +after or before a non-ASCII character. If the charset of the character has the property `fill-find-break-point-function', this function calls the property value as a function with one arg LINEBEG. If the charset has no such property, do nothing." @@ -428,7 +434,7 @@ Point is moved to just past the fill prefix on the first line." (string-to-list sentence-end-without-space))) (while (re-search-forward eol-double-space-re to t) (or (>= (point) to) (memq (char-before) '(?\t ?\ )) - (memq (char-after (match-beginning 0)) + (memq (char-after (match-beginning 0)) sentence-end-without-space-list) (insert-and-inherit ?\ )))) @@ -844,8 +850,13 @@ can take care of filling. JUSTIFY is used as in `fill-paragraph'." (concat paragraph-start "\\|[ \t]*\\(?:" comment-start-skip "\\)\\(?:" (default-value 'paragraph-start) "\\)")) - (paragraph-ignore-fill-prefix nil) - (fill-prefix comment-fill-prefix) + ;; We used to reply on fill-prefix to break paragraph at + ;; comment-starter changes, but it did not work for the + ;; first line (mixed comment&code). + ;; We now use comment-re instead to "manually" make sure + ;; we treat comment-marker changes as paragraph boundaries. + ;; (paragraph-ignore-fill-prefix nil) + ;; (fill-prefix comment-fill-prefix) (after-line (if has-code-and-comment (line-beginning-position 2)))) (setq end (progn (forward-paragraph) (point))) @@ -892,7 +903,7 @@ as specified by its text properties. The fourth arg NOSQUEEZE non-nil means to leave whitespace other than line breaks untouched, and fifth arg TO-EOP non-nil means to keep filling to the end of the paragraph (or next -hard newline, if `use-hard-newlines' is on). +hard newline, if variable `use-hard-newlines' is on). Return the fill-prefix used for filling the last paragraph. @@ -976,8 +987,8 @@ beginning and end of the region are not at paragraph breaks, they are moved to the beginning and end \(respectively) of the paragraphs they are in. -If `use-hard-newlines' is true, all hard newlines are taken to be paragraph -breaks. +If variable `use-hard-newlines' is true, all hard newlines are +taken to be paragraph breaks. When calling from a program, operates just on region between BEGIN and END, unless optional fourth arg WHOLE-PAR is non-nil. In that case bounds are From 5895f7fd1a20b2197951395a3c33d4e90ca7f992 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 8 Mar 2004 01:10:23 +0000 Subject: [PATCH 04/13] (fill) : Move to fill.el. --- lisp/ChangeLog | 28 +++++++++++++++++++++++++--- lisp/cus-edit.el | 7 +------ 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a7aedbbe57e..672ca187c09 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,9 +1,18 @@ +2004-03-07 Stefan Monnier + + * cus-edit.el (fill) : Move to fill.el. + + * textmodes/fill.el (fill) : Move from cus-edit.el. + (enable-kinsoku): Make it a defcustom. + (fill-comment-paragraph): Don't rely on fill-prefix to bound the + paragraph to same-comment-start-marker. + 2004-03-07 Dave Love * net/browse-url.el (rfc2368-parse-mailto-url): Autoload. (browse-url-mail): Use it. - * mail/rfc2368.el (rfc2368-unhexify-char): Deleted. + * mail/rfc2368.el (rfc2368-unhexify-char): Delete. (rfc2368-unhexify-string): Use replace-regexp-in-string. 2004-03-07 Francis J. Wright @@ -21,14 +30,17 @@ * gdb-ui.el (gdb-overlay-arrow-position): Add defvar. (gdb-reset): Reset gdb-overlay-arrow-position marker and remove it from overlay-arrow-variable-list. - (gdb-assembler-mode): Use add-to-list for - gdb-overlay-arrow-position. + (gdb-assembler-mode): Use add-to-list for gdb-overlay-arrow-position. 2004-03-06 Nick Roberts * gdb-ui.el (gdb-assembler-mode, gdb-assembler-custom): Set up overlay arrow string properly for the assembler buffer. +2004-03-05 Stefan Monnier + + * mail/sendmail.el (mail-mode): Fix last change. + 2004-03-05 Nick Roberts * gdb-ui.el (gdb-assembler-mode): Create a second overlay arrow @@ -38,6 +50,11 @@ 2004-03-04 Stefan Monnier + * progmodes/sh-script.el (sh-font-lock-paren): Add @ in case patterns. + + * pcvs-info.el (cvs-fileinfo->backup-file): Use a more constraining + regexp to distinguish .#ChangeLog.9.1.400 and .#ChangeLog.1.400. + * mail/sendmail.el (mail-mode): Set comment-start-skip. * newcomment.el (uncomment-region): Allow non-terminated comment. @@ -96,6 +113,11 @@ * textmodes/fill.el (fill-comment-paragraph): Be more careful when recognizing leading comment on code line. +2004-03-02 Stefan Monnier + + * Makefile.in (setwins, setwins_almost): Skip .arch-ids and other + hidden files/directories. + 2004-03-02 Stefan Monnier * textmodes/fill.el (fill-paragraph): Don't check comment-start-skip, diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index fc5e7ecb8af..04570b1512e 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1,6 +1,6 @@ ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages ;; -;; Copyright (C) 1996,97,1999,2000,01,02,2003 Free Software Foundation, Inc. +;; Copyright (C) 1996,97,1999,2000,01,02,03,2004 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Maintainer: FSF @@ -286,11 +286,6 @@ "Content of the modeline." :group 'environment) -(defgroup fill nil - "Indenting and filling text." - :link '(custom-manual "(emacs)Filling Text") - :group 'editing) - (defgroup editing-basics nil "Most basic editing facilities." :group 'editing) From f5f95edfe3828fb1352778fdd16d1a545b32c717 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 8 Mar 2004 01:20:53 +0000 Subject: [PATCH 05/13] (comment-use-global-state): New var. (comment-search-forward): Use it. --- lisp/newcomment.el | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 1c9c0dfd4b6..924cf0ed8c4 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -345,6 +345,13 @@ If UNP is non-nil, unquote nested comment markers." ;;;; Navigation ;;;; +(defvar comment-use-global-state nil + "Non-nil means that the global syntactic context is used. +More specifically, it means that `syntax-ppss' is used to find out whether +point is within a string or not. Major modes whose syntax is faithfully +described by the syntax-tables can set this to non-nil so comment markers +in strings will not confuse Emacs.") + (defun comment-search-forward (limit &optional noerror) "Find a comment start between point and LIMIT. Moves point to inside the comment and returns the position of the @@ -357,8 +364,10 @@ and raises an error or returns nil of NOERROR is non-nil." (unless noerror (error "No comment"))) (let* ((pt (point)) ;; Assume (at first) that pt is outside of any string. - (s (parse-partial-sexp pt (or limit (point-max)) nil nil nil t))) - (when (and (nth 8 s) (nth 3 s)) + (s (parse-partial-sexp pt (or limit (point-max)) nil nil + (if comment-use-global-state (syntax-ppss pt)) + t))) + (when (and (nth 8 s) (nth 3 s) (not comment-use-global-state)) ;; The search ended inside a string. Try to see if it ;; works better when we assume that pt is inside a string. (setq s (parse-partial-sexp From d8a8cbe26cfb2e0a72c14ad283e074fb723d6c6c Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 8 Mar 2004 02:15:05 +0000 Subject: [PATCH 06/13] (lisp-mode-variables): Set it. --- lisp/emacs-lisp/lisp-mode.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index c2dc3e6a16c..6b50318d3e6 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1,6 +1,6 @@ ;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands -;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. +;; Copyright (C) 1985,86,1999,2000,01,03,2004 Free Software Foundation, Inc. ;; Maintainer: FSF ;; Keywords: lisp, languages @@ -197,6 +197,8 @@ (setq comment-column 40) (make-local-variable 'comment-indent-function) (setq comment-indent-function 'lisp-comment-indent) + ;; Don't get confused by `;' in doc strings when paragraph-filling. + (set (make-local-variable 'comment-use-global-state) t) (make-local-variable 'imenu-generic-expression) (setq imenu-generic-expression lisp-imenu-generic-expression) (make-local-variable 'multibyte-syntax-as-symbol) From 1a9c959bb2a459db4212926e62e0d9ce5e83bdc6 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Mon, 8 Mar 2004 21:47:59 +0000 Subject: [PATCH 07/13] * find-dired.el (find-dired): Call `shell-command' instead of `start-process-shell-command'. By this, Tramp takes over handling of remote directories. --- lisp/ChangeLog | 6 ++++++ lisp/find-dired.el | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 672ca187c09..5927438748f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2004-03-08 Michael Albinus + + * find-dired.el (find-dired): Call `shell-command' instead of + `start-process-shell-command'. By this, Tramp takes over + handling of remote directories. + 2004-03-07 Stefan Monnier * cus-edit.el (fill) : Move to fill.el. diff --git a/lisp/find-dired.el b/lisp/find-dired.el index 9407afc3862..5bef4d6bf3a 100644 --- a/lisp/find-dired.el +++ b/lisp/find-dired.el @@ -121,6 +121,8 @@ as the final argument." "" (concat "\\( " args " \\) ")) (car find-ls-option))) + ;; Start the find process. + (shell-command (concat args "&") (current-buffer)) ;; The next statement will bomb in classic dired (no optional arg allowed) (dired-mode dir (cdr find-ls-option)) (let ((map (make-sparse-keymap))) @@ -149,8 +151,7 @@ as the final argument." ;; ``wildcard'' line. (insert " " args "\n") (setq buffer-read-only t) - ;; Start the find process. - (let ((proc (start-process-shell-command find-dired-find-program (current-buffer) args))) + (let ((proc (get-buffer-process (current-buffer)))) (set-process-filter proc (function find-dired-filter)) (set-process-sentinel proc (function find-dired-sentinel)) ;; Initialize the process marker; it is used by the filter. From a534eb10be2ae70377dc3dc786993ce77e3766d4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 9 Mar 2004 00:01:14 +0000 Subject: [PATCH 08/13] \input texinfo.tex instead of just texinfo, to avoid problems making the texinfo distribution. --- man/info.texi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/man/info.texi b/man/info.texi index 24a6c4bbc46..deab84b37af 100644 --- a/man/info.texi +++ b/man/info.texi @@ -1,4 +1,7 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo.tex @c -*-texinfo-*- +@c We must \input texinfo.tex instead of texinfo, otherwise make +@c distcheck in the Texinfo distribution fails, because the texinfo Info +@c file is made first, and texi2dvi must include . first in the path. @comment %**start of header @setfilename info.info @settitle Info From 1a94f9c83e1f474572dc01e9f5a1d57c96409124 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 9 Mar 2004 00:03:07 +0000 Subject: [PATCH 09/13] . --- man/ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/man/ChangeLog b/man/ChangeLog index c949d6f2fea..f84d1605799 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,8 @@ +2004-03-08 Karl Berry + + * info.texi: \input texinfo.tex instead of just texinfo, to avoid + problems making the texinfo distribution. + 2004-03-04 Richard M. Stallman * search.texi (Regexps): Explain that ^ and $ have their @@ -60,6 +65,10 @@ (Icons X): Remove alias -iconic. (Misc X): New node. +2004-02-17 Karl Berry + + * info.texi (Help-Int): mention the new line number feature. + 2004-02-15 Jan Dj,Ad(Brv * frames.texi (Drag and drop): Add Motif to list of supported From 4f918f606bd43ea796441a75fa27414efc0e03f8 Mon Sep 17 00:00:00 2001 From: Masatake YAMATO Date: Tue, 9 Mar 2004 01:25:27 +0000 Subject: [PATCH 10/13] 2004-03-09 Masatake YAMATO * hexl.el (hexl-mode): Use `make-local-variable' instead of `make-variable-buffer-local'. --- lisp/ChangeLog | 5 +++++ lisp/hexl.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5927438748f..af42e158cd7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2004-03-09 Masatake YAMATO + + * hexl.el (hexl-mode): Use `make-local-variable' instead of + `make-variable-buffer-local'. + 2004-03-08 Michael Albinus * find-dired.el (find-dired): Call `shell-command' instead of diff --git a/lisp/hexl.el b/lisp/hexl.el index 40e3c929c59..9fd21824f26 100644 --- a/lisp/hexl.el +++ b/lisp/hexl.el @@ -239,7 +239,7 @@ You can use \\[hexl-find-file] to visit a file in Hexl mode. (add-hook 'change-major-mode-hook 'hexl-maybe-dehexlify-buffer nil t) ;; Set a callback function for eldoc. - (set (make-variable-buffer-local 'eldoc-print-current-symbol-info-function) + (set (make-local-variable 'eldoc-print-current-symbol-info-function) 'hexl-print-current-point-info) (eldoc-add-command-completions "hexl-") (eldoc-remove-command "hexl-save-buffer" From 6eced09c3d950ee9cfa90b9ce04a998647197b3b Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 9 Mar 2004 12:27:26 +0000 Subject: [PATCH 11/13] (decode_coding_emacs_mule): Handle insufficent source correctly. --- src/ChangeLog | 5 +++++ src/coding.c | 21 +++++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index bb8ef04bc67..95cec4f1f14 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2004-03-09 Kenichi Handa + + * coding.c (decode_coding_emacs_mule): Handle insufficent source + correctly. + 2004-03-04 Richard M. Stallman * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition. diff --git a/src/coding.c b/src/coding.c index 62c761c5bcf..76ef3026a2d 100644 --- a/src/coding.c +++ b/src/coding.c @@ -1024,9 +1024,26 @@ decode_coding_emacs_mule (coding, source, destination, src_bytes, dst_bytes) } else { - bytes = CHAR_STRING (*src, tmp); - p = tmp; + int i, c; + + bytes = BYTES_BY_CHAR_HEAD (*src); src++; + for (i = 1; i < bytes; i++) + { + ONE_MORE_BYTE (c); + if (CHAR_HEAD_P (c)) + break; + } + if (i < bytes) + { + bytes = CHAR_STRING (*src_base, tmp); + p = tmp; + src = src_base + 1; + } + else + { + p = src_base; + } } if (dst + bytes >= (dst_bytes ? dst_end : src)) { From 2c8155f78401809603640becd4f25e6858e35b5c Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 9 Mar 2004 15:28:27 +0000 Subject: [PATCH 12/13] (type-break-emacs-variant): Remove. (type-break-run-at-time, type-break-cancel-function-timers): Use fboundp rather than version name and number. --- lisp/ChangeLog | 8 +++++- lisp/type-break.el | 66 +++++++++++----------------------------------- 2 files changed, 23 insertions(+), 51 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index af42e158cd7..7d12a911b31 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,12 @@ +2004-03-09 Stefan Monnier + + * type-break.el (type-break-emacs-variant): Remove. + (type-break-run-at-time, type-break-cancel-function-timers): + Use fboundp rather than version name and number. + 2004-03-09 Masatake YAMATO - * hexl.el (hexl-mode): Use `make-local-variable' instead of + * hexl.el (hexl-mode): Use `make-local-variable' instead of `make-variable-buffer-local'. 2004-03-08 Michael Albinus diff --git a/lisp/type-break.el b/lisp/type-break.el index 86e5199e730..b03cb680022 100644 --- a/lisp/type-break.el +++ b/lisp/type-break.el @@ -1,6 +1,6 @@ ;;; type-break.el --- encourage rests from typing at appropriate intervals -;; Copyright (C) 1994, 95, 97, 2000 Free Software Foundation, Inc. +;; Copyright (C) 1994, 95, 97, 2000, 2004 Free Software Foundation, Inc. ;; Author: Noah Friedman ;; Maintainer: Noah Friedman @@ -8,7 +8,7 @@ ;; Status: Works in GNU Emacs 19.25 or later, some versions of XEmacs ;; Created: 1994-07-13 -;; $Id: type-break.el,v 1.28 2003/05/28 11:25:44 rms Exp $ +;; $Id: type-break.el,v 1.29 2003/09/01 15:45:17 miles Exp $ ;; This file is part of GNU Emacs. @@ -277,39 +277,6 @@ It will be either \"seconds\" or \"keystrokes\".") (defvar type-break-current-keystroke-warning-interval nil) (defvar type-break-time-warning-count 0) (defvar type-break-keystroke-warning-count 0) - -;; Constant indicating emacs variant. -;; This can be one of `xemacs', `lucid', `epoch', `mule', etc. -(defconst type-break-emacs-variant - (let ((data (match-data)) - (version (cond - ((fboundp 'nemacs-version) - (nemacs-version)) - (t - (emacs-version)))) - (alist '(("\\bXEmacs\\b" . xemacs) - ("\\bLucid\\b" . lucid) - ("^Nemacs\\b" . nemacs) - ("^GNU Emacs 19" . standard19) - ("^GNU Emacs 20" . standard19) - ("^GNU Emacs 18" . emacs18))) - result) - (while alist - (cond - ((string-match (car (car alist)) version) - (setq result (cdr (car alist))) - (setq alist nil)) - (t - (setq alist (cdr alist))))) - (set-match-data data) - (cond ((eq result 'lucid) - (and (string= emacs-version "19.8 Lucid") - (setq result 'lucid-19-8))) - ((memq result '(nemacs emacs18)) - (signal 'error - "type-break not supported in this version of emacs."))) - result)) - ;;;###autoload (defun type-break-mode (&optional prefix) @@ -954,38 +921,37 @@ With optional non-nil ALL, force redisplay of all mode-lines." ;;; for different versions of emacs. (defun type-break-run-at-time (time repeat function) - (cond ((eq type-break-emacs-variant 'standard19) - (require 'timer) - (funcall 'run-at-time time repeat function)) - ((eq type-break-emacs-variant 'lucid-19-8) + (condition-case nil (or (require 'timer) (require 'itimer)) (error nil)) + (cond ((fboundp 'run-at-time) + (run-at-time time repeat function)) + ((fboundp 'start-timer) (let ((name (if (symbolp function) (symbol-name function) "type-break"))) - (require 'timer) - (funcall 'start-timer name function time repeat))) - ((memq type-break-emacs-variant '(xemacs lucid)) + (start-timer name function time repeat))) + ((fboundp 'start-itimer) (let ((name (if (symbolp function) (symbol-name function) "type-break"))) - (require 'itimer) - (funcall 'start-itimer name function time repeat))))) + (start-itimer name function time repeat))))) +(defvar timer-dont-exit) (defun type-break-cancel-function-timers (function) - (cond ((eq type-break-emacs-variant 'standard19) + (cond ((fboundp 'cancel-function-timers) (let ((timer-dont-exit t)) - (funcall 'cancel-function-timers function))) - ((eq type-break-emacs-variant 'lucid-19-8) + (cancel-function-timers function))) + ((fboundp 'delete-timer) (let ((list timer-list)) (while list (and (eq (funcall 'timer-function (car list)) function) - (funcall 'delete-timer (car list))) + (delete-timer (car list))) (setq list (cdr list))))) - ((memq type-break-emacs-variant '(xemacs lucid)) + ((fboundp 'delete-itimer) (with-no-warnings (let ((list itimer-list)) (while list (and (eq (funcall 'itimer-function (car list)) function) - (funcall 'delete-itimer (car list))) + (delete-itimer (car list))) (setq list (cdr list)))))))) From bdfd0369ce065c4ed22cf74c6f32c6a081eca56f Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Tue, 9 Mar 2004 22:47:27 +0000 Subject: [PATCH 13/13] Changes to support ChangeLog.10+. (main): Tidy up usage string. Fix "Use of uninitialized value" warning. Set version to 0.2. Parse the directory listing to get any ChangeLog.n file, not just 1..9. (header_match_p, entry_match_p, print_log, parse_changelog): Remove Perl prototypes (their purpose is to help the parser, which isn't needed here, not declare arguments). (parse_changelog): Make --reverse faster on big batches by not modifying the entries list. --- lib-src/ChangeLog | 12 ++++++++ lib-src/grep-changelog | 64 +++++++++++++++++++++++++----------------- 2 files changed, 50 insertions(+), 26 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 9876b0b041a..4e995ff185a 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,15 @@ +2004-03-09 Juanma Barranquero + + * grep-changelog: Changes to support ChangeLog.10+. + (main): Tidy up usage string. Fix "Use of uninitialized value" + warning. Set version to 0.2. Parse the directory listing to get + any ChangeLog.n file, not just 1..9. + (header_match_p, entry_match_p, print_log, parse_changelog): + Remove Perl prototypes (their purpose is to help the parser, which + isn't needed here, not declare arguments). + (parse_changelog): Make --reverse faster on big batches by not + modifying the entries list. + 2004-03-01 Juanma Barranquero * makefile.w32-in (obj): Add fringe.c. diff --git a/lib-src/grep-changelog b/lib-src/grep-changelog index 9baf0213db7..38fce879c7a 100755 --- a/lib-src/grep-changelog +++ b/lib-src/grep-changelog @@ -1,6 +1,6 @@ #! /usr/bin/perl -# Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc. # # This file is part of GNU Emacs. # @@ -56,34 +56,36 @@ $result = 0 if $to_date && $to_date !~ /^\d\d\d\d-\d\d-\d\d$/; if ($result == 0 || $help) { print < 0) { - @ARGV = ("ChangeLog", map {"ChangeLog.$_"} reverse 1..9); + @ARGV = ("ChangeLog"); + + push @ARGV, + map {"ChangeLog.$_"} + sort {$b <=> $a} + map {/\.(\d+)$/; $1} + do { + opendir D, '.'; + grep /^ChangeLog\.\d+$/, readdir D; + }; + @ARGV = reverse @ARGV if $reverse; }