mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-29 19:48:19 +00:00
Add two items with solutions for Calc problems.
This commit is contained in:
parent
f5058b9653
commit
224a0b4d51
258
etc/PROBLEMS
258
etc/PROBLEMS
@ -220,6 +220,264 @@ longer used by Emacs. These changes to PSGML 1.2.1 fix that.
|
||||
+ (setq after-change-functions '(sgml-set-face-after-change))
|
||||
)
|
||||
|
||||
* The Calc package fails to build and signals errors with Emacs 21.
|
||||
|
||||
Apply the following patches which reportedly fix several problems:
|
||||
|
||||
--- calc-ext.el.~1~ Sun Apr 3 02:26:34 1994
|
||||
+++ calc-ext.el Wed Sep 18 17:35:01 1996
|
||||
@@ -1354,6 +1354,25 @@
|
||||
(calc-fancy-prefix 'calc-inverse-flag "Inverse..." n)
|
||||
)
|
||||
|
||||
+(defconst calc-fancy-prefix-map
|
||||
+ (let ((map (make-sparse-keymap)))
|
||||
+ (define-key map [t] 'calc-fancy-prefix-other-key)
|
||||
+ (define-key map (vector meta-prefix-char t) 'calc-fancy-prefix-other-key)
|
||||
+ (define-key map [switch-frame] nil)
|
||||
+ (define-key map [?\C-u] 'universal-argument)
|
||||
+ (define-key map [?0] 'digit-argument)
|
||||
+ (define-key map [?1] 'digit-argument)
|
||||
+ (define-key map [?2] 'digit-argument)
|
||||
+ (define-key map [?3] 'digit-argument)
|
||||
+ (define-key map [?4] 'digit-argument)
|
||||
+ (define-key map [?5] 'digit-argument)
|
||||
+ (define-key map [?6] 'digit-argument)
|
||||
+ (define-key map [?7] 'digit-argument)
|
||||
+ (define-key map [?8] 'digit-argument)
|
||||
+ (define-key map [?9] 'digit-argument)
|
||||
+ map)
|
||||
+ "Keymap used while processing calc-fancy-prefix.")
|
||||
+
|
||||
(defun calc-fancy-prefix (flag msg n)
|
||||
(let (prefix)
|
||||
(calc-wrapper
|
||||
@@ -1364,6 +1383,8 @@
|
||||
(message (if prefix msg "")))
|
||||
(and prefix
|
||||
(not calc-is-keypad-press)
|
||||
+ (if (boundp 'overriding-terminal-local-map)
|
||||
+ (setq overriding-terminal-local-map calc-fancy-prefix-map)
|
||||
(let ((event (calc-read-key t)))
|
||||
(if (eq (setq last-command-char (car event)) ?\C-u)
|
||||
(universal-argument)
|
||||
@@ -1376,9 +1397,18 @@
|
||||
(if (or (not (integerp last-command-char))
|
||||
(eq last-command-char ?-))
|
||||
(calc-unread-command)
|
||||
- (digit-argument n))))))
|
||||
+ (digit-argument n)))))))
|
||||
)
|
||||
(setq calc-is-keypad-press nil)
|
||||
+
|
||||
+(defun calc-fancy-prefix-other-key (arg)
|
||||
+ (interactive "P")
|
||||
+ (if (or (not (integerp last-command-char))
|
||||
+ (and (>= last-command-char 0) (< last-command-char ? )
|
||||
+ (not (eq last-command-char meta-prefix-char))))
|
||||
+ (calc-wrapper)) ; clear flags if not a Calc command.
|
||||
+ (calc-unread-command)
|
||||
+ (setq overriding-terminal-local-map nil))
|
||||
|
||||
(defun calc-invert-func ()
|
||||
(save-excursion
|
||||
|
||||
--- Makefile.~1~ Sun Dec 15 23:50:45 1996
|
||||
+++ Makefile Thu Nov 30 15:09:45 2000
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
# Other macros.
|
||||
EFLAGS = -batch
|
||||
-MAINT = -l calc-maint.elc
|
||||
+MAINT = -l calc-maint.el
|
||||
|
||||
# Control whether intermediate files are kept.
|
||||
PURGE = -rm -f
|
||||
@@ -154,10 +154,7 @@
|
||||
|
||||
|
||||
# All this because "-l calc-maint" doesn't work.
|
||||
-maint: calc-maint.elc
|
||||
-calc-maint.elc: calc-maint.el
|
||||
- cp calc-maint.el calc-maint.elc
|
||||
-
|
||||
+maint: calc-maint.el
|
||||
|
||||
# Create an Emacs TAGS file
|
||||
tags: TAGS
|
||||
|
||||
--- calc-aent.el.~1~ Sun Dec 15 23:50:36 1996
|
||||
+++ calc-aent.el Tue Nov 21 18:34:33 2000
|
||||
@@ -385,7 +385,7 @@
|
||||
(calc-minibuffer-contains
|
||||
"\\`\\([^\"]*\"[^\"]*\"\\)*[^\"]*\"[^\"]*\\'"))
|
||||
(insert "`")
|
||||
- (setq alg-exp (buffer-string))
|
||||
+ (setq alg-exp (field-string))
|
||||
(and (> (length alg-exp) 0) (setq calc-previous-alg-entry alg-exp))
|
||||
(exit-minibuffer))
|
||||
)
|
||||
@@ -393,14 +393,14 @@
|
||||
|
||||
(defun calcAlg-enter ()
|
||||
(interactive)
|
||||
- (let* ((str (buffer-string))
|
||||
+ (let* ((str (field-string))
|
||||
(exp (and (> (length str) 0)
|
||||
(save-excursion
|
||||
(set-buffer calc-buffer)
|
||||
(math-read-exprs str)))))
|
||||
(if (eq (car-safe exp) 'error)
|
||||
(progn
|
||||
- (goto-char (point-min))
|
||||
+ (goto-char (field-beginning))
|
||||
(forward-char (nth 1 exp))
|
||||
(beep)
|
||||
(calc-temp-minibuffer-message
|
||||
@@ -455,14 +455,14 @@
|
||||
(interactive)
|
||||
(if (calc-minibuffer-contains ".*[@oh] *[^'m ]+[^'m]*\\'")
|
||||
(calcDigit-key)
|
||||
- (setq calc-digit-value (buffer-string))
|
||||
+ (setq calc-digit-value (field-string))
|
||||
(exit-minibuffer))
|
||||
)
|
||||
|
||||
(defun calcDigit-edit ()
|
||||
(interactive)
|
||||
(calc-unread-command)
|
||||
- (setq calc-digit-value (buffer-string))
|
||||
+ (setq calc-digit-value (field-string))
|
||||
(exit-minibuffer)
|
||||
)
|
||||
|
||||
--- calc.el.~1~ Sun Dec 15 23:50:47 1996
|
||||
+++ calc.el Wed Nov 22 13:08:49 2000
|
||||
@@ -2051,11 +2051,11 @@
|
||||
;; Exercise for the reader: Figure out why this is a good precaution!
|
||||
(or (boundp 'calc-buffer)
|
||||
(use-local-map minibuffer-local-map))
|
||||
- (let ((str (buffer-string)))
|
||||
+ (let ((str (field-string)))
|
||||
(setq calc-digit-value (save-excursion
|
||||
(set-buffer calc-buffer)
|
||||
(math-read-number str))))
|
||||
- (if (and (null calc-digit-value) (> (buffer-size) 0))
|
||||
+ (if (and (null calc-digit-value) (> (field-end) (field-beginning)))
|
||||
(progn
|
||||
(beep)
|
||||
(calc-temp-minibuffer-message " [Bad format]"))
|
||||
@@ -2071,7 +2071,7 @@
|
||||
|
||||
(defun calc-minibuffer-contains (rex)
|
||||
(save-excursion
|
||||
- (goto-char (point-min))
|
||||
+ (goto-char (field-end (point-min)))
|
||||
(looking-at rex))
|
||||
)
|
||||
|
||||
@@ -2158,10 +2158,8 @@
|
||||
(upcase last-command-char))))
|
||||
(and dig
|
||||
(< dig radix)))))))
|
||||
- (save-excursion
|
||||
- (goto-char (point-min))
|
||||
- (looking-at
|
||||
- "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9]+\\.?0*[@oh] *\\)?\\([0-9]+\\.?0*['m] *\\)?[0-9]*\\(\\.?[0-9]*\\(e[-+]?[0-3]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?\\)?\\|[0-9]:\\([0-9]+:\\)?[0-9]*\\)?[\"s]?\\'")))
|
||||
+ (calc-minibuffer-contains
|
||||
+ "[-+]?\\(.*\\+/- *\\|.*mod *\\)?\\([0-9]+\\.?0*[@oh] *\\)?\\([0-9]+\\.?0*['m] *\\)?[0-9]*\\(\\.?[0-9]*\\(e[-+]?[0-3]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?\\)?\\|[0-9]:\\([0-9]+:\\)?[0-9]*\\)?[\"s]?\\'"))
|
||||
(if (and (memq last-command-char '(?@ ?o ?h ?\' ?m))
|
||||
(string-match " " calc-hms-format))
|
||||
(insert " "))
|
||||
@@ -2190,7 +2188,7 @@
|
||||
((eq last-command 'calcDigit-start)
|
||||
(erase-buffer))
|
||||
(t (backward-delete-char 1)))
|
||||
- (if (= (buffer-size) 0)
|
||||
+ (if (= (field-beginning) (field-end))
|
||||
(progn
|
||||
(setq last-command-char 13)
|
||||
(calcDigit-nondigit)))
|
||||
|
||||
* TeX'ing the Calc manual fails.
|
||||
|
||||
The following patches allow to build the Calc manual using texinfo.tex
|
||||
from Emacs 19.34 distribution:
|
||||
|
||||
*** calc-maint.e~0 Mon Dec 16 07:11:26 1996
|
||||
--- calc-maint.el Sun Dec 10 14:32:38 2000
|
||||
***************
|
||||
*** 308,314 ****
|
||||
(insert "@tex\n"
|
||||
"\\global\\advance\\appendixno2\n"
|
||||
"\\gdef\\xref#1.{See ``#1.''}\n")
|
||||
! (setq midpos (point))
|
||||
(insert "@end tex\n")
|
||||
(insert-buffer-substring srcbuf sumpos endpos)
|
||||
(insert "@bye\n")
|
||||
--- 308,314 ----
|
||||
(insert "@tex\n"
|
||||
"\\global\\advance\\appendixno2\n"
|
||||
"\\gdef\\xref#1.{See ``#1.''}\n")
|
||||
! (setq midpos (point-marker))
|
||||
(insert "@end tex\n")
|
||||
(insert-buffer-substring srcbuf sumpos endpos)
|
||||
(insert "@bye\n")
|
||||
*** Makefile.~0 Mon Dec 16 07:11:24 1996
|
||||
--- Makefile Sun Dec 10 14:44:00 2000
|
||||
***************
|
||||
*** 98,106 ****
|
||||
# Format the Calc manual as one printable volume using TeX.
|
||||
tex:
|
||||
$(REMOVE) calc.aux
|
||||
! $(TEX) calc.texinfo
|
||||
$(TEXINDEX) calc.[cfkptv]?
|
||||
! $(TEX) calc.texinfo
|
||||
$(PURGE) calc.cp calc.fn calc.pg calc.tp calc.vr
|
||||
$(PURGE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs
|
||||
$(PURGE) calc.toc
|
||||
--- 98,106 ----
|
||||
# Format the Calc manual as one printable volume using TeX.
|
||||
tex:
|
||||
$(REMOVE) calc.aux
|
||||
! -$(TEX) calc.texinfo
|
||||
$(TEXINDEX) calc.[cfkptv]?
|
||||
! -$(TEX) calc.texinfo
|
||||
$(PURGE) calc.cp calc.fn calc.pg calc.tp calc.vr
|
||||
$(PURGE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs
|
||||
$(PURGE) calc.toc
|
||||
*** calc.texinfo.~1~ Thu Oct 10 18:18:56 1996
|
||||
--- calc.texinfo Mon Dec 11 08:25:00 2000
|
||||
***************
|
||||
*** 12,17 ****
|
||||
--- 12,19 ----
|
||||
% Because makeinfo.c exists, we can't just define new commands.
|
||||
% So instead, we take over little-used existing commands.
|
||||
%
|
||||
+ % Suggested by Karl Berry <karl@@freefriends.org>
|
||||
+ \gdef\!{\mskip-\thinmuskip}
|
||||
% Redefine @cite{text} to act like $text$ in regular TeX.
|
||||
% Info will typeset this same as @samp{text}.
|
||||
\gdef\goodtex{\tex \let\rm\goodrm \let\t\ttfont \turnoffactive}
|
||||
***************
|
||||
*** 23686,23692 ****
|
||||
a vector of the actual parameter values, written as equations:
|
||||
@cite{[a = 3, b = 2]}, in case you'd rather read them in a list
|
||||
than pick them out of the formula. (You can type @kbd{t y}
|
||||
! to move this vector to the stack; @pxref{Trail Commands})
|
||||
|
||||
Specifying a different independent variable name will affect the
|
||||
resulting formula: @kbd{a F 1 k RET} produces @kbd{3 + 2 k}.
|
||||
--- 23689,23695 ----
|
||||
a vector of the actual parameter values, written as equations:
|
||||
@cite{[a = 3, b = 2]}, in case you'd rather read them in a list
|
||||
than pick them out of the formula. (You can type @kbd{t y}
|
||||
! to move this vector to the stack; see @ref{Trail Commands}.)
|
||||
|
||||
Specifying a different independent variable name will affect the
|
||||
resulting formula: @kbd{a F 1 k RET} produces @kbd{3 + 2 k}.
|
||||
|
||||
|
||||
* On systems with shared libraries you might encounter run-time errors
|
||||
from the dynamic linker telling you that it is unable to find some
|
||||
shared libraries, for instance those for Xaw3d or image support.
|
||||
|
Loading…
Reference in New Issue
Block a user