diff options
| author | Richard M. Stallman | 1998-03-08 06:45:26 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-03-08 06:45:26 +0000 |
| commit | 419277c5b89ada601ed0de4e142df0fa18c9c107 (patch) | |
| tree | 5774f831afd049fcf0cb7ee6cf1fc92939f54a08 | |
| parent | e275fa086c90111a0ca83c9bd64ce3c7debbce07 (diff) | |
| download | emacs-419277c5b89ada601ed0de4e142df0fa18c9c107.tar.gz emacs-419277c5b89ada601ed0de4e142df0fa18c9c107.zip | |
(c-enable-xemacs-performance-kludge-p): New variable.
| -rw-r--r-- | lisp/progmodes/cc-vars.el | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el index 06dc8432eb6..9982337a57a 100644 --- a/lisp/progmodes/cc-vars.el +++ b/lisp/progmodes/cc-vars.el | |||
| @@ -426,5 +426,50 @@ as designated in the variable `c-file-style'.") | |||
| 426 | 426 | ||
| 427 | 427 | ||
| 428 | 428 | ||
| 429 | ;; Figure out what features this Emacs has | ||
| 430 | ;;;###autoload | ||
| 431 | (defconst c-emacs-features | ||
| 432 | (let ((infodock-p (boundp 'infodock-version)) | ||
| 433 | (comments | ||
| 434 | ;; XEmacs 19 and beyond use 8-bit modify-syntax-entry flags. | ||
| 435 | ;; Emacs 19 uses a 1-bit flag. We will have to set up our | ||
| 436 | ;; syntax tables differently to handle this. | ||
| 437 | (let ((table (copy-syntax-table)) | ||
| 438 | entry) | ||
| 439 | (modify-syntax-entry ?a ". 12345678" table) | ||
| 440 | (cond | ||
| 441 | ;; XEmacs 19, and beyond Emacs 19.34 | ||
| 442 | ((arrayp table) | ||
| 443 | (setq entry (aref table ?a)) | ||
| 444 | ;; In Emacs, table entries are cons cells | ||
| 445 | (if (consp entry) (setq entry (car entry)))) | ||
| 446 | ;; XEmacs 20 | ||
| 447 | ((fboundp 'get-char-table) (setq entry (get-char-table ?a table))) | ||
| 448 | ;; before and including Emacs 19.34 | ||
| 449 | ((and (fboundp 'char-table-p) | ||
| 450 | (char-table-p table)) | ||
| 451 | (setq entry (car (char-table-range table [?a])))) | ||
| 452 | ;; incompatible | ||
| 453 | (t (error "CC Mode is incompatible with this version of Emacs"))) | ||
| 454 | (if (= (logand (lsh entry -16) 255) 255) | ||
| 455 | '8-bit | ||
| 456 | '1-bit)))) | ||
| 457 | (if infodock-p | ||
| 458 | (list comments 'infodock) | ||
| 459 | (list comments))) | ||
| 460 | "A list of features extant in the Emacs you are using. | ||
| 461 | There are many flavors of Emacs out there, each with different | ||
| 462 | features supporting those needed by CC Mode. Here's the current | ||
| 463 | supported list, along with the values for this variable: | ||
| 464 | |||
| 465 | XEmacs 19: (8-bit) | ||
| 466 | XEmacs 20: (8-bit) | ||
| 467 | Emacs 19: (1-bit) | ||
| 468 | |||
| 469 | Infodock (based on XEmacs) has an additional symbol on this list: | ||
| 470 | 'infodock.") | ||
| 471 | |||
| 472 | |||
| 473 | |||
| 429 | (provide 'cc-vars) | 474 | (provide 'cc-vars) |
| 430 | ;;; cc-vars.el ends here | 475 | ;;; cc-vars.el ends here |