From 45a0ce0905e495ae93b39e75cedb34ac95c6ea71 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Thu, 20 Jun 2019 01:37:50 +0200 Subject: [PATCH] Remove XEmacs compat code from table.el * lisp/textmodes/table.el: (table-disable-menu, null, table-recognize-cell) (table--make-cell-map, table--update-cell) (table--update-cell-widened, table--update-cell-heightened) (table--read-from-minibuffer, table--untabify) (table--update-cell-face, table--warn-incompatibility) (table--fill-region, table--set-timer): Remove XEmacs compat code. --- lisp/textmodes/table.el | 106 ++++++++-------------------------------- 1 file changed, 21 insertions(+), 85 deletions(-) diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index 256fac63421..ef688f129fa 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el @@ -1202,35 +1202,13 @@ This is always set to nil at the entry to `table-with-cache-buffer' before execu :help "Move point backward by cell(s)"]) )) -;; XEmacs causes an error when encountering unknown keywords in the -;; menu definition. Specifically the :help keyword is new in Emacs 21 -;; and causes error for the XEmacs function `check-menu-syntax'. IMHO -;; it is unwise to generate an error for unknown keywords because it -;; kills the nice backward compatible extensibility of keyword use. -;; Unknown keywords should be quietly ignore so that future extension -;; does not cause a problem in the old implementation. Sigh... -(when (featurep 'xemacs) - (defun table--tweak-menu-for-xemacs (menu) - (cond - ((listp menu) - (mapcar #'table--tweak-menu-for-xemacs menu)) - ((vectorp menu) - (let ((len (length menu))) - (dotimes (i len) - ;; replace :help with something harmless. - (if (eq (aref menu i) :help) (aset menu i :included))))))) - (mapcar #'table--tweak-menu-for-xemacs - (list table-global-menu table-cell-menu)) - (defvar mark-active t)) - ;; register table menu under global tools menu (unless table-disable-menu - (easy-menu-define table-global-menu-map nil "Table global menu" table-global-menu) - (if (featurep 'xemacs) - (progn - (easy-menu-add-item nil '("Tools") table-global-menu-map)) - (easy-menu-add-item (current-global-map) '("menu-bar" "tools") "--") - (easy-menu-add-item (current-global-map) '("menu-bar" "tools") table-global-menu-map))) + (easy-menu-define table-global-menu-map nil + "Table global menu" table-global-menu) + (easy-menu-add-item (current-global-map) '("menu-bar" "tools") "--") + (easy-menu-add-item (current-global-map) + '("menu-bar" "tools") table-global-menu-map)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; @@ -1310,8 +1288,8 @@ the last cache point coordinate." ;; set up the update timer unless it is explicitly inhibited. (unless table-inhibit-update (table--update-cell))))) -(if (or (featurep 'xemacs) - (null (fboundp 'font-lock-add-keywords))) nil +(if (null (fboundp 'font-lock-add-keywords)) + nil ;; Color it as a keyword. (font-lock-add-keywords 'emacs-lisp-mode @@ -2046,8 +2024,6 @@ plain text and loses all the table specific features." (erase-buffer) (table--insert-rectangle rectangle))))) (restore-buffer-modified-p modified-flag)) - (if (featurep 'xemacs) - (table--warn-incompatibility)) cell))) ;;;###autoload @@ -3878,9 +3854,7 @@ converts a table into plain text without frames. It is a companion to ;; Add menu for table cells. (unless table-disable-menu (easy-menu-define table-cell-menu-map table-cell-map - "Table cell menu" table-cell-menu) - (if (featurep 'xemacs) - (easy-menu-add table-cell-menu))) + "Table cell menu" table-cell-menu)) (run-hooks 'table-cell-map-hook)) ;; Create the keymap after running the user init file so that the user @@ -4093,7 +4067,7 @@ When the optional parameter NOW is nil it only sets up the update timer. If it is non-nil the function copies the contents of the cell cache buffer into the designated cell in the table buffer." (if (null table-update-timer) nil - (table--cancel-timer table-update-timer) + (cancel-timer table-update-timer) (setq table-update-timer nil)) (if (or (not now) (and (boundp 'quail-converting) @@ -4136,7 +4110,7 @@ cache buffer into the designated cell in the table buffer." (defun table--update-cell-widened (&optional now) "Update the contents of the cells that are affected by widening operation." (if (null table-widen-timer) nil - (table--cancel-timer table-widen-timer) + (cancel-timer table-widen-timer) (setq table-widen-timer nil)) (if (not now) (setq table-widen-timer @@ -4175,7 +4149,7 @@ cache buffer into the designated cell in the table buffer." (defun table--update-cell-heightened (&optional now) "Update the contents of the cells that are affected by heightening operation." (if (null table-heighten-timer) nil - (table--cancel-timer table-heighten-timer) + (cancel-timer table-heighten-timer) (setq table-heighten-timer nil)) (if (not now) (setq table-heighten-timer @@ -4270,10 +4244,6 @@ cdr is the history symbol." (read-from-minibuffer (format "%s (default %s): " (car prompt-history) default) "" nil nil (cdr prompt-history) default)) - (and (featurep 'xemacs) - (equal (car (symbol-value (cdr prompt-history))) "") - (set (cdr prompt-history) - (cdr (symbol-value (cdr prompt-history))))) (car (symbol-value (cdr prompt-history)))) (defun table--buffer-substring-and-trim (beg end) @@ -4584,10 +4554,7 @@ of line." (defun table--untabify (beg end) "Wrapper to raw untabify." - (untabify beg end) - (if (featurep 'xemacs) - ;; Cancel strange behavior of xemacs - (message ""))) + (untabify beg end)) (defun table--multiply-string (string multiplier) "Multiply string and return it." @@ -5208,9 +5175,7 @@ instead of the current buffer and returns the OBJECT." (defun table--update-cell-face () "Update cell face according to the current mode." - (if (featurep 'xemacs) - (set-face-property 'table-cell 'underline table-fixed-width-mode) - (set-face-inverse-video 'table-cell table-fixed-width-mode))) + (set-face-inverse-video 'table-cell table-fixed-width-mode)) (table--update-cell-face) @@ -5263,27 +5228,12 @@ This feature is disabled when `table-disable-incompatibility-warning' is non-nil. The warning is done only once per session for each item." (unless (and table-disable-incompatibility-warning (not (called-interactively-p 'interactive))) - (cond ((and (featurep 'xemacs) - (not (get 'table-disable-incompatibility-warning 'xemacs))) - (put 'table-disable-incompatibility-warning 'xemacs t) - (display-warning 'table - " -*** Warning *** - -Table package mostly works fine under XEmacs, however, due to the -peculiar implementation of text property under XEmacs, cell splitting -and any undo operation of table exhibit some known strange problems, -such that a border characters dissolve into adjacent cells. Please be -aware of this. - -" - :warning)) - ((and (boundp 'flyspell-mode) - flyspell-mode - (not (get 'table-disable-incompatibility-warning 'flyspell))) - (put 'table-disable-incompatibility-warning 'flyspell t) - (display-warning 'table - " + (when (and (boundp 'flyspell-mode) + flyspell-mode + (not (get 'table-disable-incompatibility-warning 'flyspell))) + (put 'table-disable-incompatibility-warning 'flyspell t) + (display-warning 'table + " *** Warning *** Flyspell minor mode is known to be incompatible with this table @@ -5291,8 +5241,7 @@ package. The flyspell version 1.5d at URL `http://kaolin.unice.fr/~serrano' works better than the previous versions however not fully compatible. " - :warning)) - ))) + :warning)))) (defun table--cell-blank-str (&optional n) "Return blank table cell string of length N." @@ -5338,7 +5287,6 @@ Current buffer must already be set to the cache buffer." (setq justify (or justify table-cell-info-justify)) (and justify (not (eq justify 'left)) - (not (featurep 'xemacs)) (set-marker-insertion-type marker-point t)) (table--remove-eol-spaces (point-min) (point-max)) (if table-fixed-width-mode @@ -5486,19 +5434,7 @@ It returns COLUMN unless STR contains some wide characters." (defun table--set-timer (seconds func args) "Generic wrapper for setting up a timer." - (if (featurep 'xemacs) - ;; the picky xemacs refuses to accept zero - (add-timeout (if (zerop seconds) 0.01 seconds) func args nil) - ;;(run-at-time seconds nil func args))) - ;; somehow run-at-time causes strange problem under Emacs 20.7 - ;; this problem does not show up under Emacs 21.0.90 - (run-with-idle-timer seconds nil func args))) - -(defun table--cancel-timer (timer) - "Generic wrapper for canceling a timer." - (if (featurep 'xemacs) - (disable-timeout timer) - (cancel-timer timer))) + (run-with-idle-timer seconds nil func args)) (defun table--get-last-command () "Generic wrapper for getting the real last command." -- 2.39.2