609 |
+ (setq after-change-functions '(sgml-set-face-after-change))) |
+ (setq after-change-functions '(sgml-set-face-after-change))) |
610 |
(sgml-with-parser-syntax-ro |
(sgml-with-parser-syntax-ro |
611 |
|
|
|
* 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 |
|
|
|
|
|
Index: Makefile |
|
|
--- 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 |
|
|
|
|
|
Index: calc-aent.el |
|
|
--- 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) |
|
|
) |
|
|
|
|
|
Index: calc.el |
|
|
--- 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}. |
|
|
|
|
612 |
* Unicode characters are not unified with other Mule charsets. |
* Unicode characters are not unified with other Mule charsets. |
613 |
|
|
614 |
As of v21.1, Emacs charsets are still not unified. This means that |
As of v21.1, Emacs charsets are still not unified. This means that |