diff options
Diffstat (limited to 'app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch')
-rw-r--r-- | app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch new file mode 100644 index 000000000000..7b9c8d05cb07 --- /dev/null +++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch @@ -0,0 +1,135 @@ +Fix collision of function device-class in Emacs 29. +Fix some byte-compiler warnings. + +--- gnuserv-3.12.8/devices.el ++++ gnuserv-3.12.8/devices.el +@@ -32,13 +32,7 @@ + ;; determine the connection to an X display, etc. + + (require 'cl-macs) +-(eval-when-compile +- (if (string-match "XEmacs" (emacs-version)) +- (set 'byte-optimize nil))) + +-(if (string-match "XEmacs" (emacs-version)) +- nil +-'() + (defalias 'selected-device 'ignore) + (defalias 'device-or-frame-p 'framep) + (defalias 'device-console 'ignore) +@@ -219,6 +213,10 @@ + (delete-frame (car frames) force) + (setq frames (cdr frames))))) + ++;; Apparently none of the functions below are used, and device-class ++;; collides with a function of the same name in frame.el of Emacs 29. ++'( ++ + (defun device-color-cells (&optional device) + (cl-case window-system + ((x win32 w32 pm) (x-display-color-cells device)) +@@ -333,10 +331,6 @@ + "Given a TYPE, return t if it is valid." + (memq type (device-type-list))) + +-) ; This closes the conditional on whether we are in XEmacs or not ++) + + (provide 'devices) +- +-(eval-when-compile +- (if (string-match "XEmacs" (emacs-version)) +- (set 'byte-optimize t))) +--- gnuserv-3.12.8/gnuserv-compat.el ++++ gnuserv-3.12.8/gnuserv-compat.el +@@ -100,8 +100,8 @@ + ;; `delete-frame' and `filtered-frame-list' to handle some device + ;; stuff. + +-(if (string-match "XEmacs" (emacs-version)) +- nil ++;;(if (string-match "XEmacs" (emacs-version)) ++;; nil + + ;; XEmacs `make-frame' takes an optional device to create the frame + ;; on. Since `make-device' just calls 'make-frame', we don't want +@@ -143,15 +143,16 @@ + first + (predicate &optional device) + activate) +- ad-do-it)) ++ ad-do-it) ++;; ) + + + ;; Emulate XEmacs devices. A device is just a frame. For the most + ;; part we use devices.el from the Emacs-W3 distribution. In some + ;; places the implementation seems wrong, so we "fix" it! + +-(if (string-match "XEmacs" (emacs-version)) +- nil ++;;(if (string-match "XEmacs" (emacs-version)) ++;; nil + + (require 'devices) + (defalias 'device-list 'frame-list) +@@ -160,7 +161,8 @@ + (list + (if device + device +- (selected-frame))))) ++ (selected-frame)))) ++;; ) + + + +--- gnuserv-3.12.8/gnuserv.el ++++ gnuserv-3.12.8/gnuserv.el +@@ -455,13 +455,14 @@ + gnuserv-view-file-function + gnuserv-find-file-function) + path) +- (goto-line line) ++ (goto-char (point-min)) ++ (forward-line (1- line)) + ;; Don't memorize the quick and view buffers. + (unless (or quick view) + (cl-pushnew (current-buffer) (gnuclient-buffers client)) + (setq gnuserv-minor-mode t) + ;; Add the "Done" button to the menubar, only in this buffer. +- (if (and (featurep 'menubar) current-menubar) ++ (if (and (eval-when-compile (featurep 'menubar)) current-menubar) + (progn (set-buffer-menubar current-menubar) + (add-menu-button nil ["Done" gnuserv-edit])) + )) +@@ -616,12 +617,11 @@ + (when (null (gnuclient-buffers client)) + (gnuserv-kill-client client))) + ;; Get rid of the buffer. +- (save-excursion +- (set-buffer buffer) ++ (with-current-buffer buffer + (run-hooks 'gnuserv-done-hook) + (setq gnuserv-minor-mode nil) + ;; Delete the menu button. +- (if (and (featurep 'menubar) current-menubar) ++ (if (and (eval-when-compile (featurep 'menubar)) current-menubar) + (delete-menu-item '("Done"))) + (funcall (if (gnuserv-temp-file-p buffer) + gnuserv-done-temp-file-function +@@ -685,7 +685,6 @@ + ;; This serves to run the hook and reset + ;; `allow-deletion-of-last-visible-frame'. + (defun gnuserv-prepare-shutdown () +- (setq allow-deletion-of-last-visible-frame nil) + (run-hooks 'gnuserv-shutdown-hook)) + + ;; This is a user-callable function, too. +@@ -716,7 +715,6 @@ + (set-process-sentinel gnuserv-process 'gnuserv-sentinel) + (set-process-filter gnuserv-process 'gnuserv-process-filter) + (set-process-query-on-exit-flag gnuserv-process nil) +- (setq allow-deletion-of-last-visible-frame t) + (run-hooks 'gnuserv-init-hook))) + + |