From: Lars Ingebrigtsen Date: Wed, 19 Jun 2019 23:44:19 +0000 (+0200) Subject: Remove XEmacs compat code from erc X-Git-Tag: emacs-27.0.90~2356 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9f4cced5db01b256dfcb78a8fa90f388ec32a840;p=emacs.git Remove XEmacs compat code from erc * lisp/erc/erc-button.el (button, erc-button-keymap) (erc-button-setup, erc-button-add-button): Remove XEmacs compat code. * lisp/erc/erc-compat.el (erc-replace-match-subexpression-in-string): * lisp/erc/erc-log.el (erc-log-file-coding-system): * lisp/erc/erc-menu.el (menu): * lisp/erc/erc-stamp.el (erc-timestamp-use-align-to): * lisp/erc/erc-track.el (erc-modified-channels-object, track) (erc-track-mouse-face): * lisp/erc/erc.el (erc-update-undo-list) (erc-quit-reason-various, erc-part-reason-various, erc-cmd-SV) (erc-input-message, erc-get-channel-mode-from-keypress) (erc-update-mode-line-buffer): --- diff --git a/lisp/erc/erc-button.el b/lisp/erc/erc-button.el index c8aa887a652..c2702081daf 100644 --- a/lisp/erc/erc-button.el +++ b/lisp/erc/erc-button.el @@ -59,11 +59,7 @@ ((remove-hook 'erc-insert-modify-hook 'erc-button-add-buttons) (remove-hook 'erc-send-modify-hook 'erc-button-add-buttons) (remove-hook 'erc-complete-functions 'erc-button-next-function) - (remove-hook 'erc-mode-hook 'erc-button-setup) - (when (featurep 'xemacs) - (dolist (buffer (erc-buffer-list)) - (with-current-buffer buffer - (kill-local-variable 'widget-button-face)))))) + (remove-hook 'erc-mode-hook 'erc-button-setup))) ;;; Variables @@ -218,9 +214,7 @@ PAR is a number of a regexp grouping whose text will be passed to (defvar erc-button-keymap (let ((map (make-sparse-keymap))) (define-key map (kbd "RET") 'erc-button-press-button) - (if (featurep 'xemacs) - (define-key map (kbd "") 'erc-button-click-button) - (define-key map (kbd "") 'erc-button-click-button)) + (define-key map (kbd "") 'erc-button-click-button) (define-key map (kbd "TAB") 'erc-button-next) (define-key map (kbd "") 'erc-button-previous) (define-key map [follow-link] 'mouse-face) @@ -255,8 +249,6 @@ global-level ERC button keys yet.") (defun erc-button-setup () "Add ERC mode-level button movement keys. This is only done once." ;; Make XEmacs use `erc-button-face'. - (when (featurep 'xemacs) - (set (make-local-variable 'widget-button-face) nil)) ;; Add keys. (unless erc-button-keys-added (define-key erc-mode-map (kbd "") 'erc-button-previous) @@ -374,18 +366,7 @@ REGEXP is the regular expression which matched for this button." (list 'erc-callback fun) (list 'keymap erc-button-keymap) (list 'rear-nonsticky t) - (and data (list 'erc-data data)))) - (when (featurep 'xemacs) - (widget-convert-button 'link from to :action 'erc-button-press-button - :suppress-face t - ;; Make XEmacs use our faces. - :button-face (if nick-p - erc-button-nickname-face - erc-button-face) - ;; Make XEmacs behave with mouse-clicks, for - ;; some reason, widget stuff overrides the - ;; 'keymap text-property. - :mouse-down-action 'erc-button-click-button))) + (and data (list 'erc-data data))))) (defun erc-button-add-face (from to face) "Add FACE to the region between FROM and TO." diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el index e724e367ab1..aae0f09a2c5 100644 --- a/lisp/erc/erc-compat.el +++ b/lisp/erc/erc-compat.el @@ -71,17 +71,13 @@ See `erc-encoding-coding-alist'." are placed. Note that this should end with a directory separator.") -;; XEmacs's `replace-match' does not replace matching subexpressions in strings. (defun erc-replace-match-subexpression-in-string (newtext string match subexp start &optional fixedcase literal) "Replace the subexpression SUBEXP of the last match in STRING with NEWTEXT. MATCH is the text which matched the subexpression (see `match-string'). START is the beginning position of the last match (see `match-beginning'). See `replace-match' for explanations of FIXEDCASE and LITERAL." - (cond ((featurep 'xemacs) - (string-match match string start) - (replace-match newtext fixedcase literal string)) - (t (replace-match newtext fixedcase literal string subexp)))) + (replace-match newtext fixedcase literal string subexp)) (defalias 'erc-with-selected-window 'with-selected-window) (defalias 'erc-cancel-timer 'cancel-timer) diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index 4153f5c57bd..1c046fe20cb 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -195,9 +195,7 @@ If you set this to nil, you may want to enable both :group 'erc-log :type 'boolean) -(defcustom erc-log-file-coding-system (if (featurep 'xemacs) - 'binary - 'emacs-mule) +(defcustom erc-log-file-coding-system 'emacs-mule "The coding system ERC should use for writing log files. This should ideally, be a \"catch-all\" coding system, like diff --git a/lisp/erc/erc-menu.el b/lisp/erc/erc-menu.el index 8173829797b..17e36984ea6 100644 --- a/lisp/erc/erc-menu.el +++ b/lisp/erc/erc-menu.el @@ -115,22 +115,10 @@ ERC menu yet.") ;; activates it immediately (easy-menu-define erc-menu erc-mode-map "ERC menu" erc-menu-definition) (setq erc-menu-defined t)) - (if (featurep 'xemacs) - (progn - ;; the menu isn't automatically added to the menu bar in - ;; XEmacs - (add-hook 'erc-mode-hook 'erc-menu-add) - (dolist (buffer (erc-buffer-list)) - (with-current-buffer buffer (erc-menu-add)))) - (erc-menu-add))) - ((if (featurep 'xemacs) - (progn - (remove-hook 'erc-mode-hook 'erc-menu-add) - (dolist (buffer (erc-buffer-list)) - (with-current-buffer buffer (erc-menu-remove)))) - (erc-menu-remove) - ;; `easy-menu-remove' is a no-op in Emacs 22 - (message "You might have to restart Emacs to remove the ERC menu")))) + (erc-menu-add)) + ((erc-menu-remove) + ;; `easy-menu-remove' is a no-op in Emacs 22 + (message "You might have to restart Emacs to remove the ERC menu"))) ;; silence byte-compiler warning (defvar erc-menu) diff --git a/lisp/erc/erc-stamp.el b/lisp/erc/erc-stamp.el index 860fdbb77ce..b48803452a2 100644 --- a/lisp/erc/erc-stamp.el +++ b/lisp/erc/erc-stamp.el @@ -227,14 +227,10 @@ the correct column." (integer :tag "Column number") (const :tag "Unspecified" nil))) -(defcustom erc-timestamp-use-align-to (and (not (featurep 'xemacs)) - (>= emacs-major-version 22) - (eq window-system 'x)) +(defcustom erc-timestamp-use-align-to (eq window-system 'x) "If non-nil, use the :align-to display property to align the stamp. This gives better results when variable-width characters (like Asian language characters and math symbols) precede a timestamp. -Unfortunately, it only works in Emacs 22 and when using the X -Window System. A side effect of enabling this is that there will only be one space before a right timestamp in any saved logs." diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index e51e6056fb9..53a59207839 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el @@ -267,22 +267,12 @@ nil - don't add to mode line." (defun erc-modified-channels-object (strings) "Generate a new `erc-modified-channels-object' based on STRINGS." (if strings - (if (featurep 'xemacs) - (let ((e-m-c-s '("["))) - (push (cons (extent-at 0 (car strings)) (car strings)) - e-m-c-s) - (dolist (string (cdr strings)) - (push "," e-m-c-s) - (push (cons (extent-at 0 string) string) - e-m-c-s)) - (push "] " e-m-c-s) - (reverse e-m-c-s)) - (concat (if (eq erc-track-position-in-mode-line 'after-modes) - "[" " [") - (mapconcat 'identity (nreverse strings) ",") - (if (eq erc-track-position-in-mode-line 'before-modes) - "] " "]"))) - (if (featurep 'xemacs) '() ""))) + (concat (if (eq erc-track-position-in-mode-line 'after-modes) + "[" " [") + (mapconcat 'identity (nreverse strings) ",") + (if (eq erc-track-position-in-mode-line 'before-modes) + "] " "]")) + "")) (defvar erc-modified-channels-object (erc-modified-channels-object nil) "Internal object used for displaying modified channels in the mode line.") @@ -546,20 +536,13 @@ keybindings will not do anything useful." ((when (boundp 'erc-track-when-inactive) (if erc-track-when-inactive (progn - (if (featurep 'xemacs) - (defadvice switch-to-buffer (after erc-update-when-inactive - (&rest args) activate) - (erc-user-is-active)) - (add-hook 'window-configuration-change-hook 'erc-user-is-active)) + (add-hook 'window-configuration-change-hook 'erc-user-is-active) (add-hook 'erc-send-completed-hook 'erc-user-is-active) (add-hook 'erc-server-001-functions 'erc-user-is-active)) (erc-track-add-to-mode-line erc-track-position-in-mode-line) (erc-update-mode-line) - (if (featurep 'xemacs) - (defadvice switch-to-buffer (after erc-update (&rest args) activate) - (erc-modified-channels-update)) - (add-hook 'window-configuration-change-hook - 'erc-window-configuration-change)) + (add-hook 'window-configuration-change-hook + 'erc-window-configuration-change) (add-hook 'erc-insert-post-hook 'erc-track-modified-channels) (add-hook 'erc-disconnected-hook 'erc-modified-channels-update)) ;; enable the tracking keybindings @@ -570,18 +553,13 @@ keybindings will not do anything useful." (erc-track-remove-from-mode-line) (if erc-track-when-inactive (progn - (if (featurep 'xemacs) - (ad-disable-advice 'switch-to-buffer 'after - 'erc-update-when-inactive) - (remove-hook 'window-configuration-change-hook - 'erc-user-is-active)) + (remove-hook 'window-configuration-change-hook + 'erc-user-is-active) (remove-hook 'erc-send-completed-hook 'erc-user-is-active) (remove-hook 'erc-server-001-functions 'erc-user-is-active) (remove-hook 'erc-timer-hook 'erc-user-is-active)) - (if (featurep 'xemacs) - (ad-disable-advice 'switch-to-buffer 'after 'erc-update) - (remove-hook 'window-configuration-change-hook - 'erc-window-configuration-change)) + (remove-hook 'window-configuration-change-hook + 'erc-window-configuration-change) (remove-hook 'erc-disconnected-hook 'erc-modified-channels-update) (remove-hook 'erc-insert-post-hook 'erc-track-modified-channels)) ;; disable the tracking keybindings @@ -671,9 +649,7 @@ ARGS are ignored." (when removed-channel (erc-modified-channels-display))))) -(defvar erc-track-mouse-face (if (featurep 'xemacs) - 'modeline-mousable - 'mode-line-highlight) +(defvar erc-track-mouse-face 'mode-line-highlight "The face to use when mouse is over channel names in the mode line.") (defun erc-make-mode-line-buffer-name (string buffer &optional faces count) diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 0419f3d7df6..f5c9decc3a2 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -2443,11 +2443,7 @@ If STRING is nil, the function does nothing." ((null (car elt)) ; (nil PROPERTY VALUE BEG . END) (let ((cons (nthcdr 3 elt))) (cl-incf (car cons) shift) - (cl-incf (cdr cons) shift))) - ((and (featurep 'xemacs) - (extentp (car elt))) ; (EXTENT START END) - (cl-incf (nth 1 elt) shift) - (cl-incf (nth 2 elt) shift))) + (cl-incf (cdr cons) shift)))) (setq list (cdr list)))))) (defvar erc-valid-nick-regexp "[]a-zA-Z^[;\\`_{}|][]^[;\\`_{}|a-zA-Z0-9-]*" @@ -3498,7 +3494,6 @@ If S is non-nil, it will be used as the quit reason." (defun erc-quit-reason-various (s) "Choose a quit reason based on S (a string)." - (when (featurep 'xemacs) (require 'poe)) (let ((res (car (assoc-default (or s "") erc-quit-reason-various-alist 'string-match)))) (cond @@ -3526,7 +3521,6 @@ If S is non-nil, it will be used as the quit reason." (defun erc-part-reason-various (s) "Choose a part reason based on S (a string)." - (when (featurep 'xemacs) (require 'poe)) (let ((res (car (assoc-default (or s "") erc-part-reason-various-alist 'string-match)))) (cond @@ -3627,8 +3621,7 @@ the message given by REASON." (defun erc-cmd-SV () "Say the current ERC and Emacs version into channel." - (erc-send-message (format "I'm using ERC with %s %s (%s%s)%s." - (if (featurep 'xemacs) "XEmacs" "GNU Emacs") + (erc-send-message (format "I'm using ERC with GNU Emacs %s (%s%s)%s." emacs-version system-configuration (concat @@ -3969,9 +3962,7 @@ If FACE is non-nil, it will be used to propertize the prompt. If it is nil, (let ((minibuffer-allow-text-properties t) (read-map minibuffer-local-map)) (insert (read-from-minibuffer "Message: " - (string (if (featurep 'xemacs) - last-command-char - last-command-event)) + (string last-command-event) read-map)) (erc-send-current-line))) @@ -5766,8 +5757,6 @@ If \"l\" is pressed, `erc-set-channel-limit' gets called. If \"k\" is pressed, `erc-set-channel-key' gets called. Anything else will be sent to `erc-toggle-channel-mode'." (interactive "kChannel mode (RET to set more than one): ") - (when (featurep 'xemacs) - (setq key (char-to-string (event-to-character (aref key 0))))) (cond ((equal key "\C-g") (keyboard-quit)) ((equal key "\C-m") @@ -6411,14 +6400,9 @@ if `erc-away' is non-nil." (funcall erc-header-line-face-method)) (t 'erc-header-line)))) - (cond ((featurep 'xemacs) - (setq modeline-buffer-identification - (list (format-spec erc-mode-line-format spec))) - (setq modeline-process (list process-status))) - (t - (setq mode-line-buffer-identification - (list (format-spec erc-mode-line-format spec))) - (setq mode-line-process (list process-status)))) + (setq mode-line-buffer-identification + (list (format-spec erc-mode-line-format spec))) + (setq mode-line-process (list process-status)) (when (boundp 'header-line-format) (let ((header (if erc-header-line-format (format-spec erc-header-line-format spec) @@ -6446,9 +6430,7 @@ if `erc-away' is non-nil." (if face (erc-propertize header 'face face) header))))))) - (if (featurep 'xemacs) - (redraw-modeline) - (force-mode-line-update)))) + (force-mode-line-update))) (defun erc-update-mode-line (&optional buffer) "Update the mode line in BUFFER.