Commit b3253cd4 authored by Kenichi Handa's avatar Kenichi Handa
Browse files

merge trunk

parents 4be9765d e5fa3899
......@@ -1121,8 +1121,8 @@ A regular match expression used to match compressed man file extensions
for which decompressors are available and handled by auto-compression
mode. It should begin with @code{\\.} and end with @code{\\'} and
@emph{must not} be optional. The default value is
@code{"\\.\\(g?z\\|bz2\\)\\'"}, which matches the @code{gzip} and
@code{bzip2} compression extensions.
@code{"\\.\\(g?z\\|bz2\\|xz\\)\\'"}, which matches the @code{gzip},
@code{bzip2}, and @code{xz} compression extensions.
@emph{Do not change this unless you are sure you know what you are doing!}
......
2010-09-21 Eric Ludlam <zappo@gnu.org>
* srecode/java.srt: Make NAME be a prompt.
2010-09-13 Michael Albinus <michael.albinus@gmx.de>
* NEWS: Some Tramp methods are discontinued.
......
......@@ -561,10 +561,13 @@ by the Graphic Control Extension of the image.
** XML and HTML parsing
*** If Emacs is compiled with libxml2 support (which is the default),
two new Emacs Lisp-level functions are defined: `html-parse-string'
(which will parse "real world" HTML) and `xml-parse-string' (which
parses XML). Both return an Emacs Lisp parse tree. See the Emacs
Lisp Reference Manual for details.
two new Emacs Lisp-level functions are defined:
`xml-parse-html-string-internal' (which will parse "real world" HTML)
and `xml-parse-string-internal' (which parses XML). Both return an
Emacs Lisp parse tree.
FIXME: These should be front-ended by xml.el.
** Isearch
......
......@@ -40,6 +40,8 @@ This can be used in place of the default appt-message-warning-time.
* Lisp changes in Emacs 23.3
** `e' and `pi' are now called `float-e' and `float-pi'.
The old names are obsolete.
** The use of unintern without an obarray arg is declared obsolete.
** New function byte-to-string, like char-to-string but for bytes.
......
......@@ -83,7 +83,7 @@ public Class {{?NAME}} {{#PARENTS}}{{#FIRST}}extends {{/FIRST}}{{#NOTFIRST}}impl
template include :blank
"An include statement."
----
import {{NAME}};
import {{?NAME}};
----
context misc
......
2010-09-25 Ulrich Mueller <ulm@gentoo.org>
* etags.c (compressors, print_language_names): Support xz compression.
2010-08-11 Jan Djärv <jan.h.d@swipnet.se>
* fakemail.c: Include stdlib.h for getenv. Remove declaration of
......
......@@ -561,6 +561,7 @@ static compressor compressors[] =
{ "gz", "gzip -d -c"},
{ "GZ", "gzip -d -c"},
{ "bz2", "bzip2 -d -c" },
{ "xz", "xz -d -c" },
{ NULL }
};
......@@ -874,7 +875,7 @@ followed by the name of an interpreter. If no such sequence is found,\n\
Fortran is tried first; if no tags are found, C is tried next.\n\
When parsing any C file, a \"class\" or \"template\" keyword\n\
switches to C++.");
puts ("Compressed files are supported using gzip and bzip2.\n\
puts ("Compressed files are supported using gzip, bzip2, and xz.\n\
\n\
For detailed help on a given language use, for example,\n\
etags --help --lang=ada.");
......
This diff is collapsed.
......@@ -1140,7 +1140,7 @@
(rcirc-keepalive-seconds): Remove variable.
(rcirc-server-name, rcirc-timeout-timer, rcirc-connecting)
(rcirc-process, rcirc-user-disconnect): New variables.
(rcirc-connect): Initalize new variables.
(rcirc-connect): Initialize new variables.
(rcirc-keepalive): Don't send keepalive pings before connection
is completed.
(rcirc-sentinel): Do mark all channels with activity when
2009-02-07 Dave Love <fx@gnu.org>
* net/tls.el (open-tls-stream): Don't query killing process.
2009-06-21 Chong Yidong <cyd@stupidchicken.com>
 
* Branch for 23.1.
......
......@@ -8121,7 +8121,7 @@
* dired.el (dired-get-filename): Return filename verbatim if
LOCALP is `verbatim'.
* dired-aux.el (dired-add-entry): Call `dired-get-filename' with
`verbatim' so that we don't inadvertently delete a non-existant
`verbatim' so that we don't inadvertently delete a non-existent
directory name.
 
2000-11-27 Kenichi Handa <handa@etl.go.jp>
......
......@@ -369,7 +369,8 @@ documentation for an example.")
Used for repeating operations in calculator-repR/L.")
(defvar calculator-registers ; use user-bindings first
(append calculator-user-registers (list (cons ?e e) (cons ?p pi)))
(append calculator-user-registers
(list (cons ?e float-e) (cons ?p float-pi)))
"The association list of calculator register values.")
(defvar calculator-saved-global-map nil
......@@ -1300,7 +1301,7 @@ arguments."
(calculator-funcall __f__ x y))))
(fset 'D (function
(lambda (x)
(if calculator-deg (/ (* x 180) pi) x))))
(if calculator-deg (/ (* x 180) float-pi) x))))
(unwind-protect (eval f)
(if Fbound (fset 'F Fsave) (fmakunbound 'F))
(if Dbound (fset 'D Dsave) (fmakunbound 'D)))))
......
......@@ -334,30 +334,42 @@ displayed in a window:
(if (or force ; eg initialize, diary save
(null appt-prev-comp-time) ; first check
(< cur-comp-time appt-prev-comp-time)) ; new day
(condition-case nil
(if appt-display-diary
(let ((diary-hook
(if (assoc 'appt-make-list diary-hook)
diary-hook
(cons 'appt-make-list diary-hook))))
(diary))
(let* ((diary-display-function 'appt-make-list)
(d-buff (find-buffer-visiting diary-file))
(selective
(if d-buff ; diary buffer exists
(with-current-buffer d-buff
diary-selective-display))))
;; FIXME why not using diary-list-entries with
;; non-nil LIST-ONLY?
(diary)
;; If the diary buffer existed before this command,
;; restore its display state. Otherwise, kill it.
(if d-buff
;; Displays the diary buffer.
(or selective (diary-show-all-entries))
(and (setq d-buff (find-buffer-visiting diary-file))
(kill-buffer d-buff)))))
(error nil)))
(ignore-errors
(if appt-display-diary
(let ((diary-hook
(if (assoc 'appt-make-list diary-hook)
diary-hook
(cons 'appt-make-list diary-hook))))
(diary))
(let* ((diary-display-function 'appt-make-list)
(d-buff (find-buffer-visiting diary-file))
(selective
(if d-buff ; diary buffer exists
(with-current-buffer d-buff
diary-selective-display)))
d-buff2)
;; Not displaying the diary, so we can ignore
;; diary-number-of-entries. Since appt.el only
;; works on a daily basis, no need for more entries.
;; FIXME why not using diary-list-entries with
;; non-nil LIST-ONLY?
(diary 1)
;; If the diary buffer existed before this command,
;; restore its display state. Otherwise, kill it.
(and (setq d-buff2 (find-buffer-visiting diary-file))
(if d-buff
(or selective
(with-current-buffer d-buff2
(if diary-selective-display
;; diary-show-all-entries displays
;; the diary buffer.
(diary-unhide-everything))))
;; FIXME does not kill any included diary files.
;; The real issue is that (diary) should not
;; have the side effect of visiting all the
;; diary files. It is not really appt.el's job to
;; clean up this mess...
(kill-buffer d-buff2)))))))
(setq appt-prev-comp-time cur-comp-time
appt-mode-string nil
appt-display-count nil)
......@@ -573,6 +585,17 @@ appointment package (if it is not already active)."
(let ((entry-list diary-entries-list)
(new-time-string "")
time-string)
;; Below, we assume diary-entries-list was in date
;; order. It is, unless something on
;; diary-list-entries-hook has changed it, eg
;; diary-include-other-files (bug#7019). It must be
;; in date order if number = 1.
(and diary-list-entries-hook
appt-display-diary
(not (eq diary-number-of-entries 1))
(not (memq (car (last diary-list-entries-hook))
'(diary-sort-entries sort-diary-entries)))
(setq entry-list (sort entry-list 'diary-entry-compare)))
;; Skip diary entries for dates before today.
(while (and entry-list
(calendar-date-compare
......
......@@ -711,14 +711,26 @@ The arguments are DATE and NUMBER; the entries selected are those
for NUMBER days starting with date DATE. The other entries are hidden
using overlays. If NUMBER is less than 1, this function does nothing.
Returns a list of all relevant diary entries found, if any, in order by date.
Returns a list of all relevant diary entries found.
The list entries have the form ((MONTH DAY YEAR) STRING SPECIFIER) where
\(MONTH DAY YEAR) is the date of the entry, STRING is the entry text, and
SPECIFIER is the applicability. If the variable `diary-list-include-blanks'
is non-nil, this list includes a dummy diary entry consisting of the empty
string for a date with no diary entries.
After the list is prepared, the following hooks are run:
If entries are being produced for multiple dates (i.e., NUMBER > 1),
then this function normally returns the entries from any given
diary file in date order. The entries for any given day are in
the order in which they were found in the file, not necessarily
in time-of-day order. Note that any functions present on the
hooks (see below) may add entries, or change the order. For
example, `diary-include-other-diary-files' adds entries from any
include files that it finds to the end of the original list. The
entries from each file will be in date order, but the overall
list will not be. If you want the entire list to be in time order,
add `diary-sort-entries' to the end of `diary-list-entries-hook'.
After the initial list is prepared, the following hooks are run:
`diary-nongregorian-listing-hook' can cull dates from the diary
and each included file, for example to process Islamic diary
......
......@@ -753,12 +753,12 @@ The values of `calendar-daylight-savings-starts',
(sin (mod
(+ (cadr x)
(* (nth 2 x) U))
(* 2 pi)))))
(* 2 float-pi)))))
solar-data-list)))))
(aberration
(* 0.0000001 (- (* 17 (cos (+ 3.10 (* 62830.14 U)))) 973)))
(A1 (mod (+ 2.18 (* U (+ -3375.70 (* 0.36 U)))) (* 2 pi)))
(A2 (mod (+ 3.51 (* U (+ 125666.39 (* 0.10 U)))) (* 2 pi)))
(A1 (mod (+ 2.18 (* U (+ -3375.70 (* 0.36 U)))) (* 2 float-pi)))
(A2 (mod (+ 3.51 (* U (+ 125666.39 (* 0.10 U)))) (* 2 float-pi)))
(nutation (* -0.0000001 (+ (* 834 (sin A1)) (* 64 (sin A2))))))
(mod (radians-to-degrees (+ longitude aberration nutation)) 360.0)))
......
......@@ -97,20 +97,20 @@ and type 2 is the list (HIGH LOW MICRO)."
(autoload 'timezone-make-date-arpa-standard "timezone")
;;;###autoload
;; `parse-time-string' isn't sufficiently general or robust. It fails
;; to grok some of the formats that timezone does (e.g. dodgy
;; post-2000 stuff from some Elms) and either fails or returns bogus
;; values. timezone-make-date-arpa-standard should help.
(defun date-to-time (date)
"Parse a string DATE that represents a date-time and return a time value.
If DATE lacks timezone information, GMT is assumed."
(condition-case ()
(apply 'encode-time
(parse-time-string
;; `parse-time-string' isn't sufficiently general or
;; robust. It fails to grok some of the formats that
;; timezone does (e.g. dodgy post-2000 stuff from some
;; Elms) and either fails or returns bogus values. Lars
;; reverted this change, but that loses non-trivially
;; often for me. -- fx
(timezone-make-date-arpa-standard date)))
(error (error "Invalid date: %s" date))))
(apply 'encode-time (parse-time-string date))
(error (condition-case ()
(apply 'encode-time
(parse-time-string
(timezone-make-date-arpa-standard date)))
(error (error "Invalid date: %s" date))))))
;; Bit of a mess. Emacs has float-time since at least 21.1.
;; This file is synced to Gnus, and XEmacs packages may have been written
......@@ -317,10 +317,10 @@ This function does not work for SECONDS greater than `most-positive-fixnum'."
(setq start (match-end 0)
spec (match-string 1 string))
(unless (string-equal spec "%")
;; `assoc-string' is not available in XEmacs or Emacs 21. So when
;; compiling Gnus (`time-date.el' is part of Gnus) with XEmacs or
;; Emacs 21, we get a warning here. But `format-seconds' is not
;; used anywhere in Gnus so it's not a real problem. --rsteib
;; `assoc-string' is not available in XEmacs. So when compiling
;; Gnus (`time-date.el' is part of Gnus) with XEmacs, we get
;; a warning here. But `format-seconds' is not used anywhere in
;; Gnus so it's not a real problem. --rsteib
(or (setq match (assoc-string spec units t))
(error "Bad format specifier: `%s'" spec))
(if (assoc-string spec usedunits t)
......
This diff is collapsed.
......@@ -73,6 +73,12 @@ SCOPE is the scope of the search, such as 'project or 'subdirs."
)
(cedet-cscope-call (list "-d" "-L" idx searchtext))))
(defun cedet-cscope-create (flags)
"Create a CScope database at the current directory.
FLAGS are additional flags to pass to cscope beyond the
options -cR."
(cedet-cscope-call (append (list "-cR") flags)))
(defun cedet-cscope-call (flags)
"Call CScope with the list of FLAGS."
(let ((b (get-buffer-create "*CEDET CScope*"))
......@@ -113,13 +119,19 @@ Return a fully qualified filename."
If DIR is not supplied, use the current default directory.
This works by running cscope on a bogus symbol, and looking for
the error code."
(interactive "DDirectory: ")
(save-excursion
(let ((default-directory (or dir default-directory)))
(set-buffer (cedet-cscope-call (list "-d" "-L" "-7" "moose")))
(goto-char (point-min))
(if (looking-at "[^ \n]*cscope: ")
nil
t))))
(let ((ans (looking-at "[^ \n]*cscope: ")))
(if (called-interactively-p 'interactive)
(if ans
(message "No support for CScope in %s" default-directory)
(message "CScope is supported in %s" default-directory))
(if ans
nil
t))))))
(defun cedet-cscope-version-check (&optional noerror)
"Check the version of the installed CScope command.
......@@ -151,6 +163,14 @@ return nil."
(message "CScope %s - Good enough for CEDET." rev))
t)))))
(defun cedet-cscope-create/update-database (&optional dir)
"Create a CScope database in DIR.
CScope will automatically choose incremental rebuild if
there is already a database in DIR."
(interactive "DDirectory: ")
(let ((default-directory dir))
(cedet-cscope-create nil)))
(provide 'cedet-cscope)
;; arch-tag: 9973f1ad-f13b-4399-bc67-7f488478d78d
......
......@@ -34,6 +34,12 @@
:type 'string
:group 'cedet)
(defcustom cedet-global-gtags-command "gtags"
"Command name for the GNU Global gtags executable.
GTAGS is used to create the tags table queried by the 'global' command."
:type 'string
:group 'cedet)
;;; Code:
(defun cedet-gnu-global-search (searchtext texttype type scope)
"Perform a search with GNU Global, return the created buffer.
......@@ -76,6 +82,19 @@ SCOPE is the scope of the search, such as 'project or 'subdirs."
flags)
b))
(defun cedet-gnu-global-gtags-call (flags)
"Create GNU Global TAGS using gtags with FLAGS."
(let ((b (get-buffer-create "*CEDET Global gtags*"))
(cd default-directory)
)
(with-current-buffer b
(setq default-directory cd)
(erase-buffer))
(apply 'call-process cedet-global-gtags-command
nil b nil
flags)
b))
(defun cedet-gnu-global-expand-filename (filename)
"Expand the FILENAME with GNU Global.
Return a fully qualified filename."
......@@ -153,6 +172,18 @@ return nil."
;; Return the results
(nreverse hits))))
(defun cedet-gnu-global-create/update-database (&optional dir)
"Create a GNU Global database in DIR.
If a database already exists, then just update it."
(interactive "DDirectory: ")
(let ((root (cedet-gnu-global-root dir)))
(if root (setq dir root))
(let ((default-directory dir))
(cedet-gnu-global-gtags-call
(when root
'("-i");; Incremental update flag.
)))))
(provide 'cedet-global)
;; arch-tag: 0d0d3ac2-91ef-4820-bb2b-1d59ccf38392
......
......@@ -44,6 +44,11 @@
:type 'string
:group 'cedet)
(defcustom cedet-idutils-make-command "mkid"
"Command name for the ID Utils executable for creating token databases."
:type 'string
:group 'cedet)
(defun cedet-idutils-search (searchtext texttype type scope)
"Perform a search with ID Utils, return the created buffer.
SEARCHTEXT is text to find.
......@@ -105,6 +110,20 @@ Return the created buffer with with program output."
flags)
b))
(defun cedet-idutils-mkid-call (flags)
"Call ID Utils mkid with the list of FLAGS.
Return the created buffer with with program output."
(let ((b (get-buffer-create "*CEDET mkid*"))
(cd default-directory)
)
(with-current-buffer b
(setq default-directory cd)
(erase-buffer))
(apply 'call-process cedet-idutils-make-command
nil b nil
flags)
b))
;;; UTIL CALLS
;;
(defun cedet-idutils-expand-filename (filename)
......@@ -172,6 +191,12 @@ return nil."
(message "ID Utils %s - Good enough for CEDET." rev))
t)))))
(defun cedet-idutils-create/update-database (&optional dir)
"Create an IDUtils database in DIR.
IDUtils must start from scratch when updating a database."
(interactive "DDirectory: ")
(let ((default-directory dir))
(cedet-idutils-mkid-call nil)))
(provide 'cedet-idutils)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment