diff options
| author | Lars Ingebrigtsen | 2016-02-12 13:38:12 +1100 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2016-02-12 13:38:12 +1100 |
| commit | 87931c8dc0094facff7c8e27267d630a9254a524 (patch) | |
| tree | 0517a3905b8ad5a1b47734f858f83162efb6fa8c | |
| parent | ae928ae2397a58a75584aaa0037a3dc383473756 (diff) | |
| download | emacs-87931c8dc0094facff7c8e27267d630a9254a524.tar.gz emacs-87931c8dc0094facff7c8e27267d630a9254a524.zip | |
Remove Message and mm-decode XEmacs compat code
* lisp/gnus/message.el: Remove XEmacs compat code.
* lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
* lisp/gnus/mm-util.el: Remove some XEmacs compat code.
| -rw-r--r-- | lisp/gnus/message.el | 144 | ||||
| -rw-r--r-- | lisp/gnus/mm-bodies.el | 3 | ||||
| -rw-r--r-- | lisp/gnus/mm-decode.el | 77 | ||||
| -rw-r--r-- | lisp/gnus/mm-partial.el | 7 | ||||
| -rw-r--r-- | lisp/gnus/mm-util.el | 10 |
5 files changed, 62 insertions, 179 deletions
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index fee79379385..b56c5cd0c62 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -1629,11 +1629,6 @@ starting with `not' and followed by regexps." | |||
| 1629 | (0 'message-mml)))) | 1629 | (0 'message-mml)))) |
| 1630 | "Additional expressions to highlight in Message mode.") | 1630 | "Additional expressions to highlight in Message mode.") |
| 1631 | 1631 | ||
| 1632 | |||
| 1633 | ;; XEmacs does it like this. For Emacs, we have to set the | ||
| 1634 | ;; `font-lock-defaults' buffer-local variable. | ||
| 1635 | (put 'message-mode 'font-lock-defaults '(message-font-lock-keywords t)) | ||
| 1636 | |||
| 1637 | (defvar message-face-alist | 1632 | (defvar message-face-alist |
| 1638 | '((bold . message-bold-region) | 1633 | '((bold . message-bold-region) |
| 1639 | (underline . underline-region) | 1634 | (underline . underline-region) |
| @@ -1675,12 +1670,8 @@ news." | |||
| 1675 | (defvar message-send-coding-system 'binary | 1670 | (defvar message-send-coding-system 'binary |
| 1676 | "Coding system to encode outgoing mail.") | 1671 | "Coding system to encode outgoing mail.") |
| 1677 | 1672 | ||
| 1678 | (defvar message-draft-coding-system | 1673 | (defvar message-draft-coding-system mm-auto-save-coding-system |
| 1679 | mm-auto-save-coding-system | 1674 | "Coding system to compose mail.") |
| 1680 | "*Coding system to compose mail. | ||
| 1681 | If you'd like to make it possible to share draft files between XEmacs | ||
| 1682 | and Emacs, you may use `iso-2022-7bit' for this value at your own risk. | ||
| 1683 | Note that the coding-system `iso-2022-7bit' isn't suitable to all data.") | ||
| 1684 | 1675 | ||
| 1685 | (defcustom message-send-mail-partially-limit nil | 1676 | (defcustom message-send-mail-partially-limit nil |
| 1686 | "The limitation of messages sent as message/partial. | 1677 | "The limitation of messages sent as message/partial. |
| @@ -1912,12 +1903,7 @@ You must have the \"hashcash\" binary installed, see `hashcash-path'." | |||
| 1912 | 1903 | ||
| 1913 | (defvar message-options nil | 1904 | (defvar message-options nil |
| 1914 | "Some saved answers when sending message.") | 1905 | "Some saved answers when sending message.") |
| 1915 | ;; FIXME: On XEmacs this causes problems since let-binding like: | 1906 | (make-variable-buffer-local 'message-options) |
| 1916 | ;; (let ((message-options message-options)) ...) | ||
| 1917 | ;; as in `message-send' and `mml-preview' loses to buffer-local | ||
| 1918 | ;; variable initialization. | ||
| 1919 | (unless (featurep 'xemacs) | ||
| 1920 | (make-variable-buffer-local 'message-options)) | ||
| 1921 | 1907 | ||
| 1922 | (defvar message-send-mail-real-function nil | 1908 | (defvar message-send-mail-real-function nil |
| 1923 | "Internal send mail function.") | 1909 | "Internal send mail function.") |
| @@ -2645,19 +2631,17 @@ Prefixed with one \\[universal-argument], display the Emacs MIME | |||
| 2645 | manual. With two \\[universal-argument]'s, display the EasyPG or | 2631 | manual. With two \\[universal-argument]'s, display the EasyPG or |
| 2646 | PGG manual, depending on the value of `mml2015-use'." | 2632 | PGG manual, depending on the value of `mml2015-use'." |
| 2647 | (interactive "p") | 2633 | (interactive "p") |
| 2648 | ;; Don't use `info' because support for `(filename)nodename' is not | 2634 | (info (format "(%s)Top" |
| 2649 | ;; available in XEmacs < 21.5.12. | 2635 | (cond ((eq arg 16) |
| 2650 | (Info-goto-node (format "(%s)Top" | 2636 | (require 'mml2015) |
| 2651 | (cond ((eq arg 16) | 2637 | mml2015-use) |
| 2652 | (require 'mml2015) | 2638 | ((eq arg 4) 'emacs-mime) |
| 2653 | mml2015-use) | 2639 | ;; `booleanp' only available in Emacs 22+ |
| 2654 | ((eq arg 4) 'emacs-mime) | 2640 | ((and (not (memq arg '(nil t))) |
| 2655 | ;; `booleanp' only available in Emacs 22+ | 2641 | (symbolp arg)) |
| 2656 | ((and (not (memq arg '(nil t))) | 2642 | arg) |
| 2657 | (symbolp arg)) | 2643 | (t |
| 2658 | arg) | 2644 | 'message))))) |
| 2659 | (t | ||
| 2660 | 'message))))) | ||
| 2661 | 2645 | ||
| 2662 | 2646 | ||
| 2663 | 2647 | ||
| @@ -2755,43 +2739,29 @@ PGG manual, depending on the value of `mml2015-use'." | |||
| 2755 | ["Caesar (rot13) Region" message-caesar-region (message-mark-active-p)] | 2739 | ["Caesar (rot13) Region" message-caesar-region (message-mark-active-p)] |
| 2756 | ["Elide Region" message-elide-region | 2740 | ["Elide Region" message-elide-region |
| 2757 | :active (message-mark-active-p) | 2741 | :active (message-mark-active-p) |
| 2758 | ,@(if (featurep 'xemacs) nil | 2742 | :help "Replace text in region with an ellipsis"] |
| 2759 | '(:help "Replace text in region with an ellipsis"))] | ||
| 2760 | ["Delete Outside Region" message-delete-not-region | 2743 | ["Delete Outside Region" message-delete-not-region |
| 2761 | :active (message-mark-active-p) | 2744 | :active (message-mark-active-p) |
| 2762 | ,@(if (featurep 'xemacs) nil | 2745 | :help "Delete all quoted text outside region"] |
| 2763 | '(:help "Delete all quoted text outside region"))] | ||
| 2764 | ["Kill To Signature" message-kill-to-signature t] | 2746 | ["Kill To Signature" message-kill-to-signature t] |
| 2765 | ["Newline and Reformat" message-newline-and-reformat t] | 2747 | ["Newline and Reformat" message-newline-and-reformat t] |
| 2766 | ["Rename buffer" message-rename-buffer t] | 2748 | ["Rename buffer" message-rename-buffer t] |
| 2767 | ["Spellcheck" ispell-message | 2749 | ["Spellcheck" ispell-message :help "Spellcheck this message"] |
| 2768 | ,@(if (featurep 'xemacs) '(t) | ||
| 2769 | '(:help "Spellcheck this message"))] | ||
| 2770 | "----" | 2750 | "----" |
| 2771 | ["Insert Region Marked" message-mark-inserted-region | 2751 | ["Insert Region Marked" message-mark-inserted-region |
| 2772 | :active (message-mark-active-p) | 2752 | :active (message-mark-active-p) :help "Mark region with enclosing tags"] |
| 2773 | ,@(if (featurep 'xemacs) nil | ||
| 2774 | '(:help "Mark region with enclosing tags"))] | ||
| 2775 | ["Insert File Marked..." message-mark-insert-file | 2753 | ["Insert File Marked..." message-mark-insert-file |
| 2776 | ,@(if (featurep 'xemacs) '(t) | 2754 | :help "Insert file at point marked with enclosing tags"] |
| 2777 | '(:help "Insert file at point marked with enclosing tags"))] | ||
| 2778 | "----" | 2755 | "----" |
| 2779 | ["Send Message" message-send-and-exit | 2756 | ["Send Message" message-send-and-exit :help "Send this message"] |
| 2780 | ,@(if (featurep 'xemacs) '(t) | ||
| 2781 | '(:help "Send this message"))] | ||
| 2782 | ["Postpone Message" message-dont-send | 2757 | ["Postpone Message" message-dont-send |
| 2783 | ,@(if (featurep 'xemacs) '(t) | 2758 | :help "File this draft message and exit"] |
| 2784 | '(:help "File this draft message and exit"))] | ||
| 2785 | ["Send at Specific Time..." gnus-delay-article | 2759 | ["Send at Specific Time..." gnus-delay-article |
| 2786 | ,@(if (featurep 'xemacs) '(t) | 2760 | :help "Ask, then arrange to send message at that time"] |
| 2787 | '(:help "Ask, then arrange to send message at that time"))] | ||
| 2788 | ["Kill Message" message-kill-buffer | 2761 | ["Kill Message" message-kill-buffer |
| 2789 | ,@(if (featurep 'xemacs) '(t) | 2762 | :help "Delete this message without sending"] |
| 2790 | '(:help "Delete this message without sending"))] | ||
| 2791 | "----" | 2763 | "----" |
| 2792 | ["Message manual" message-info | 2764 | ["Message manual" message-info :help "Display the Message manual"])) |
| 2793 | ,@(if (featurep 'xemacs) '(t) | ||
| 2794 | '(:help "Display the Message manual"))])) | ||
| 2795 | 2765 | ||
| 2796 | (easy-menu-define | 2766 | (easy-menu-define |
| 2797 | message-mode-field-menu message-mode-map "" | 2767 | message-mode-field-menu message-mode-map "" |
| @@ -2805,15 +2775,12 @@ PGG manual, depending on the value of `mml2015-use'." | |||
| 2805 | ["Fcc" message-goto-fcc t] | 2775 | ["Fcc" message-goto-fcc t] |
| 2806 | ["Reply-To" message-goto-reply-to t] | 2776 | ["Reply-To" message-goto-reply-to t] |
| 2807 | ["Flag As Important" message-insert-importance-high | 2777 | ["Flag As Important" message-insert-importance-high |
| 2808 | ,@(if (featurep 'xemacs) '(t) | 2778 | :help "Mark this message as important"] |
| 2809 | '(:help "Mark this message as important"))] | ||
| 2810 | ["Flag As Unimportant" message-insert-importance-low | 2779 | ["Flag As Unimportant" message-insert-importance-low |
| 2811 | ,@(if (featurep 'xemacs) '(t) | 2780 | :help "Mark this message as unimportant"] |
| 2812 | '(:help "Mark this message as unimportant"))] | ||
| 2813 | ["Request Receipt" | 2781 | ["Request Receipt" |
| 2814 | message-insert-disposition-notification-to | 2782 | message-insert-disposition-notification-to |
| 2815 | ,@(if (featurep 'xemacs) '(t) | 2783 | :help "Request a receipt notification"] |
| 2816 | '(:help "Request a receipt notification"))] | ||
| 2817 | "----" | 2784 | "----" |
| 2818 | ;; (typical) news stuff | 2785 | ;; (typical) news stuff |
| 2819 | ["Summary" message-goto-summary t] | 2786 | ["Summary" message-goto-summary t] |
| @@ -2829,18 +2796,14 @@ PGG manual, depending on the value of `mml2015-use'." | |||
| 2829 | "----" | 2796 | "----" |
| 2830 | ;; (typical) mailing-lists stuff | 2797 | ;; (typical) mailing-lists stuff |
| 2831 | ["Fetch To" message-insert-to | 2798 | ["Fetch To" message-insert-to |
| 2832 | ,@(if (featurep 'xemacs) '(t) | 2799 | :help "Insert a To header that points to the author."] |
| 2833 | '(:help "Insert a To header that points to the author."))] | ||
| 2834 | ["Fetch To and Cc" message-insert-wide-reply | 2800 | ["Fetch To and Cc" message-insert-wide-reply |
| 2835 | ,@(if (featurep 'xemacs) '(t) | 2801 | :help "Insert To and Cc headers as if you were doing a wide reply."] |
| 2836 | '(:help | ||
| 2837 | "Insert To and Cc headers as if you were doing a wide reply."))] | ||
| 2838 | "----" | 2802 | "----" |
| 2839 | ["Send to list only" message-to-list-only t] | 2803 | ["Send to list only" message-to-list-only t] |
| 2840 | ["Mail-Followup-To" message-goto-mail-followup-to t] | 2804 | ["Mail-Followup-To" message-goto-mail-followup-to t] |
| 2841 | ["Unsubscribed list post" message-generate-unsubscribed-mail-followup-to | 2805 | ["Unsubscribed list post" message-generate-unsubscribed-mail-followup-to |
| 2842 | ,@(if (featurep 'xemacs) '(t) | 2806 | :help "Insert a reasonable `Mail-Followup-To:' header."] |
| 2843 | '(:help "Insert a reasonable `Mail-Followup-To:' header."))] | ||
| 2844 | ["Reduce To: to Cc:" message-reduce-to-to-cc t] | 2807 | ["Reduce To: to Cc:" message-reduce-to-to-cc t] |
| 2845 | "----" | 2808 | "----" |
| 2846 | ["Sort Headers" message-sort-headers t] | 2809 | ["Sort Headers" message-sort-headers t] |
| @@ -2886,7 +2849,6 @@ message composition doesn't break too bad." | |||
| 2886 | ;; category, face, display: probably doesn't do any harm. | 2849 | ;; category, face, display: probably doesn't do any harm. |
| 2887 | ;; fontified: is used by font-lock. | 2850 | ;; fontified: is used by font-lock. |
| 2888 | ;; syntax-table, local-map: I dunno. | 2851 | ;; syntax-table, local-map: I dunno. |
| 2889 | ;; We need to add XEmacs names to the list. | ||
| 2890 | "Property list of with properties forbidden in message buffers. | 2852 | "Property list of with properties forbidden in message buffers. |
| 2891 | The values of the properties are ignored, only the property names are used.") | 2853 | The values of the properties are ignored, only the property names are used.") |
| 2892 | 2854 | ||
| @@ -3021,12 +2983,10 @@ M-RET `message-newline-and-reformat' (break the line and reformat)." | |||
| 3021 | (set (make-local-variable 'comment-start) message-yank-prefix) | 2983 | (set (make-local-variable 'comment-start) message-yank-prefix) |
| 3022 | (set (make-local-variable 'comment-start-skip) | 2984 | (set (make-local-variable 'comment-start-skip) |
| 3023 | (concat "^" (regexp-quote message-yank-prefix) "[ \t]*"))) | 2985 | (concat "^" (regexp-quote message-yank-prefix) "[ \t]*"))) |
| 3024 | (if (featurep 'xemacs) | 2986 | (set (make-local-variable 'font-lock-defaults) |
| 3025 | (message-setup-toolbar) | 2987 | '(message-font-lock-keywords t)) |
| 3026 | (set (make-local-variable 'font-lock-defaults) | 2988 | (if (boundp 'tool-bar-map) |
| 3027 | '(message-font-lock-keywords t)) | 2989 | (set (make-local-variable 'tool-bar-map) (message-make-tool-bar))) |
| 3028 | (if (boundp 'tool-bar-map) | ||
| 3029 | (set (make-local-variable 'tool-bar-map) (message-make-tool-bar)))) | ||
| 3030 | (easy-menu-add message-mode-menu message-mode-map) | 2990 | (easy-menu-add message-mode-menu message-mode-map) |
| 3031 | (easy-menu-add message-mode-field-menu message-mode-map) | 2991 | (easy-menu-add message-mode-field-menu message-mode-map) |
| 3032 | ;; Mmmm... Forbidden properties... | 2992 | ;; Mmmm... Forbidden properties... |
| @@ -6397,9 +6357,6 @@ multiple lines is treated as a single line. Otherwise, even if | |||
| 6397 | N is 1, when point is on a continuation header line, it will be | 6357 | N is 1, when point is on a continuation header line, it will be |
| 6398 | moved to the beginning " | 6358 | moved to the beginning " |
| 6399 | (interactive "p") | 6359 | (interactive "p") |
| 6400 | (let ((zrs 'zmacs-region-stays)) | ||
| 6401 | (when (and (featurep 'xemacs) (interactive-p) (boundp zrs)) | ||
| 6402 | (set zrs t))) | ||
| 6403 | (cond | 6360 | (cond |
| 6404 | ;; Go to beginning of header or beginning of line. | 6361 | ;; Go to beginning of header or beginning of line. |
| 6405 | ((and message-beginning-of-line (message-point-in-header-p)) | 6362 | ((and message-beginning-of-line (message-point-in-header-p)) |
| @@ -7470,14 +7427,13 @@ Optional DIGEST will use digest to forward." | |||
| 7470 | (let ((b (point)) | 7427 | (let ((b (point)) |
| 7471 | (contents (with-current-buffer forward-buffer (buffer-string))) | 7428 | (contents (with-current-buffer forward-buffer (buffer-string))) |
| 7472 | e) | 7429 | e) |
| 7473 | (unless (featurep 'xemacs) | 7430 | (unless (mm-multibyte-string-p contents) |
| 7474 | (unless (mm-multibyte-string-p contents) | 7431 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ |
| 7475 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ | ||
| 7476 | to the multibyte buffer \"%s\"" | 7432 | to the multibyte buffer \"%s\"" |
| 7477 | (if (bufferp forward-buffer) | 7433 | (if (bufferp forward-buffer) |
| 7478 | (buffer-name forward-buffer) | 7434 | (buffer-name forward-buffer) |
| 7479 | forward-buffer) | 7435 | forward-buffer) |
| 7480 | (buffer-name)))) | 7436 | (buffer-name))) |
| 7481 | (insert (mm-with-multibyte-buffer | 7437 | (insert (mm-with-multibyte-buffer |
| 7482 | (insert contents) | 7438 | (insert contents) |
| 7483 | (mime-to-mml) | 7439 | (mime-to-mml) |
| @@ -7534,14 +7490,13 @@ Optional DIGEST will use digest to forward." | |||
| 7534 | (let ((b (point)) e) | 7490 | (let ((b (point)) e) |
| 7535 | (if (not message-forward-decoded-p) | 7491 | (if (not message-forward-decoded-p) |
| 7536 | (let ((contents (with-current-buffer forward-buffer (buffer-string)))) | 7492 | (let ((contents (with-current-buffer forward-buffer (buffer-string)))) |
| 7537 | (unless (featurep 'xemacs) | 7493 | (unless (mm-multibyte-string-p contents) |
| 7538 | (unless (mm-multibyte-string-p contents) | 7494 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ |
| 7539 | (error "Attempt to insert unibyte string from the buffer \"%s\"\ | ||
| 7540 | to the multibyte buffer \"%s\"" | 7495 | to the multibyte buffer \"%s\"" |
| 7541 | (if (bufferp forward-buffer) | 7496 | (if (bufferp forward-buffer) |
| 7542 | (buffer-name forward-buffer) | 7497 | (buffer-name forward-buffer) |
| 7543 | forward-buffer) | 7498 | forward-buffer) |
| 7544 | (buffer-name)))) | 7499 | (buffer-name))) |
| 7545 | (insert (mm-with-multibyte-buffer | 7500 | (insert (mm-with-multibyte-buffer |
| 7546 | (insert contents) | 7501 | (insert contents) |
| 7547 | (mime-to-mml) | 7502 | (mime-to-mml) |
| @@ -7988,8 +7943,7 @@ See `gmm-tool-bar-from-list' for the format of the list." | |||
| 7988 | (defun message-make-tool-bar (&optional force) | 7943 | (defun message-make-tool-bar (&optional force) |
| 7989 | "Make a message mode tool bar from `message-tool-bar-list'. | 7944 | "Make a message mode tool bar from `message-tool-bar-list'. |
| 7990 | When FORCE, rebuild the tool bar." | 7945 | When FORCE, rebuild the tool bar." |
| 7991 | (when (and (not (featurep 'xemacs)) | 7946 | (when (and (boundp 'tool-bar-mode) |
| 7992 | (boundp 'tool-bar-mode) | ||
| 7993 | tool-bar-mode | 7947 | tool-bar-mode |
| 7994 | (or (not message-tool-bar-map) force)) | 7948 | (or (not message-tool-bar-map) force)) |
| 7995 | (setq message-tool-bar-map | 7949 | (setq message-tool-bar-map |
| @@ -8577,10 +8531,6 @@ Used in `message-simplify-recipients'." | |||
| 8577 | (match-beginning 0) | 8531 | (match-beginning 0) |
| 8578 | " "))))))) | 8532 | " "))))))) |
| 8579 | 8533 | ||
| 8580 | (when (featurep 'xemacs) | ||
| 8581 | (require 'messagexmas) | ||
| 8582 | (message-xmas-redefine)) | ||
| 8583 | |||
| 8584 | (provide 'message) | 8534 | (provide 'message) |
| 8585 | 8535 | ||
| 8586 | (run-hooks 'message-load-hook) | 8536 | (run-hooks 'message-load-hook) |
diff --git a/lisp/gnus/mm-bodies.el b/lisp/gnus/mm-bodies.el index 11449f9d9de..cd5769584e2 100644 --- a/lisp/gnus/mm-bodies.el +++ b/lisp/gnus/mm-bodies.el | |||
| @@ -255,9 +255,6 @@ decoding. If it is nil, default to `mail-parse-charset'." | |||
| 255 | (setq coding-system | 255 | (setq coding-system |
| 256 | (mm-charset-to-coding-system mail-parse-charset))) | 256 | (mm-charset-to-coding-system mail-parse-charset))) |
| 257 | (when (and charset coding-system | 257 | (when (and charset coding-system |
| 258 | ;; buffer-file-coding-system | ||
| 259 | ;;Article buffer is nil coding system | ||
| 260 | ;;in XEmacs | ||
| 261 | (mm-multibyte-p) | 258 | (mm-multibyte-p) |
| 262 | (or (not (eq coding-system 'ascii)) | 259 | (or (not (eq coding-system 'ascii)) |
| 263 | (setq coding-system mail-parse-charset))) | 260 | (setq coding-system mail-parse-charset))) |
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 810560ab4db..d1240c01b5c 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -289,10 +289,7 @@ before the external MIME handler is invoked." | |||
| 289 | (mm-insert-part handle) | 289 | (mm-insert-part handle) |
| 290 | (let ((image | 290 | (let ((image |
| 291 | (ignore-errors | 291 | (ignore-errors |
| 292 | (if (fboundp 'create-image) | 292 | (create-image (buffer-string) 'imagemagick 'data-p)))) |
| 293 | (create-image (buffer-string) 'imagemagick 'data-p) | ||
| 294 | (mm-create-image-xemacs | ||
| 295 | (mm-handle-media-subtype handle)))))) | ||
| 296 | (when image | 293 | (when image |
| 297 | (setcar (cdr handle) (list "image/imagemagick")) | 294 | (setcar (cdr handle) (list "image/imagemagick")) |
| 298 | (mm-image-fit-p handle))))))) | 295 | (mm-image-fit-p handle))))))) |
| @@ -1147,9 +1144,6 @@ external if displayed external." | |||
| 1147 | (ignore-errors | 1144 | (ignore-errors |
| 1148 | (cond | 1145 | (cond |
| 1149 | ;; Internally displayed part. | 1146 | ;; Internally displayed part. |
| 1150 | ((mm-annotationp object) | ||
| 1151 | (if (featurep 'xemacs) | ||
| 1152 | (delete-annotation object))) | ||
| 1153 | ((or (functionp object) | 1147 | ((or (functionp object) |
| 1154 | (and (listp object) | 1148 | (and (listp object) |
| 1155 | (eq (car object) 'lambda))) | 1149 | (eq (car object) 'lambda))) |
| @@ -1573,73 +1567,30 @@ be determined." | |||
| 1573 | (prog1 | 1567 | (prog1 |
| 1574 | (setq spec | 1568 | (setq spec |
| 1575 | (ignore-errors | 1569 | (ignore-errors |
| 1576 | ;; Avoid testing `make-glyph' since W3 may define | 1570 | (create-image (buffer-string) |
| 1577 | ;; a bogus version of it. | 1571 | (or (mm-image-type-from-buffer) |
| 1578 | (if (fboundp 'create-image) | 1572 | (intern type)) |
| 1579 | (create-image (buffer-string) | 1573 | 'data-p))) |
| 1580 | (or (mm-image-type-from-buffer) | ||
| 1581 | (intern type)) | ||
| 1582 | 'data-p) | ||
| 1583 | (mm-create-image-xemacs type)))) | ||
| 1584 | (mm-handle-set-cache handle spec)))))) | 1574 | (mm-handle-set-cache handle spec)))))) |
| 1585 | 1575 | ||
| 1586 | (defun mm-create-image-xemacs (type) | ||
| 1587 | (when (featurep 'xemacs) | ||
| 1588 | (cond | ||
| 1589 | ((equal type "xbm") | ||
| 1590 | ;; xbm images require special handling, since | ||
| 1591 | ;; the only way to create glyphs from these | ||
| 1592 | ;; (without a ton of work) is to write them | ||
| 1593 | ;; out to a file, and then create a file | ||
| 1594 | ;; specifier. | ||
| 1595 | (let ((file (mm-make-temp-file | ||
| 1596 | (expand-file-name "emm" mm-tmp-directory) | ||
| 1597 | nil ".xbm"))) | ||
| 1598 | (unwind-protect | ||
| 1599 | (progn | ||
| 1600 | (write-region (point-min) (point-max) file) | ||
| 1601 | (make-glyph (list (cons 'x file)))) | ||
| 1602 | (ignore-errors | ||
| 1603 | (delete-file file))))) | ||
| 1604 | (t | ||
| 1605 | (make-glyph | ||
| 1606 | (vector | ||
| 1607 | (or (mm-image-type-from-buffer) | ||
| 1608 | (intern type)) | ||
| 1609 | :data (buffer-string))))))) | ||
| 1610 | |||
| 1611 | (declare-function image-size "image.c" (spec &optional pixels frame)) | 1576 | (declare-function image-size "image.c" (spec &optional pixels frame)) |
| 1612 | 1577 | ||
| 1613 | (defun mm-image-fit-p (handle) | 1578 | (defun mm-image-fit-p (handle) |
| 1614 | "Say whether the image in HANDLE will fit the current window." | 1579 | "Say whether the image in HANDLE will fit the current window." |
| 1615 | (let ((image (mm-get-image handle))) | 1580 | (let ((image (mm-get-image handle))) |
| 1616 | (or (not image) | 1581 | (or (not image) |
| 1617 | (if (featurep 'xemacs) | 1582 | (let* ((size (image-size image)) |
| 1618 | ;; XEmacs's glyphs can actually tell us about their width, so | 1583 | (w (car size)) |
| 1619 | ;; let's be nice and smart about them. | 1584 | (h (cdr size))) |
| 1620 | (or mm-inline-large-images | 1585 | (or mm-inline-large-images |
| 1621 | (and (<= (glyph-width image) (window-pixel-width)) | 1586 | (and (<= h (1- (window-height))) ; Don't include mode line. |
| 1622 | (<= (glyph-height image) (window-pixel-height)))) | 1587 | (<= w (window-width)))))))) |
| 1623 | (let* ((size (image-size image)) | ||
| 1624 | (w (car size)) | ||
| 1625 | (h (cdr size))) | ||
| 1626 | (or mm-inline-large-images | ||
| 1627 | (and (<= h (1- (window-height))) ; Don't include mode line. | ||
| 1628 | (<= w (window-width))))))))) | ||
| 1629 | 1588 | ||
| 1630 | (defun mm-valid-image-format-p (format) | 1589 | (defun mm-valid-image-format-p (format) |
| 1631 | "Say whether FORMAT can be displayed natively by Emacs." | 1590 | "Say whether FORMAT can be displayed natively by Emacs." |
| 1632 | (cond | 1591 | (and (fboundp 'image-type-available-p) |
| 1633 | ;; Handle XEmacs | 1592 | (display-graphic-p) |
| 1634 | ((fboundp 'valid-image-instantiator-format-p) | 1593 | (image-type-available-p format))) |
| 1635 | (valid-image-instantiator-format-p format)) | ||
| 1636 | ;; Handle Emacs | ||
| 1637 | ((fboundp 'image-type-available-p) | ||
| 1638 | (and (display-graphic-p) | ||
| 1639 | (image-type-available-p format))) | ||
| 1640 | ;; Nobody else can do images yet. | ||
| 1641 | (t | ||
| 1642 | nil))) | ||
| 1643 | 1594 | ||
| 1644 | (defun mm-valid-and-fit-image-p (format handle) | 1595 | (defun mm-valid-and-fit-image-p (format handle) |
| 1645 | "Say whether FORMAT can be displayed natively and HANDLE fits the window." | 1596 | "Say whether FORMAT can be displayed natively and HANDLE fits the window." |
diff --git a/lisp/gnus/mm-partial.el b/lisp/gnus/mm-partial.el index 523a53b7f5e..2b037f1cf96 100644 --- a/lisp/gnus/mm-partial.el +++ b/lisp/gnus/mm-partial.el | |||
| @@ -136,13 +136,6 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing." | |||
| 136 | handle | 136 | handle |
| 137 | `(lambda () | 137 | `(lambda () |
| 138 | (let (buffer-read-only) | 138 | (let (buffer-read-only) |
| 139 | (condition-case nil | ||
| 140 | ;; This is only valid on XEmacs. | ||
| 141 | (mapcar (lambda (prop) | ||
| 142 | (remove-specifier | ||
| 143 | (face-property 'default prop) (current-buffer))) | ||
| 144 | '(background background-pixmap foreground)) | ||
| 145 | (error nil)) | ||
| 146 | (delete-region ,(point-min-marker) ,(point-max-marker)))))))))) | 139 | (delete-region ,(point-min-marker) ,(point-max-marker)))))))))) |
| 147 | 140 | ||
| 148 | (provide 'mm-partial) | 141 | (provide 'mm-partial) |
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index b8da19d9413..9deca2354f2 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -25,13 +25,7 @@ | |||
| 25 | 25 | ||
| 26 | (eval-when-compile (require 'cl)) | 26 | (eval-when-compile (require 'cl)) |
| 27 | (require 'mail-prsvr) | 27 | (require 'mail-prsvr) |
| 28 | 28 | (require 'timer) | |
| 29 | (eval-and-compile | ||
| 30 | (if (featurep 'xemacs) | ||
| 31 | (unless (ignore-errors | ||
| 32 | (require 'timer-funcs)) | ||
| 33 | (require 'timer)) | ||
| 34 | (require 'timer))) | ||
| 35 | 29 | ||
| 36 | (defvar mm-mime-mule-charset-alist ) | 30 | (defvar mm-mime-mule-charset-alist ) |
| 37 | ;; Note this is not presently used on Emacs >= 23, which is good, | 31 | ;; Note this is not presently used on Emacs >= 23, which is good, |
| @@ -57,8 +51,6 @@ | |||
| 57 | (char-int . identity) | 51 | (char-int . identity) |
| 58 | ;; `coding-system-equal' is an Emacs function, not available in XEmacs. | 52 | ;; `coding-system-equal' is an Emacs function, not available in XEmacs. |
| 59 | (coding-system-equal . equal) | 53 | (coding-system-equal . equal) |
| 60 | ;; `annotationp' is an XEmacs function, not available in Emacs. | ||
| 61 | (annotationp . ignore) | ||
| 62 | ;; `set-buffer-file-coding-system' is not available in XEmacs 21.4 | 54 | ;; `set-buffer-file-coding-system' is not available in XEmacs 21.4 |
| 63 | ;; built without the `file-coding' feature. | 55 | ;; built without the `file-coding' feature. |
| 64 | (set-buffer-file-coding-system . ignore) | 56 | (set-buffer-file-coding-system . ignore) |