annotate lisp/version.el @ 62412:6ac7ed8e212b

(makefile-dependency-regex): Turn it into a var, and refine it to mask one more level of nested vars. (makefile-rule-action-regex): Turn it into a var, and refine it so it recognizes backslashed continuation lines as belonging to the same command. (makefile-macroassign-regex): Refine it so it recognizes backslashed continuation lines as belonging to the same command. (makefile-var-use-regex): Don't look at the next char, because it might be the same one to be skipped by the initial [^$], leading to an overlooked variable use. (makefile-make-font-lock-keywords): Remove two parameters, which are now variables that some of the modes set locally. Handle dependency and rule action matching through functions, because regexps alone match too often. Dependency matching now comes last, so it can check, whether a colon already matched something else. (makefile-mode): Inform that font-lock improves makefile parsing capabilities. (makefile-match-dependency, makefile-match-action): New functions.
author Daniel Pfeiffer <occitan@esperanto.org>
date Mon, 16 May 2005 20:13:09 +0000
parents aac0a33f5772
children 6fb026ad601f 89ac10c67e45
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47726
33d53d287ee4 Add "no-byte-compile: t" in first line.
Juanma Barranquero <lekktu@gmail.com>
parents: 45511
diff changeset
1 ;;; version.el --- record version number of Emacs -*- no-byte-compile: t -*-
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
2
35197
f9654fb1f220 Set version to 21.0.96.
Gerd Moellmann <gerd@gnu.org>
parents: 34870
diff changeset
3 ;;; Copyright (C) 1985, 1992, 1994, 1995, 1999, 2000, 2001
34478
1b32037b8a8d Set version to 21.0.94.
Gerd Moellmann <gerd@gnu.org>
parents: 33972
diff changeset
4 ;;; Free Software Foundation, Inc.
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
5
Dave Love <fx@gnu.org>
parents:
diff changeset
6 ;; Maintainer: FSF
Dave Love <fx@gnu.org>
parents:
diff changeset
7 ;; Keywords: internal
Dave Love <fx@gnu.org>
parents:
diff changeset
8
Dave Love <fx@gnu.org>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
10
Dave Love <fx@gnu.org>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
Dave Love <fx@gnu.org>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
Dave Love <fx@gnu.org>
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
Dave Love <fx@gnu.org>
parents:
diff changeset
14 ;; any later version.
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
Dave Love <fx@gnu.org>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
Dave Love <fx@gnu.org>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Dave Love <fx@gnu.org>
parents:
diff changeset
19 ;; GNU General Public License for more details.
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
Dave Love <fx@gnu.org>
parents:
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
Dave Love <fx@gnu.org>
parents:
diff changeset
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Dave Love <fx@gnu.org>
parents:
diff changeset
24 ;; Boston, MA 02111-1307, USA.
Dave Love <fx@gnu.org>
parents:
diff changeset
25
38412
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 38400
diff changeset
26 ;;; Commentary:
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 38400
diff changeset
27
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
28 ;;; Code:
Dave Love <fx@gnu.org>
parents:
diff changeset
29
59996
aac0a33f5772 Change release version from 21.4 to 22.1 throughout.
Kim F. Storm <storm@cua.dk>
parents: 55567
diff changeset
30 (defconst emacs-version "22.0.50" "\
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
31 Version numbers of this version of Emacs.")
Dave Love <fx@gnu.org>
parents:
diff changeset
32
Dave Love <fx@gnu.org>
parents:
diff changeset
33 (defconst emacs-major-version
Dave Love <fx@gnu.org>
parents:
diff changeset
34 (progn (string-match "^[0-9]+" emacs-version)
Dave Love <fx@gnu.org>
parents:
diff changeset
35 (string-to-int (match-string 0 emacs-version)))
Dave Love <fx@gnu.org>
parents:
diff changeset
36 "Major version number of this version of Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
37 This variable first existed in version 19.23.")
Dave Love <fx@gnu.org>
parents:
diff changeset
38
Dave Love <fx@gnu.org>
parents:
diff changeset
39 (defconst emacs-minor-version
Dave Love <fx@gnu.org>
parents:
diff changeset
40 (progn (string-match "^[0-9]+\\.\\([0-9]+\\)" emacs-version)
Dave Love <fx@gnu.org>
parents:
diff changeset
41 (string-to-int (match-string 1 emacs-version)))
Dave Love <fx@gnu.org>
parents:
diff changeset
42 "Minor version number of this version of Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
43 This variable first existed in version 19.23.")
Dave Love <fx@gnu.org>
parents:
diff changeset
44
Dave Love <fx@gnu.org>
parents:
diff changeset
45 (defconst emacs-build-time (current-time) "\
Dave Love <fx@gnu.org>
parents:
diff changeset
46 Time at which Emacs was dumped out.")
Dave Love <fx@gnu.org>
parents:
diff changeset
47
Dave Love <fx@gnu.org>
parents:
diff changeset
48 (defconst emacs-build-system (system-name))
Dave Love <fx@gnu.org>
parents:
diff changeset
49
Dave Love <fx@gnu.org>
parents:
diff changeset
50 (defun emacs-version (&optional here) "\
Dave Love <fx@gnu.org>
parents:
diff changeset
51 Return string describing the version of Emacs that is running.
Dave Love <fx@gnu.org>
parents:
diff changeset
52 If optional argument HERE is non-nil, insert string at point.
Dave Love <fx@gnu.org>
parents:
diff changeset
53 Don't use this function in programs to choose actions according
Dave Love <fx@gnu.org>
parents:
diff changeset
54 to the system configuration; look at `system-configuration' instead."
Dave Love <fx@gnu.org>
parents:
diff changeset
55 (interactive "P")
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47726
diff changeset
56 (let ((version-string
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
57 (format (if (not (interactive-p))
34870
6c2c536e15aa (emacs-version): Print X scroll bar information.
Gerd Moellmann <gerd@gnu.org>
parents: 34680
diff changeset
58 "GNU Emacs %s (%s%s%s)\n of %s on %s"
6c2c536e15aa (emacs-version): Print X scroll bar information.
Gerd Moellmann <gerd@gnu.org>
parents: 34680
diff changeset
59 "GNU Emacs %s (%s%s%s) of %s on %s")
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
60 emacs-version
Dave Love <fx@gnu.org>
parents:
diff changeset
61 system-configuration
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47726
diff changeset
62 (cond ((featurep 'motif)
37214
b67db6e4ed56 (emacs-version): Include LessTif/Motif version info.
Gerd Moellmann <gerd@gnu.org>
parents: 37204
diff changeset
63 (concat ", " (substring motif-version-string 4)))
52335
2f148721b4f0 (emacs-version): Check for gtk. Include gtk version info.
Lute Kamstra <lute@gnu.org>
parents: 49597
diff changeset
64 ((featurep 'gtk)
2f148721b4f0 (emacs-version): Check for gtk. Include gtk version info.
Lute Kamstra <lute@gnu.org>
parents: 49597
diff changeset
65 (concat ", GTK+ Version " gtk-version-string))
55567
f5732b5fb78b (emacs-version): Check for `gtk' feature before `x-toolkit' feature.
John Paul Wallington <jpw@pobox.com>
parents: 52401
diff changeset
66 ((featurep 'x-toolkit) ", X toolkit")
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
67 (t ""))
34870
6c2c536e15aa (emacs-version): Print X scroll bar information.
Gerd Moellmann <gerd@gnu.org>
parents: 34680
diff changeset
68 (if (and (boundp 'x-toolkit-scroll-bars)
6c2c536e15aa (emacs-version): Print X scroll bar information.
Gerd Moellmann <gerd@gnu.org>
parents: 34680
diff changeset
69 (memq x-toolkit-scroll-bars '(xaw xaw3d)))
6c2c536e15aa (emacs-version): Print X scroll bar information.
Gerd Moellmann <gerd@gnu.org>
parents: 34680
diff changeset
70 (format ", %s scroll bars"
6c2c536e15aa (emacs-version): Print X scroll bar information.
Gerd Moellmann <gerd@gnu.org>
parents: 34680
diff changeset
71 (capitalize (symbol-name x-toolkit-scroll-bars)))
6c2c536e15aa (emacs-version): Print X scroll bar information.
Gerd Moellmann <gerd@gnu.org>
parents: 34680
diff changeset
72 "")
34668
4d84de45722a (emacs-version): Remove `%a' from the time format
Gerd Moellmann <gerd@gnu.org>
parents: 34478
diff changeset
73 (format-time-string "%Y-%m-%d" emacs-build-time)
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
74 emacs-build-system)))
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47726
diff changeset
75 (if here
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
76 (insert version-string)
Dave Love <fx@gnu.org>
parents:
diff changeset
77 (if (interactive-p)
Dave Love <fx@gnu.org>
parents:
diff changeset
78 (message "%s" version-string)
Dave Love <fx@gnu.org>
parents:
diff changeset
79 version-string))))
Dave Love <fx@gnu.org>
parents:
diff changeset
80
41168
d647c8dc631c *** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 39873
diff changeset
81 ;; We hope that this alias is easier for people to find.
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
82 (defalias 'version 'emacs-version)
Dave Love <fx@gnu.org>
parents:
diff changeset
83
42656
cd29af650db0 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 42649
diff changeset
84 ;; We put version info into the executable in the form that `ident' uses.
26950
903a19771606 Put the version info into binary on MS-DOS as well.
Eli Zaretskii <eliz@gnu.org>
parents: 25866
diff changeset
85 (or (memq system-type '(vax-vms windows-nt))
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
86 (purecopy (concat "\n$Id: " (subst-char-in-string ?\n ? (emacs-version))
Dave Love <fx@gnu.org>
parents:
diff changeset
87 " $\n")))
Dave Love <fx@gnu.org>
parents:
diff changeset
88
Dave Love <fx@gnu.org>
parents:
diff changeset
89 ;;Local variables:
Dave Love <fx@gnu.org>
parents:
diff changeset
90 ;;version-control: never
Dave Love <fx@gnu.org>
parents:
diff changeset
91 ;;End:
Dave Love <fx@gnu.org>
parents:
diff changeset
92
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 52335
diff changeset
93 ;;; arch-tag: e60dc445-6218-4a4c-a7df-f15a818642a0
25866
Dave Love <fx@gnu.org>
parents:
diff changeset
94 ;;; version.el ends here