Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-15

Merge from emacs--cvs-trunk--0

Patches applied:

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-95
   Merge from gnus--rel--5.10

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-96
   Move Gnus images into etc/images

 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-97
 - miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-105
   Update from CVS

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-14
   Merge from emacs--cvs-trunk--0

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-15
   Update from CVS: lisp/imap.el (imap-log): Doc fix.

 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-16
   Merge from emacs--cvs-trunk--0
This commit is contained in:
Miles Bader 2005-02-18 00:41:50 +00:00
commit 8d46efcc0f
160 changed files with 3926 additions and 1896 deletions

View file

@ -1,3 +1,8 @@
2005-02-15 Jason Rumney <jasonr@gnu.org>
* nt/makedist.bat: Do not rely on non-standard behaviour of
tar --exclude.
2004-11-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
* FOR-RELEASE (Indications): Remove two stage update for toolbar (Done).
@ -31,7 +36,7 @@
* FOR-RELEASE: Remove entry about GTK and monochrome displays (done).
2002-06-26 Eli Zaretskii <eliz@is.elta.co.il>
2004-06-26 Eli Zaretskii <eliz@is.elta.co.il>
* FOR-RELEASE: Moved here from the etc directory.
@ -44,6 +49,10 @@
* quick-install-emacs: Don't use "function" keyword when defining
shell functions.
2003-09-29 Lute Kamstra <lute@gnu.org>
* make-tarball.txt: Mention regenerating Emacs' AUTHORS file.
2003-09-27 Miles Bader <miles@gnu.ai.mit.edu>
* quick-install-emacs: Remove fns-* pruning, since that file no
@ -193,7 +202,7 @@
version of tar used.
;; Local Variables:
;; coding: iso-2022-7bit-unix
;; coding: iso-2022-7bit
;; End:
Copyright (C) 2001 Free Software Foundation, Inc.

View file

@ -218,40 +218,40 @@ man/anti.texi
man/basic.texi "Luc Teirlinck" Chong Yidong
man/buffers.texi "Luc Teirlinck" Chong Yidong
man/building.texi "Ted Zlatanov" <tzz@lifelogs.com>
man/calendar.texi Joakim Verona <joakim@verona.se>
man/calendar.texi joakim@verona.se
man/cmdargs.texi Chong Yidong
man/commands.texi "Luc Teirlinck"
man/custom.texi Chong Yidong
man/dired.texi
man/display.texi "Luc Teirlinck"
man/dired.texi Chong Yidong joakim@verona.se
man/display.texi "Luc Teirlinck" Chong Yidong
man/emacs.texi "Luc Teirlinck"
man/entering.texi "Luc Teirlinck" Chong Yidong
man/files.texi "Luc Teirlinck" Chong Yidong
man/fixit.texi "Luc Teirlinck"
man/frames.texi "Luc Teirlinck" Chong Yidong
man/glossary.texi
man/help.texi "Luc Teirlinck"
man/indent.texi "Luc Teirlinck"
man/help.texi "Luc Teirlinck" Chong Yidong
man/indent.texi "Luc Teirlinck" Chong Yidong
man/killing.texi "Luc Teirlinck" Chong Yidong
man/kmacro.texi "Luc Teirlinck"
man/kmacro.texi "Luc Teirlinck" Chong Yidong
man/macos.texi
man/maintaining.texi
man/major.texi "Luc Teirlinck"
man/major.texi "Luc Teirlinck" Chong Yidong
man/mark.texi "Luc Teirlinck"
man/mini.texi "Luc Teirlinck"
man/misc.texi
man/msdog.texi
man/msdog.texi Chong Yidong
man/mule.texi "Luc Teirlinck"
man/m-x.texi "Luc Teirlinck"
man/picture.texi Joakim Verona <joakim@verona.se>
man/programs.texi "Stephen Eglen"
man/programs.texi "Stephen Eglen" Chong Yidong
man/regs.texi "Luc Teirlinck" Chong Yidong
man/rmail.texi
man/screen.texi "Luc Teirlinck"
man/search.texi "Luc Teirlinck"
man/sending.texi
man/text.texi "Luc Teirlinck" Chong Yidong
man/trouble.texi
man/trouble.texi Chong Yidong
man/windows.texi "Luc Teirlinck" Chong Yidong
man/xresources.texi
@ -271,47 +271,47 @@ lispref/backups.texi "Luc Teirlinck"
lispref/buffers.texi "Luc Teirlinck" Chong Yidong
lispref/calendar.texi Joakim Verona <joakim@verona.se>
lispref/commands.texi "Luc Teirlinck"
lispref/compile.texi "Luc Teirlinck"
lispref/control.texi "Luc Teirlinck"
lispref/compile.texi "Luc Teirlinck" Chong Yidong
lispref/control.texi "Luc Teirlinck" Chong Yidong
lispref/customize.texi
lispref/debugging.texi Joakim Verona <joakim@verona.se>
lispref/display.texi
lispref/edebug.texi
lispref/elisp.texi "Luc Teirlinck"
lispref/errors.texi "Luc Teirlinck"
lispref/eval.texi "Luc Teirlinck"
lispref/eval.texi "Luc Teirlinck" Chong Yidong
lispref/files.texi "Luc Teirlinck" Chong Yidong
lispref/frames.texi "Luc Teirlinck" Chong Yidong
lispref/functions.texi "Luc Teirlinck"
lispref/hash.texi "Luc Teirlinck"
lispref/functions.texi "Luc Teirlinck" Chong Yidong
lispref/hash.texi "Luc Teirlinck" Chong Yidong
lispref/help.texi "Luc Teirlinck"
lispref/hooks.texi
lispref/internals.texi "Luc Teirlinck"
lispref/intro.texi "Luc Teirlinck"
lispref/keymaps.texi "Luc Teirlinck"
lispref/lists.texi "Luc Teirlinck"
lispref/loading.texi "Luc Teirlinck"
lispref/lists.texi "Luc Teirlinck" Chong Yidong
lispref/loading.texi "Luc Teirlinck" Chong Yidong
lispref/locals.texi
lispref/macros.texi "Luc Teirlinck"
lispref/maps.texi
lispref/markers.texi "Luc Teirlinck"
lispref/minibuf.texi "Luc Teirlinck"
lispref/minibuf.texi "Luc Teirlinck" Chong Yidong
lispref/modes.texi Chong Yidong
lispref/nonascii.texi "Luc Teirlinck"
lispref/numbers.texi "Luc Teirlinck"
lispref/objects.texi "Luc Teirlinck"
lispref/numbers.texi "Luc Teirlinck" Chong Yidong
lispref/objects.texi "Luc Teirlinck" Chong Yidong
lispref/os.texi "Luc Teirlinck"
lispref/positions.texi "Luc Teirlinck" Chong Yidong
lispref/processes.texi
lispref/searching.texi "Luc Teirlinck"
lispref/sequences.texi "Luc Teirlinck"
lispref/streams.texi "Luc Teirlinck"
lispref/streams.texi "Luc Teirlinck" Chong Yidong
lispref/strings.texi "Luc Teirlinck" Chong Yidong
lispref/symbols.texi "Luc Teirlinck"
lispref/symbols.texi "Luc Teirlinck" Chong Yidong
lispref/syntax.texi "Luc Teirlinck"
lispref/text.texi Chong Yidong
lispref/tips.texi "Luc Teirlinck"
lispref/variables.texi "Luc Teirlinck"
lispref/variables.texi "Luc Teirlinck" Chong Yidong
lispref/windows.texi "Luc Teirlinck" Chong Yidong

View file

@ -1,11 +1,10 @@
@echo off
rem This batch file doesn't work with Cygwin tar because #files#
rem has DOS line endings, which Cygwin tar misinterprets.
rem I use the version of tar from
rem ftp://ftp.gnu.org/gnu/windows/emacs/utilities/i386/tar-1.11.2a.exe
rem renamed as wtar.exe.
set TAR=wtar
rem Beware broken ports of tar. Recent cygwin versions work well, older
rem cygwin versions and the current MSys port have problems with DOS
rem line ends when reading file names from a file. Other ports have their
rem own problems too.
set TAR=tar
rem Make a copy of current Emacs source
if (%3) == () goto usage
@ -27,7 +26,7 @@ if not (%4) == () goto end
set eld=emacs-%1/lisp
rem Keep this list in sync with the DONTCOMPILE list in lisp/Makefile.in
rem Keep this list in sync with the DONTCOMPILE list in lisp/makefile.w32-in
set elfiles=%eld%/cus-load.el %eld%/cus-start.el %eld%/emacs-lisp/cl-specs.el %eld%/eshell/esh-maint.el %eld%/eshell/esh-groups.el %eld%/finder-inf.el %eld%/forms-d2.el %eld%/forms-pass.el %eld%/generic-x.el %eld%/international/latin-1.el %eld%/international/latin-2.el %eld%/international/latin-3.el %eld%/international/latin-4.el %eld%/international/latin-5.el %eld%/international/latin-8.el %eld%/international/latin-9.el %eld%/international/mule-conf.el %eld%/loaddefs.el %eld%/loadup.el %eld%/mail/blessmail.el %eld%/patcomp.el %eld%/paths.el %eld%/play/bruce.el %eld%/subdirs.el %eld%/version.el
@ -37,15 +36,19 @@ for %%f in (emacs-%1/bin/fns*) do set fns_el=%fns_el% emacs-%1/bin/%%f
echo Create bin distribution
copy %3\README.W32 emacs-%1\README.W32
del #files#
del #files# #elfiles#
for %%f in (emacs-%1/BUGS emacs-%1/README emacs-%1/README.W32) do echo %%f>>#files#
for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#files#
for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp %elfiles%) do echo %%f>>#files#
for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#files#
for %%f in (emacs-%1/lock emacs-%1/site-lisp emacs-%1/site-lisp/subdirs.el) do echo %%f>>#files#
%TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude *.el --exclude *~ -T #files# -cvf - | gzip -9 > %2-bin-i386.tar.gz
for %%f in (emacs-%1/bin/fns*) do echo emacs-%1/bin/%%f>>#elfiles#
for %%f in (emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp) do echo %%f>>#files#
for %%f in (emacs-%1/lock emacs-%1/site-lisp) do echo %%f>>#files#
for %%f in (%elfiles% emacs-%1/site-lisp/subdirs.el) do echo %%f>>#elfiles#
for %%f in (%eld%/term/*.el) do echo %eld%/term/%%f>>#elfiles#
%TAR% --exclude temacs.exe --exclude emacs.mdp --exclude *.pdb --exclude *.opt --exclude "*.el" --exclude "*~" -T #files# -cvf %2-bin-i386.tar
%TAR% -T #elfiles# -rvf %2-bin-i386.tar
gzip -9 %2-bin-i386.tar
del emacs-%1\README.W32
del #files#
rem del #files# #elfiles#
if not (%4) == () goto end
:fullbin

View file

@ -1,3 +1,11 @@
2005-02-14 Lute Kamstra <lute@gnu.org>
* TODO: Remove battery.el entry (DONE).
* TUTORIAL.nl: Synchronize with TUTORIAL. Correct some typos.
Make the terminology more consistent. Fill the text using the
default `fill-column'.
2005-02-08 Lute Kamstra <lute@gnu.org>
* TUTORIAL: Remove some uses of the term "buffer" before it is

View file

@ -2263,6 +2263,14 @@ some of them to initialize some of the default faces.
`list-colors-display' shows the list of System color names, in case
you wish to use them in other faces.
---
** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
Those systems use Unicode internally, so this allows Emacs to share
multilingual text with other applications. On other versions of
MS Windows, Emacs now uses the appropriate locale coding-system, so
the clipboard should work correctly for your local language without
any customizations.
+++
** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',

View file

@ -15,8 +15,6 @@ to the FSF.
ought to be possible to omit text which is invisible (due to a
text-property, overlay, or selective display) from the kill-ring.
** battery.el display-battery should be replaced with a minor mode.
** Redefine define-generic-mode as a macro, so the compiler
sees the definitions it generates.

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,121 @@
2005-02-16 Luc Teirlinck <teirllm@auburn.edu>
* autorevert.el (auto-revert-stop-on-user-input): Further doc fix.
2005-02-16 Kim F. Storm <storm@cua.dk>
* ido.el (ido-fallback-command): Pass user input to fallback command.
2005-02-16 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-set-gud-minor-mode-existing-buffers)
(gdb-find-file-hook): Add server prefix.
2005-02-16 Richard M. Stallman <rms@gnu.org>
* replace.el (perform-replace): Pass new args to replace-highlight.
(replace-highlight): Take region args,
and pass them to isearch-lazy-highlight-new-loop.
* novice.el (disabled-command-hook): Autoload the defalias
and the make-obsolete-variable call.
* menu-bar.el (menu-bar-select-frame): FRAME defaults to selected.
* isearch.el (isearch-lazy-highlight-start-limit)
(isearch-lazy-highlight-end-limit): New variables limit
the region for highlighting.
(isearch-lazy-highlight-new-loop): New args BEG and END.
(isearch-lazy-highlight-search): Use the new vars.
(isearch-lazy-highlight-update): Likewise.
* dired.el (dired-build-subdir-alist): Bind buffer-undo-list to t.
* cus-start.el (all): Use default-boundp.
2005-02-15 David Casperson <casper@unbc.ca> (tiny change)
* menu-bar.el (menu-bar-select-frame): Handle current frame.
2005-02-15 Luc Teirlinck <teirllm@auburn.edu>
* autorevert.el (auto-revert-stop-on-user-input)
(auto-revert-verbose): Doc fixes.
2005-02-15 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
* international/mule-cmds.el (set-locale-environment): Remove call
to set-selection-coding-system on Windows.
2005-02-15 Jay Belanger <belanger@truman.edu>
* calc/calc-alg.el: Add simplification rules for calcFunc-sec,
calcFunc-csc, calcFunc-cot, calcFunc-sech, calcFunc-csch and
calcFunc-coth.
(math-simplify-sqrt): Add simplifications.
* calc/calc-arith.el (math-real-if-arg-functions): Add functions
to list.
* calc/calc-ext.el: Add functions to autoloads.
* calc/calc-math.el (calc-sec, calc-csc, calc-cot, calc-sech)
(calc-csch, calc-coth, calcFunc-sec, calcFunc-csc, calcFunc-cot)
(calcFunc-sech, calcFunc-csch, calcFunc-coth, math-sec-raw)
(math-csc-raw, math-cot-raw): New functions.
* calc/calc-rules.el (calc-DistribRules, calc-NegateRules): Add rules.
* calc/calc-undo.el (calc-handle-undo): Remove prefix from
the variable name in a message.
* calc/calc-units.el: Add simplification rules for calcFunc-sec,
calcFunc-csc, calcFunc-cot.
* calc/calcalg2.el: Add derivative and integration rules for
calcFunc-sec, calcFunc-csc, calcFunc-cot, calcFunc-sech,
calcFunc-csch, calcFunc-coth.
(math-do-integral-methods): Add to checks for when to use
substitutions.
* calc/calccomp.el (math-eqn-special-funcs): Add functions to list.
2005-02-15 Lute Kamstra <lute@gnu.org>
* emacs-lisp/lisp-mode.el (lisp-mode-variables): Add
;;;###autoload to `outline-regexp'. Suggested by Stefan Monnier
<monnier@iro.umontreal.ca>
(lisp-outline-level): Improve efficiency. Suggested by David
Kastrup <dak@gnu.org>.
2005-02-15 Nick Roberts <nickrob@snap.net.nz>
* progmodes/gdb-ui.el (gdb-find-file-unhook): New variable.
(gdb-set-gud-minor-mode, gdb-set-gud-minor-mode-1)
(gdb-set-gud-minor-mode-existing-buffers): New functions.
(gdb-find-file-hook): New hook. Add it to find-file-hook.
(gdb-info-breakpoints-custom, gdb-source-info): Simplify.
2005-02-14 Luc Teirlinck <teirllm@auburn.edu>
* cus-start.el (all): Comment change.
2005-02-14 Lute Kamstra <lute@gnu.org>
* cus-start.el (all): Check if symbol is void.
2005-02-14 Carsten Dominik <dominik@science.uva.nl>
* textmodes/reftex-cite.el (reftex-do-citation): Cleanup single
optional argument to \cite.
2005-02-14 Richard M. Stallman <rms@gnu.org>
* cus-edit.el (custom-buffer-create-internal): Update help message.
(custom-magic-alist): Update help messages.
* cus-start.el (all): Allow a var to specify a standard value.
2005-02-12 Luc Teirlinck <teirllm@auburn.edu>
* custom.el (custom-theme-set-variables): Handle variable aliases.

View file

@ -150,12 +150,18 @@ next editing session."
(auto-revert-set-timer))))
(defcustom auto-revert-stop-on-user-input t
"When non-nil Auto-Revert Mode stops checking files on user input."
"When non-nil, user input temporarily interrupts Auto-Revert Mode.
With this setting, Auto-Revert Mode checks for user input after
handling each buffer and does not process any further buffers
\(until the next run of the timer) if user input is available.
When nil, Auto-Revert Mode checks files and reverts buffers,
with quitting disabled, without paying attention to user input.
Thus, Emacs might be non-responsive at times."
:group 'auto-revert
:type 'boolean)
(defcustom auto-revert-verbose t
"When nil, Auto-Revert Mode will not generate any messages.
"When nil, Auto-Revert Mode does not generate any messages.
When non-nil, a message is generated whenever a file is reverted."
:group 'auto-revert
:type 'boolean)

View file

@ -746,6 +746,55 @@
(list '* (list 'calcFunc-sin (list '* (1- n) a))
(list 'calcFunc-sin a))))))))
(math-defsimplify calcFunc-sec
(or (and (math-looks-negp (nth 1 math-simplify-expr))
(list 'calcFunc-sec (math-neg (nth 1 math-simplify-expr))))
(and (eq calc-angle-mode 'rad)
(let ((n (math-linear-in (nth 1 math-simplify-expr) '(var pi var-pi))))
(and n
(math-div 1 (math-known-sin (car n) (nth 1 n) 120 300)))))
(and (eq calc-angle-mode 'deg)
(let ((n (math-integer-plus (nth 1 math-simplify-expr))))
(and n
(math-div 1 (math-known-sin (car n) (nth 1 n) '(frac 2 3) 300)))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arcsin)
(math-div
1
(list 'calcFunc-sqrt
(math-sub 1 (math-sqr (nth 1 (nth 1 math-simplify-expr)))))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arccos)
(math-div
1
(nth 1 (nth 1 math-simplify-expr))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arctan)
(list 'calcFunc-sqrt
(math-add 1
(math-sqr (nth 1 (nth 1 math-simplify-expr))))))))
(math-defsimplify calcFunc-csc
(or (and (math-looks-negp (nth 1 math-simplify-expr))
(math-neg (list 'calcFunc-csc (math-neg (nth 1 math-simplify-expr)))))
(and (eq calc-angle-mode 'rad)
(let ((n (math-linear-in (nth 1 math-simplify-expr) '(var pi var-pi))))
(and n
(math-div 1 (math-known-sin (car n) (nth 1 n) 120 0)))))
(and (eq calc-angle-mode 'deg)
(let ((n (math-integer-plus (nth 1 math-simplify-expr))))
(and n
(math-div 1 (math-known-sin (car n) (nth 1 n) '(frac 2 3) 0)))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arcsin)
(math-div 1 (nth 1 (nth 1 math-simplify-expr))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arccos)
(math-div
1
(list 'calcFunc-sqrt (math-sub 1 (math-sqr
(nth 1 (nth 1 math-simplify-expr)))))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arctan)
(math-div (list 'calcFunc-sqrt
(math-add 1 (math-sqr
(nth 1 (nth 1 math-simplify-expr)))))
(nth 1 (nth 1 math-simplify-expr))))))
(defun math-should-expand-trig (x &optional hyperbolic)
(let ((m (math-is-multiple x)))
(and math-living-dangerously
@ -827,6 +876,28 @@
(math-div (list 'calcFunc-sin (nth 1 math-simplify-expr))
(list 'calcFunc-cos (nth 1 math-simplify-expr))))))))
(math-defsimplify calcFunc-cot
(or (and (math-looks-negp (nth 1 math-simplify-expr))
(math-neg (list 'calcFunc-cot (math-neg (nth 1 math-simplify-expr)))))
(and (eq calc-angle-mode 'rad)
(let ((n (math-linear-in (nth 1 math-simplify-expr) '(var pi var-pi))))
(and n
(math-div 1 (math-known-tan (car n) (nth 1 n) 120)))))
(and (eq calc-angle-mode 'deg)
(let ((n (math-integer-plus (nth 1 math-simplify-expr))))
(and n
(math-div 1 (math-known-tan (car n) (nth 1 n) '(frac 2 3))))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arcsin)
(math-div (list 'calcFunc-sqrt
(math-sub 1 (math-sqr (nth 1 (nth 1 math-simplify-expr)))))
(nth 1 (nth 1 math-simplify-expr))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arccos)
(math-div (nth 1 (nth 1 math-simplify-expr))
(list 'calcFunc-sqrt
(math-sub 1 (math-sqr (nth 1 (nth 1 math-simplify-expr)))))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arctan)
(math-div 1 (nth 1 (nth 1 math-simplify-expr))))))
(defun math-known-tan (plus n mul)
(setq n (math-mul n mul))
(and (math-num-integerp n)
@ -930,6 +1001,58 @@
(math-div (list 'calcFunc-sinh (nth 1 math-simplify-expr))
(list 'calcFunc-cosh (nth 1 math-simplify-expr))))))))
(math-defsimplify calcFunc-sech
(or (and (math-looks-negp (nth 1 math-simplify-expr))
(list 'calcFunc-sech (math-neg (nth 1 math-simplify-expr))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arcsinh)
math-living-dangerously
(math-div
1
(list 'calcFunc-sqrt
(math-add (math-sqr (nth 1 (nth 1 math-simplify-expr))) 1))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arccosh)
math-living-dangerously
(math-div 1 (nth 1 (nth 1 math-simplify-expr))) 1)
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arctanh)
math-living-dangerously
(list 'calcFunc-sqrt
(math-sub 1 (math-sqr (nth 1 (nth 1 math-simplify-expr))))))))
(math-defsimplify calcFunc-csch
(or (and (math-looks-negp (nth 1 math-simplify-expr))
(math-neg (list 'calcFunc-csch (math-neg (nth 1 math-simplify-expr)))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arcsinh)
math-living-dangerously
(math-div 1 (nth 1 (nth 1 math-simplify-expr))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arccosh)
math-living-dangerously
(math-div
1
(list 'calcFunc-sqrt
(math-sub (math-sqr (nth 1 (nth 1 math-simplify-expr))) 1))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arctanh)
math-living-dangerously
(math-div (list 'calcFunc-sqrt
(math-sub 1 (math-sqr (nth 1 (nth 1 math-simplify-expr)))))
(nth 1 (nth 1 math-simplify-expr))))))
(math-defsimplify calcFunc-coth
(or (and (math-looks-negp (nth 1 math-simplify-expr))
(math-neg (list 'calcFunc-coth (math-neg (nth 1 math-simplify-expr)))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arcsinh)
math-living-dangerously
(math-div (list 'calcFunc-sqrt
(math-add (math-sqr (nth 1 (nth 1 math-simplify-expr))) 1))
(nth 1 (nth 1 math-simplify-expr))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arccosh)
math-living-dangerously
(math-div (nth 1 (nth 1 math-simplify-expr))
(list 'calcFunc-sqrt
(math-sub (math-sqr (nth 1 (nth 1 math-simplify-expr))) 1))))
(and (eq (car-safe (nth 1 math-simplify-expr)) 'calcFunc-arctanh)
math-living-dangerously
(math-div 1 (nth 1 (nth 1 math-simplify-expr))))))
(math-defsimplify calcFunc-arcsin
(or (and (math-looks-negp (nth 1 math-simplify-expr))
(math-neg (list 'calcFunc-arcsin (math-neg (nth 1 math-simplify-expr)))))
@ -1043,8 +1166,13 @@
(math-equal-int (nth 2 a) 2)
(or (and (eq (car-safe (nth 1 a)) 'calcFunc-sinh)
(list 'calcFunc-cosh (nth 1 (nth 1 a))))
(and (eq (car-safe (nth 1 a)) 'calcFunc-csch)
(list 'calcFunc-coth (nth 1 (nth 1 a))))
(and (eq (car-safe (nth 1 a)) 'calcFunc-tan)
(list '/ 1 (list 'calcFunc-cos
(nth 1 (nth 1 a)))))
(and (eq (car-safe (nth 1 a)) 'calcFunc-cot)
(list '/ 1 (list 'calcFunc-sin
(nth 1 (nth 1 a)))))))))
(and (eq (car-safe (nth 1 math-simplify-expr)) '^)
(list '^

View file

@ -70,9 +70,13 @@
calcFunc-max calcFunc-min))
(defvar math-real-if-arg-functions '(calcFunc-sin calcFunc-cos
calcFunc-tan calcFunc-arctan
calcFunc-tan calcFunc-sec
calcFunc-csc calcFunc-cot
calcFunc-arctan
calcFunc-sinh calcFunc-cosh
calcFunc-tanh calcFunc-exp
calcFunc-tanh calcFunc-sech
calcFunc-csch calcFunc-coth
calcFunc-exp
calcFunc-gamma calcFunc-fact))
(defvar math-integer-functions '(calcFunc-idiv

View file

@ -801,13 +801,16 @@ math-mul-mat-vec math-mul-mats math-row-matrix)
("calc-math" calcFunc-alog calcFunc-arccos
calcFunc-arccosh calcFunc-arcsin calcFunc-arcsincos calcFunc-arcsinh
calcFunc-arctan calcFunc-arctan2 calcFunc-arctanh calcFunc-cos
calcFunc-cosh calcFunc-deg calcFunc-exp calcFunc-exp10 calcFunc-expm1
calcFunc-arctan calcFunc-arctan2 calcFunc-arctanh calcFunc-csc
calcFunc-csch calcFunc-cos calcFunc-cosh calcFunc-cot calcFunc-coth
calcFunc-deg calcFunc-exp calcFunc-exp10 calcFunc-expm1
calcFunc-hypot calcFunc-ilog calcFunc-isqrt calcFunc-ln calcFunc-lnp1
calcFunc-log calcFunc-log10 calcFunc-nroot calcFunc-rad calcFunc-sin
calcFunc-log calcFunc-log10 calcFunc-nroot calcFunc-rad calcFunc-sec
calcFunc-sech calcFunc-sin
calcFunc-sincos calcFunc-sinh calcFunc-sqr calcFunc-sqrt calcFunc-tan
calcFunc-tanh math-arccos-raw math-arcsin-raw math-arctan-raw
math-arctan2-raw math-cos-raw math-exp-minus-1-raw math-exp-raw
math-arctan2-raw math-cos-raw math-cot-raw math-csc-raw
math-exp-minus-1-raw math-exp-raw
math-from-radians math-from-radians-2 math-hypot math-infinite-dir
math-isqrt-small math-ln-raw math-nearly-equal math-nearly-equal-float
math-nearly-zerop math-nearly-zerop-float math-nth-root
@ -1008,9 +1011,11 @@ calc-map-equation calc-map-stack calc-outer-product calc-reduce)
("calc-math" calc-arccos calc-arccosh calc-arcsin calc-arcsinh
calc-arctan calc-arctan2 calc-arctanh calc-conj calc-cos calc-cosh
calc-cot calc-coth calc-csc calc-csch
calc-degrees-mode calc-exp calc-expm1 calc-hypot calc-ilog
calc-imaginary calc-isqrt calc-ln calc-lnp1 calc-log calc-log10
calc-pi calc-radians-mode calc-sin calc-sincos calc-sinh calc-sqrt
calc-pi calc-radians-mode calc-sec calc-sech
calc-sin calc-sincos calc-sinh calc-sqrt
calc-tan calc-tanh calc-to-degrees calc-to-radians)
("calc-mode" calc-alg-simplify-mode calc-algebraic-mode

View file

@ -144,6 +144,18 @@
(calc-hyperbolic-func)
(calc-sin arg))
(defun calc-sec (arg)
(interactive "P")
(calc-slow-wrapper
(if (calc-is-hyperbolic)
(calc-unary-op "sech" 'calcFunc-sech arg)
(calc-unary-op "sec" 'calcFunc-sec arg))))
(defun calc-sech (arg)
(interactive "P")
(calc-hyperbolic-func)
(calc-sec arg))
(defun calc-cos (arg)
(interactive "P")
(calc-slow-wrapper
@ -171,6 +183,18 @@
(calc-hyperbolic-func)
(calc-cos arg))
(defun calc-csc (arg)
(interactive "P")
(calc-slow-wrapper
(if (calc-is-hyperbolic)
(calc-unary-op "csch" 'calcFunc-csch arg)
(calc-unary-op "csc" 'calcFunc-csc arg))))
(defun calc-csch (arg)
(interactive "P")
(calc-hyperbolic-func)
(calc-csc arg))
(defun calc-sincos ()
(interactive)
(calc-slow-wrapper
@ -205,6 +229,29 @@
(calc-hyperbolic-func)
(calc-tan arg))
(defun calc-cot (arg)
(interactive "P")
(calc-slow-wrapper
(if (calc-is-hyperbolic)
(calc-unary-op "coth" 'calcFunc-coth arg)
(calc-unary-op "cot" 'calcFunc-cot arg))))
(defun calc-arctan (arg)
(interactive "P")
(calc-invert-func)
(calc-tan arg))
(defun calc-tanh (arg)
(interactive "P")
(calc-hyperbolic-func)
(calc-tan arg))
(defun calc-arctanh (arg)
(interactive "P")
(calc-invert-func)
(calc-hyperbolic-func)
(calc-tan arg))
(defun calc-arctan2 ()
(interactive)
(calc-slow-wrapper
@ -220,8 +267,6 @@
(calc-slow-wrapper
(calc-pop-push-record 1 "i*" (math-imaginary (calc-top-n 1)))))
(defun calc-to-degrees (arg)
(interactive "P")
(calc-wrapper
@ -794,6 +839,169 @@
(t (calc-record-why 'scalarp x)
(list 'calcFunc-tan x))))
(defun calcFunc-sec (x)
(cond ((and (integerp x)
(eq calc-angle-mode 'deg)
(= (% x 180) 0))
(if (= (% x 360) 0)
1
-1))
((and (integerp x)
(eq calc-angle-mode 'rad)
(= x 0))
1)
((Math-scalarp x)
(math-with-extra-prec 2
(math-sec-raw (math-to-radians (math-float x)))))
((eq (car x) 'sdev)
(if (math-constp x)
(math-with-extra-prec 2
(let* ((xx (math-to-radians (math-float (nth 1 x))))
(xs (math-to-radians (math-float (nth 2 x))))
(sc (math-sin-cos-raw xx)))
(if (and (math-zerop (cdr sc))
(not calc-infinite-mode))
(progn
(calc-record-why "*Division by zero")
(list 'calcFunc-sec x))
(math-make-sdev (math-div-float '(float 1 0) (cdr sc))
(math-div-float
(math-mul xs (car sc))
(math-sqr (cdr sc)))))))
(math-make-sdev (calcFunc-sec (nth 1 x))
(math-div
(math-mul (nth 2 x)
(calcFunc-sin (nth 1 x)))
(math-sqr (calcFunc-cos (nth 1 x)))))))
((and (eq (car x) 'intv)
(math-intv-constp x))
(math-with-extra-prec 2
(let* ((xx (math-to-radians (math-float x)))
(na (math-floor (math-div (math-sub (nth 2 xx)
(math-pi-over-2))
(math-pi))))
(nb (math-floor (math-div (math-sub (nth 3 xx)
(math-pi-over-2))
(math-pi))))
(naa (math-floor (math-div (nth 2 xx) (math-pi-over-2))))
(nbb (math-floor (math-div (nth 3 xx) (math-pi-over-2))))
(span (math-sub nbb naa)))
(if (not (equal na nb))
'(intv 3 (neg (var inf var-inf)) (var inf var-inf))
(let ((int (math-sort-intv (nth 1 x)
(math-sec-raw (nth 2 xx))
(math-sec-raw (nth 3 xx)))))
(if (eq span 1)
(if (math-evenp (math-div (math-add naa 1) 2))
(math-make-intv (logior (nth 1 int) 2)
1
(nth 3 int))
(math-make-intv (logior (nth 1 int) 1)
(nth 2 int)
-1))
int))))))
((equal x '(var nan var-nan))
x)
(t (calc-record-why 'scalarp x)
(list 'calcFunc-sec x))))
(defun calcFunc-csc (x)
(cond ((and (integerp x)
(eq calc-angle-mode 'deg)
(= (% (- x 90) 180) 0))
(if (= (% (- x 90) 360) 0)
1
-1))
((Math-scalarp x)
(math-with-extra-prec 2
(math-csc-raw (math-to-radians (math-float x)))))
((eq (car x) 'sdev)
(if (math-constp x)
(math-with-extra-prec 2
(let* ((xx (math-to-radians (math-float (nth 1 x))))
(xs (math-to-radians (math-float (nth 2 x))))
(sc (math-sin-cos-raw xx)))
(if (and (math-zerop (car sc))
(not calc-infinite-mode))
(progn
(calc-record-why "*Division by zero")
(list 'calcFunc-csc x))
(math-make-sdev (math-div-float '(float 1 0) (car sc))
(math-div-float
(math-mul xs (cdr sc))
(math-sqr (car sc)))))))
(math-make-sdev (calcFunc-csc (nth 1 x))
(math-div
(math-mul (nth 2 x)
(calcFunc-cos (nth 1 x)))
(math-sqr (calcFunc-sin (nth 1 x)))))))
((and (eq (car x) 'intv)
(math-intv-constp x))
(math-with-extra-prec 2
(let* ((xx (math-to-radians (math-float x)))
(na (math-floor (math-div (nth 2 xx) (math-pi))))
(nb (math-floor (math-div (nth 3 xx) (math-pi))))
(naa (math-floor (math-div (nth 2 xx) (math-pi-over-2))))
(nbb (math-floor (math-div (nth 3 xx) (math-pi-over-2))))
(span (math-sub nbb naa)))
(if (not (equal na nb))
'(intv 3 (neg (var inf var-inf)) (var inf var-inf))
(let ((int (math-sort-intv (nth 1 x)
(math-csc-raw (nth 2 xx))
(math-csc-raw (nth 3 xx)))))
(if (eq span 1)
(if (math-evenp (math-div naa 2))
(math-make-intv (logior (nth 1 int) 2)
1
(nth 3 int))
(math-make-intv (logior (nth 1 int) 1)
(nth 2 int)
-1))
int))))))
((equal x '(var nan var-nan))
x)
(t (calc-record-why 'scalarp x)
(list 'calcFunc-csc x))))
(defun calcFunc-cot (x) ; [N N] [Public]
(cond ((and (integerp x)
(if (eq calc-angle-mode 'deg)
(= (% (- x 90) 180) 0)
(= x 0)))
0)
((Math-scalarp x)
(math-with-extra-prec 2
(math-cot-raw (math-to-radians (math-float x)))))
((eq (car x) 'sdev)
(if (math-constp x)
(math-with-extra-prec 2
(let* ((xx (math-to-radians (math-float (nth 1 x))))
(xs (math-to-radians (math-float (nth 2 x))))
(sc (math-sin-cos-raw xx)))
(if (and (math-zerop (car sc)) (not calc-infinite-mode))
(progn
(calc-record-why "*Division by zero")
(list 'calcFunc-cot x))
(math-make-sdev (math-div-float (cdr sc) (car sc))
(math-div-float xs (math-sqr (car sc)))))))
(math-make-sdev (calcFunc-cot (nth 1 x))
(math-div (nth 2 x)
(math-sqr (calcFunc-sin (nth 1 x)))))))
((and (eq (car x) 'intv) (math-intv-constp x))
(or (math-with-extra-prec 2
(let* ((xx (math-to-radians (math-float x)))
(na (math-floor (math-div (nth 2 xx) (math-pi))))
(nb (math-floor (math-div (nth 3 xx) (math-pi))))
(and (equal na nb)
(math-sort-intv (nth 1 x)
(math-cot-raw (nth 2 xx))
(math-cot-raw (nth 3 xx)))))))
'(intv 3 (neg (var inf var-inf)) (var inf var-inf))))
((equal x '(var nan var-nan))
x)
(t (calc-record-why 'scalarp x)
(list 'calcFunc-cot x))))
(defun math-sin-raw (x) ; [N N]
(cond ((eq (car x) 'cplx)
(let* ((expx (math-exp-raw (nth 2 x)))
@ -819,6 +1027,85 @@
(math-polar (math-cos-raw (math-complex x)))
(math-sin-raw (math-sub (math-pi-over-2) x))))
(defun math-sec-raw (x) ; [N N]
(cond ((eq (car x) 'cplx)
(let* ((x (math-mul x '(float 1 0)))
(expx (math-exp-raw (nth 2 x)))
(expmx (math-div-float '(float 1 0) expx))
(sh (math-mul-float (math-sub-float expx expmx) '(float 5 -1)))
(ch (math-mul-float (math-add-float expx expmx) '(float 5 -1)))
(sc (math-sin-cos-raw (nth 1 x)))
(d (math-add-float
(math-mul-float (math-sqr (car sc))
(math-sqr sh))
(math-mul-float (math-sqr (cdr sc))
(math-sqr ch)))))
(and (not (eq (nth 1 d) 0))
(list 'cplx
(math-div-float (math-mul-float (cdr sc) ch) d)
(math-div-float (math-mul-float (car sc) sh) d)))))
((eq (car x) 'polar)
(math-polar (math-sec-raw (math-complex x))))
(t
(let ((cs (math-cos-raw x)))
(if (eq cs 0)
(math-div 1 0)
(math-div-float '(float 1 0) cs))))))
(defun math-csc-raw (x) ; [N N]
(cond ((eq (car x) 'cplx)
(let* ((x (math-mul x '(float 1 0)))
(expx (math-exp-raw (nth 2 x)))
(expmx (math-div-float '(float 1 0) expx))
(sh (math-mul-float (math-sub-float expx expmx) '(float 5 -1)))
(ch (math-mul-float (math-add-float expx expmx) '(float 5 -1)))
(sc (math-sin-cos-raw (nth 1 x)))
(d (math-add-float
(math-mul-float (math-sqr (car sc))
(math-sqr ch))
(math-mul-float (math-sqr (cdr sc))
(math-sqr sh)))))
(and (not (eq (nth 1 d) 0))
(list 'cplx
(math-div-float (math-mul-float (car sc) ch) d)
(math-div-float (math-mul-float (cdr sc) sh) d)))))
((eq (car x) 'polar)
(math-polar (math-csc-raw (math-complex x))))
(t
(let ((sn (math-sin-raw x)))
(if (eq sn 0)
(math-div 1 0)
(math-div-float '(float 1 0) sn))))))
(defun math-cot-raw (x) ; [N N]
(cond ((eq (car x) 'cplx)
(let* ((x (math-mul x '(float 1 0)))
(expx (math-exp-raw (nth 2 x)))
(expmx (math-div-float '(float 1 0) expx))
(sh (math-mul-float (math-sub-float expx expmx) '(float 5 -1)))
(ch (math-mul-float (math-add-float expx expmx) '(float 5 -1)))
(sc (math-sin-cos-raw (nth 1 x)))
(d (math-add-float
(math-sqr (car sc))
(math-sqr sh))))
(and (not (eq (nth 1 d) 0))
(list 'cplx
(math-div-float
(math-mul-float (car sc) (cdr sc))
d)
(math-neg
(math-div-float
(math-mul-float sh ch)
d))))))
((eq (car x) 'polar)
(math-polar (math-cot-raw (math-complex x))))
(t
(let ((sc (math-sin-cos-raw x)))
(if (eq (nth 1 (car sc)) 0)
(math-div (cdr sc) 0)
(math-div-float (cdr sc) (car sc)))))))
;;; This could use a smarter method: Reduce x as in math-sin-raw, then
;;; compute either sin(x) or cos(x), whichever is smaller, and compute
;;; the other using the identity sin(x)^2 + cos(x)^2 = 1.
@ -1537,6 +1824,104 @@
(list 'calcFunc-tanh x))))
(put 'calcFunc-tanh 'math-expandable t)
(defun calcFunc-sech (x) ; [N N] [Public]
(cond ((eq x 0) 1)
(math-expand-formulas
(math-normalize
(list '/ 2 (list '+ (list 'calcFunc-exp x)
(list 'calcFunc-exp (list 'neg x))))))
((Math-numberp x)
(if calc-symbolic-mode (signal 'inexact-result nil))
(math-with-extra-prec 2
(let ((expx (math-exp-raw (math-float x))))
(math-div '(float 2 0) (math-add expx (math-div 1 expx))))))
((eq (car-safe x) 'sdev)
(math-make-sdev (calcFunc-sech (nth 1 x))
(math-mul (nth 2 x)
(math-mul (calcFunc-sech (nth 1 x))
(calcFunc-tanh (nth 1 x))))))
((and (eq (car x) 'intv) (math-intv-constp x))
(setq x (math-abs x))
(math-sort-intv (nth 1 x)
(calcFunc-sech (nth 2 x))
(calcFunc-sech (nth 3 x))))
((or (equal x '(var inf var-inf))
(equal x '(neg (var inf var-inf))))
0)
((equal x '(var nan var-nan))
x)
(t (calc-record-why 'numberp x)
(list 'calcFunc-sech x))))
(put 'calcFunc-sech 'math-expandable t)
(defun calcFunc-csch (x) ; [N N] [Public]
(cond ((eq x 0) (math-div 1 0))
(math-expand-formulas
(math-normalize
(list '/ 2 (list '- (list 'calcFunc-exp x)
(list 'calcFunc-exp (list 'neg x))))))
((Math-numberp x)
(if calc-symbolic-mode (signal 'inexact-result nil))
(math-with-extra-prec 2
(let ((expx (math-exp-raw (math-float x))))
(math-div '(float 2 0) (math-add expx (math-div -1 expx))))))
((eq (car-safe x) 'sdev)
(math-make-sdev (calcFunc-csch (nth 1 x))
(math-mul (nth 2 x)
(math-mul (calcFunc-csch (nth 1 x))
(calcFunc-coth (nth 1 x))))))
((eq (car x) 'intv)
(if (and (Math-negp (nth 2 x))
(Math-posp (nth 3 x)))
'(intv 3 (neg (var inf var-inf)) (var inf var-inf))
(math-sort-intv (nth 1 x)
(calcFunc-csch (nth 2 x))
(calcFunc-csch (nth 3 x)))))
((or (equal x '(var inf var-inf))
(equal x '(neg (var inf var-inf))))
0)
((equal x '(var nan var-nan))
x)
(t (calc-record-why 'numberp x)
(list 'calcFunc-csch x))))
(put 'calcFunc-csch 'math-expandable t)
(defun calcFunc-coth (x) ; [N N] [Public]
(cond ((eq x 0) (math-div 1 0))
(math-expand-formulas
(math-normalize
(let ((expx (list 'calcFunc-exp x))
(expmx (list 'calcFunc-exp (list 'neg x))))
(math-normalize
(list '/ (list '+ expx expmx) (list '- expx expmx))))))
((Math-numberp x)
(if calc-symbolic-mode (signal 'inexact-result nil))
(math-with-extra-prec 2
(let* ((expx (calcFunc-exp (math-float x)))
(expmx (math-div 1 expx)))
(math-div (math-add expx expmx)
(math-sub expx expmx)))))
((eq (car-safe x) 'sdev)
(math-make-sdev (calcFunc-coth (nth 1 x))
(math-div (nth 2 x)
(math-sqr (calcFunc-sinh (nth 1 x))))))
((eq (car x) 'intv)
(if (and (Math-negp (nth 2 x))
(Math-posp (nth 3 x)))
'(intv 3 (neg (var inf var-inf)) (var inf var-inf))
(math-sort-intv (nth 1 x)
(calcFunc-coth (nth 2 x))
(calcFunc-coth (nth 3 x)))))
((equal x '(var inf var-inf))
1)
((equal x '(neg (var inf var-inf)))
-1)
((equal x '(var nan var-nan))
x)
(t (calc-record-why 'numberp x)
(list 'calcFunc-coth x))))
(put 'calcFunc-coth 'math-expandable t)
(defun calcFunc-arcsinh (x) ; [N N] [Public]
(cond ((eq x 0) 0)
(math-expand-formulas

View file

@ -153,10 +153,14 @@ tan(select(2 a)) := 2 tan(select(a)) / (1 - tan(a)^2),
tan(select(n a)) := (tan((n-1) select(a)) + tan(a)) /
(1 - tan((n-1) a) tan(a))
:: integer(n) :: n > 2,
cot(select(a + b)) := (cot(select(a)) cot(b) - 1) /
(cot(a) + cot(b)),
sinh(select(a + b)) := sinh(select(a)) cosh(b) + cosh(a) sinh(b),
cosh(select(a + b)) := cosh(select(a)) cosh(b) + sinh(a) sinh(b),
tanh(select(a + b)) := (tanh(select(a)) + tanh(b)) /
(1 + tanh(a) tanh(b)),
coth(select(a + b)) := (coth(select(a)) coth(b) + 1) /
(coth(a) + coth(b)),
x && select(a || b) := (x && select(a)) || (x && b),
select(a || b) && x := (select(a) && x) || (b && x),
! select(a && b) := (!a) || (!b),
@ -269,12 +273,18 @@ exp(select(x)) := 1 / exp(select(-x)),
sin(select(x)) := -sin(select(-x)),
cos(select(x)) := cos(select(-x)),
tan(select(x)) := -tan(select(-x)),
sec(select(x)) := sec(select(-x)),
csc(select(x)) := -csc(select(-x)),
cot(select(x)) := -cot(select(-x)),
arcsin(select(x)) := -arcsin(select(-x)),
arccos(select(x)) := 4 arctan(1) - arccos(select(-x)),
arctan(select(x)) := -arctan(select(-x)),
sinh(select(x)) := -sinh(select(-x)),
cosh(select(x)) := cosh(select(-x)),
tanh(select(x)) := -tanh(select(-x)),
sech(select(x)) := sech(select(-x)),
csch(select(x)) := -csch(select(-x)),
coth(select(x)) := -coth(select(-x)),
arcsinh(select(x)) := -arcsinh(select(-x)),
arctanh(select(x)) := -arctanh(select(-x)),
select(x) = a := select(-x) = -a,

View file

@ -77,7 +77,8 @@
(let ((v (intern (nth 1 action))))
(calc-record-undo (list 'store (nth 1 action)
(and (boundp v) (symbol-value v))))
(if (y-or-n-p (format "Un-store variable %s? " (nth 1 action)))
(if (y-or-n-p (format "Un-store variable %s? "
(calc-var-name (nth 1 action))))
(progn
(if (nth 2 action)
(set v (nth 2 action))

View file

@ -1241,6 +1241,45 @@ Entries are (SYMBOL EXPR DOC-STRING TEMP-TYPE BASE-UNITS).")
(eq (nth 1 (nth 2 rad)) 'rad)
(list 'calcFunc-tan (nth 1 rad))))))
(math-defsimplify calcFunc-sec
(and math-simplifying-units
(math-units-in-expr-p (nth 1 math-simplify-expr) nil)
(let ((rad (math-simplify-units
(math-evaluate-expr
(math-to-standard-units (nth 1 math-simplify-expr) nil))))
(calc-angle-mode 'rad))
(and (eq (car-safe rad) '*)
(math-realp (nth 1 rad))
(eq (car-safe (nth 2 rad)) 'var)
(eq (nth 1 (nth 2 rad)) 'rad)
(list 'calcFunc-sec (nth 1 rad))))))
(math-defsimplify calcFunc-csc
(and math-simplifying-units
(math-units-in-expr-p (nth 1 math-simplify-expr) nil)
(let ((rad (math-simplify-units
(math-evaluate-expr
(math-to-standard-units (nth 1 math-simplify-expr) nil))))
(calc-angle-mode 'rad))
(and (eq (car-safe rad) '*)
(math-realp (nth 1 rad))
(eq (car-safe (nth 2 rad)) 'var)
(eq (nth 1 (nth 2 rad)) 'rad)
(list 'calcFunc-csc (nth 1 rad))))))
(math-defsimplify calcFunc-cot
(and math-simplifying-units
(math-units-in-expr-p (nth 1 math-simplify-expr) nil)
(let ((rad (math-simplify-units
(math-evaluate-expr
(math-to-standard-units (nth 1 math-simplify-expr) nil))))
(calc-angle-mode 'rad))
(and (eq (car-safe rad) '*)
(math-realp (nth 1 rad))
(eq (car-safe (nth 2 rad)) 'var)
(eq (nth 1 (nth 2 rad)) 'rad)
(list 'calcFunc-cot (nth 1 rad))))))
(defun math-remove-units (expr)
(if (math-check-unit-name expr)

View file

@ -412,6 +412,30 @@
(math-normalize
(list 'calcFunc-cos u))))))))
(put 'calcFunc-sec\' 'math-derivative-1
(function (lambda (u) (math-to-radians-2
(math-mul
(math-normalize
(list 'calcFunc-sec u))
(math-normalize
(list 'calcFunc-tan u)))))))
(put 'calcFunc-csc\' 'math-derivative-1
(function (lambda (u) (math-neg
(math-to-radians-2
(math-mul
(math-normalize
(list 'calcFunc-csc u))
(math-normalize
(list 'calcFunc-cot u))))))))
(put 'calcFunc-cot\' 'math-derivative-1
(function (lambda (u) (math-neg
(math-to-radians-2
(math-div 1 (math-sqr
(math-normalize
(list 'calcFunc-sin u)))))))))
(put 'calcFunc-arcsin\' 'math-derivative-1
(function (lambda (u)
(math-from-radians-2
@ -441,6 +465,24 @@
(math-normalize
(list 'calcFunc-cosh u)))))))
(put 'calcFunc-sech\' 'math-derivative-1
(function (lambda (u) (math-neg
(math-mul
(math-normalize (list 'calcFunc-sech u))
(math-normalize (list 'calcFunc-tanh u)))))))
(put 'calcFunc-csch\' 'math-derivative-1
(function (lambda (u) (math-neg
(math-mul
(math-normalize (list 'calcFunc-csch u))
(math-normalize (list 'calcFunc-coth u)))))))
(put 'calcFunc-tanh\' 'math-derivative-1
(function (lambda (u) (math-neg
(math-div 1 (math-sqr
(math-normalize
(list 'calcFunc-sinh u))))))))
(put 'calcFunc-arcsinh\' 'math-derivative-1
(function (lambda (u)
(math-div 1 (math-normalize
@ -1053,7 +1095,10 @@
(while (and p
(memq (car (car p)) '(calcFunc-sin
calcFunc-cos
calcFunc-tan))
calcFunc-tan
calcFunc-sec
calcFunc-csc
calcFunc-cot))
(equal (nth 1 (car p)) math-integ-var))
(setq p (cdr p)))
(null p))
@ -1068,6 +1113,9 @@
(memq (car (car p)) '(calcFunc-sinh
calcFunc-cosh
calcFunc-tanh
calcFunc-sech
calcFunc-csch
calcFunc-coth
calcFunc-exp))
(equal (nth 1 (car p)) math-integ-var))
(setq p (cdr p)))
@ -1619,6 +1667,27 @@
(math-neg (math-from-radians-2
(list 'calcFunc-ln (list 'calcFunc-cos u))))))
(math-defintegral calcFunc-sec
(and (equal u math-integ-var)
(math-from-radians-2
(list 'calcFunc-ln
(math-add
(list 'calcFunc-sec u)
(list 'calcFunc-tan u))))))
(math-defintegral calcFunc-csc
(and (equal u math-integ-var)
(math-from-radians-2
(list 'calcFunc-ln
(math-sub
(list 'calcFunc-csc u)
(list 'calcFunc-cot u))))))
(math-defintegral calcFunc-cot
(and (equal u math-integ-var)
(math-from-radians-2
(list 'calcFunc-ln (list 'calcFunc-sin u)))))
(math-defintegral calcFunc-arcsin
(and (equal u math-integ-var)
(math-add (math-mul u (list 'calcFunc-arcsin u))
@ -1650,6 +1719,18 @@
(and (equal u math-integ-var)
(list 'calcFunc-ln (list 'calcFunc-cosh u))))
(math-defintegral calcFunc-sech
(and (equal u math-integ-var)
(list 'calcFunc-arctan (list 'calcFunc-sinh u))))
(math-defintegral calcFunc-csch
(and (equal u math-integ-var)
(list 'calcFunc-ln (list 'calcFunc-tanh (math-div u 2)))))
(math-defintegral calcFunc-coth
(and (equal u math-integ-var)
(list 'calcFunc-ln (list 'calcFunc-sinh u))))
(math-defintegral calcFunc-arcsinh
(and (equal u math-integ-var)
(math-sub (math-mul u (list 'calcFunc-arcsinh u))

View file

@ -35,7 +35,9 @@
'( calcFunc-log
calcFunc-ln calcFunc-exp
calcFunc-sin calcFunc-cos calcFunc-tan
calcFunc-sec calcFunc-csc calcFunc-cot
calcFunc-sinh calcFunc-cosh calcFunc-tanh
calcFunc-sech calcFunc-csch calcFunc-coth
calcFunc-arcsin calcFunc-arccos calcFunc-arctan
calcFunc-arcsinh calcFunc-arccosh calcFunc-arctanh))

View file

@ -1397,7 +1397,7 @@ Make your editing in this buffer take effect for this session."
:tag "Save for Future Sessions"
:help-echo "\
Make your editing in this buffer take effect for future Emacs sessions.
This updates your Emacs initialization file or creates a new one one."
This updates your Emacs initialization file or creates a new one."
:action (lambda (widget &optional event)
(Custom-save)))
(if custom-reset-button-menu
@ -1671,15 +1671,15 @@ group now hidden, invoke \"Show\", above, to show contents.")
the value displayed for this %c is invalid and cannot be set.")
(modified "*" custom-modified-face "\
you have edited the value as text, but you have not set the %c." "\
you have edited something in this group, but not set it.")
you have edited something in this group, but not set anything yet.")
(set "+" custom-set-face "\
you have set this %c, but not saved it for future sessions." "\
something in this group has been set, but not saved.")
you have set something in this group, but not saved anything yet.")
(changed ":" custom-changed-face "\
this %c has been changed outside the customize buffer." "\
something in this group has been changed outside customize.")
(saved "!" custom-saved-face "\
this %c has been set and saved." "\
You have set this %c and saved it through Customize in your init file." "\
something in this group has been set and saved.")
(rogue "@" custom-rogue-face "\
this %c has not been changed with customize." "\

View file

@ -1,6 +1,6 @@
;;; cus-start.el --- define customization properties of builtins
;;
;; Copyright (C) 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
;; Copyright (C) 1997, 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Keywords: internal
@ -39,6 +39,8 @@
(pre-abbrev-expand-hook abbrev-mode hook)
;; alloc.c
(gc-cons-threshold alloc integer)
(garbage-collection-messages alloc boolean)
;; undo.c
(undo-limit undo integer)
(undo-strong-limit undo integer)
(undo-outer-limit undo
@ -52,7 +54,6 @@ This should only be chosen under exceptional circumstances,
since it could result in memory overflow and make Emacs crash."
nil))
"22.1")
(garbage-collection-messages alloc boolean)
;; buffer.c
(mode-line-format modeline sexp) ;Hard to do right.
(default-major-mode internal function)
@ -291,7 +292,7 @@ since it could result in memory overflow and make Emacs crash."
(mouse-autoselect-window display boolean "21.3")
(x-use-underline-position-properties display boolean "21.3")
(x-stretch-cursor display boolean "21.1")))
this symbol group type native-p version
this symbol group type standard version native-p
;; This function turns a value
;; into an expression which produces that value.
(quoter (lambda (sexp)
@ -300,8 +301,6 @@ since it could result in memory overflow and make Emacs crash."
(and (listp sexp)
(memq (car sexp) '(lambda)))
(stringp sexp)
;; (and (fboundp 'characterp)
;; (characterp sexp))
(numberp sexp))
sexp
(list 'quote sexp)))))
@ -312,6 +311,12 @@ since it could result in memory overflow and make Emacs crash."
group (nth 1 this)
type (nth 2 this)
version (nth 3 this)
;; If we did not specify any standard value expression above,
;; use the current value as the standard value.
standard (if (nthcdr 4 this)
(nth 4 this)
(when (default-boundp symbol)
(funcall quoter (default-value symbol))))
;; Don't complain about missing variables which are
;; irrelevant to this platform.
native-p (save-match-data
@ -329,8 +334,7 @@ since it could result in memory overflow and make Emacs crash."
(message "Note, built-in variable `%S' not bound" symbol))
;; Save the standard value, unless we already did.
(or (get symbol 'standard-value)
(put symbol 'standard-value
(list (funcall quoter (default-value symbol)))))
(put symbol 'standard-value (list standard)))
;; If this is NOT while dumping Emacs,
;; set up the rest of the customization info.
(unless purify-flag

View file

@ -2128,6 +2128,7 @@ instead of `dired-actual-switches'."
(save-excursion
(let* ((count 0)
(buffer-read-only nil)
(buffer-undo-list t)
(switches (or switches dired-actual-switches))
new-dir-name
(R-ftp-base-dir-regex

View file

@ -182,7 +182,7 @@
(make-local-variable 'parse-sexp-ignore-comments)
(setq parse-sexp-ignore-comments t)
(make-local-variable 'outline-regexp)
(setq outline-regexp ";;;;* [^ \t\n]\\|(")
(setq outline-regexp ";;;\\(;* [^ \t\n]\\|###autoload\\)\\|(")
(make-local-variable 'outline-level)
(setq outline-level 'lisp-outline-level)
(make-local-variable 'comment-start)
@ -212,11 +212,10 @@
(defun lisp-outline-level ()
"Lisp mode `outline-level' function."
(let ((len (- (match-end 0) (match-beginning 0))))
(if (looking-at "(\\|;;;###autoload")
1000
(looking-at outline-regexp)
(- (match-end 0) (match-beginning 0))))
len)))
(defvar lisp-mode-shared-map
(let ((map (make-sparse-keymap)))

View file

@ -1,3 +1,20 @@
2005-02-13 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.el (gnus-group-startup-message): Search for gnus images in
etc/images/gnus.
* mm-util.el (mm-find-charset-region): Likewise.
* smiley.el (smiley-data-directory): Search for smilies in
etc/images/smilies.
2005-02-09 Kim F. Storm <storm@cua.dk>
Change Emacs release version from 21.4 to 22.1 throughout.
Change Emacs development version from 21.3.50 to 22.0.50.
2005-02-08 Simon Josefsson <jas@extundo.com>
* imap.el (imap-log): Doc fix.
2005-02-03 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (gnus-mime-inline-part): Show the raw contents if a

View file

@ -326,7 +326,8 @@ be set in `.emacs' instead."
(defvar gnus-mode-line-image-cache t)
(if (fboundp 'find-image)
(defun gnus-mode-line-buffer-identification (line)
(let ((str (car-safe line)))
(let ((str (car-safe line))
(load-path (mm-image-load-path)))
(if (and (stringp str)
(string-match "^Gnus:" str))
(progn (add-text-properties
@ -875,7 +876,7 @@ be set in `.emacs' instead."
((and
(fboundp 'find-image)
(display-graphic-p)
(let* ((data-directory (nnheader-find-etc-directory "gnus"))
(let* ((data-directory (nnheader-find-etc-directory "images/gnus"))
(image (find-image
`((:type xpm :file "gnus.xpm"
:color-symbols

View file

@ -241,7 +241,11 @@ encoded mailboxes which doesn't translate into ISO-8859-1."
:type 'boolean)
(defcustom imap-log nil
"If non-nil, a imap session trace is placed in *imap-log* buffer."
"If non-nil, a imap session trace is placed in *imap-log* buffer.
Note that username, passwords and other privacy sensitive
information (such as e-mail) may be stored in the *imap-log*
buffer. It is not written to disk, however. Do not enable this
variable unless you are comfortable with that."
:group 'imap
:type 'boolean)

Some files were not shown because too many files have changed in this diff Show more