From: Stefan Kangas Date: Sat, 6 Aug 2022 18:11:57 +0000 (+0200) Subject: Make makesum.el obsolete X-Git-Tag: emacs-29.0.90~1447^2~309 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=425a5bfc9a8a366743bdae88e05268a76f840fa8;p=emacs.git Make makesum.el obsolete * lisp/makesum.el: Move from here... * lisp/obsolete/makesum.el: ...to here. (Bug#56979) * test/lisp/makesum-tests.el: Move from here... * test/lisp/obsolete/makesum-tests.el: ...to here. --- diff --git a/lisp/makesum.el b/lisp/makesum.el deleted file mode 100644 index 4272ce23f8d..00000000000 --- a/lisp/makesum.el +++ /dev/null @@ -1,106 +0,0 @@ -;;; makesum.el --- generate key binding summary for Emacs -*- lexical-binding:t -*- - -;; Copyright (C) 1985, 2001-2022 Free Software Foundation, Inc. - -;; Maintainer: emacs-devel@gnu.org -;; Keywords: help - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . - -;;; Commentary: - -;; Displays a nice human-readable summary of all keybindings in a -;; two-column format. - -;;; Code: - -;;;###autoload -(defun make-command-summary () - "Make a summary of current key bindings in the buffer *Summary*. -Previous contents of that buffer are killed first." - (interactive) - ;; This puts a description of bindings in a buffer called *Help*. - (save-window-excursion - (describe-bindings)) - (with-output-to-temp-buffer "*Summary*" - (save-excursion - (let ((cur-mode mode-name)) - (set-buffer standard-output) - (erase-buffer) - (insert-buffer-substring "*Help*") - (goto-char (point-min)) - (delete-region (point) (progn (forward-line 1) (point))) - (while (search-forward " " nil t) - (replace-match " ")) - (goto-char (point-min)) - (while (search-forward "-@ " nil t) - (replace-match "-SP")) - (goto-char (point-min)) - (while (search-forward " .. ~ " nil t) - (replace-match "SP .. ~")) - (goto-char (point-min)) - (while (search-forward "C-?" nil t) - (replace-match "DEL")) - (goto-char (point-min)) - (while (search-forward "C-i" nil t) - (replace-match "TAB")) - (goto-char (point-min)) - (when (re-search-forward "^Local Bindings:" nil t) - (forward-char -1) - (insert " for " (format-mode-line cur-mode) " Mode") - (while (search-forward "??\n" nil t) - (delete-region (point) - (progn - (forward-line -1) - (point))))) - (goto-char (point-min)) - (insert "Emacs command summary\n") - ;; Delete "key binding" and underlining of dashes. - (delete-region (point) (progn (forward-line 2) (point))) - (forward-line 1) ;Skip blank line - (while (not (eobp)) - (let ((beg (point))) - (or (re-search-forward "^$" nil t) - (goto-char (point-max))) - (double-column beg (point)) - (forward-line 1))) - (goto-char (point-min)))))) - -(defun double-column (start end) - "Reformat buffer contents from START to END into two columns." - (interactive "r") - (let (half lines - (nlines (count-lines start end)) - (from-end (- (point-max) end))) - (when (> nlines 1) - (setq half (/ (1+ nlines) 2)) - (goto-char start) - (save-excursion - (forward-line half) - (dotimes (_ (- nlines half)) - (push (buffer-substring (point) (line-end-position)) - lines) - (delete-region (point) (progn (forward-line 1) (point))))) - (dolist (line (nreverse lines)) - (end-of-line) - (indent-to 41) - (insert line) - (forward-line 1))) - (goto-char (- (point-max) from-end)))) - -(provide 'makesum) - -;;; makesum.el ends here diff --git a/lisp/obsolete/makesum.el b/lisp/obsolete/makesum.el new file mode 100644 index 00000000000..4272ce23f8d --- /dev/null +++ b/lisp/obsolete/makesum.el @@ -0,0 +1,106 @@ +;;; makesum.el --- generate key binding summary for Emacs -*- lexical-binding:t -*- + +;; Copyright (C) 1985, 2001-2022 Free Software Foundation, Inc. + +;; Maintainer: emacs-devel@gnu.org +;; Keywords: help + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; Displays a nice human-readable summary of all keybindings in a +;; two-column format. + +;;; Code: + +;;;###autoload +(defun make-command-summary () + "Make a summary of current key bindings in the buffer *Summary*. +Previous contents of that buffer are killed first." + (interactive) + ;; This puts a description of bindings in a buffer called *Help*. + (save-window-excursion + (describe-bindings)) + (with-output-to-temp-buffer "*Summary*" + (save-excursion + (let ((cur-mode mode-name)) + (set-buffer standard-output) + (erase-buffer) + (insert-buffer-substring "*Help*") + (goto-char (point-min)) + (delete-region (point) (progn (forward-line 1) (point))) + (while (search-forward " " nil t) + (replace-match " ")) + (goto-char (point-min)) + (while (search-forward "-@ " nil t) + (replace-match "-SP")) + (goto-char (point-min)) + (while (search-forward " .. ~ " nil t) + (replace-match "SP .. ~")) + (goto-char (point-min)) + (while (search-forward "C-?" nil t) + (replace-match "DEL")) + (goto-char (point-min)) + (while (search-forward "C-i" nil t) + (replace-match "TAB")) + (goto-char (point-min)) + (when (re-search-forward "^Local Bindings:" nil t) + (forward-char -1) + (insert " for " (format-mode-line cur-mode) " Mode") + (while (search-forward "??\n" nil t) + (delete-region (point) + (progn + (forward-line -1) + (point))))) + (goto-char (point-min)) + (insert "Emacs command summary\n") + ;; Delete "key binding" and underlining of dashes. + (delete-region (point) (progn (forward-line 2) (point))) + (forward-line 1) ;Skip blank line + (while (not (eobp)) + (let ((beg (point))) + (or (re-search-forward "^$" nil t) + (goto-char (point-max))) + (double-column beg (point)) + (forward-line 1))) + (goto-char (point-min)))))) + +(defun double-column (start end) + "Reformat buffer contents from START to END into two columns." + (interactive "r") + (let (half lines + (nlines (count-lines start end)) + (from-end (- (point-max) end))) + (when (> nlines 1) + (setq half (/ (1+ nlines) 2)) + (goto-char start) + (save-excursion + (forward-line half) + (dotimes (_ (- nlines half)) + (push (buffer-substring (point) (line-end-position)) + lines) + (delete-region (point) (progn (forward-line 1) (point))))) + (dolist (line (nreverse lines)) + (end-of-line) + (indent-to 41) + (insert line) + (forward-line 1))) + (goto-char (- (point-max) from-end)))) + +(provide 'makesum) + +;;; makesum.el ends here diff --git a/test/lisp/makesum-tests.el b/test/lisp/makesum-tests.el deleted file mode 100644 index e5317be847b..00000000000 --- a/test/lisp/makesum-tests.el +++ /dev/null @@ -1,58 +0,0 @@ -;;; makesum-tests.el --- Tests for makesum.el -*- lexical-binding: t; -*- - -;; Copyright (C) 2019-2022 Free Software Foundation, Inc. - -;; Author: Simen Heggestøyl -;; Keywords: - -;; This file is part of GNU Emacs. - -;; GNU Emacs is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; GNU Emacs is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs. If not, see . - -;;; Commentary: - -;; - -;;; Code: - -(require 'ert) -(require 'makesum) - -(ert-deftest makesum-tests-double-column-even-lines () - (with-temp-buffer - (insert "a\nb\nc\nd\ne\nf") - (double-column (point-min) (point-max)) - (should (string-match-p "a[ \t]+d\nb[ \t]+e\nc[ \t]+f" (buffer-string))))) - -(ert-deftest makesum-tests-double-column-odd-lines () - (with-temp-buffer - (insert "a\nb\nc\nd\ne") - (double-column (point-min) (point-max)) - (should (string-match-p "a[ \t]+d\nb[ \t]+e\nc" (buffer-string))))) - -(ert-deftest makesum-tests-double-column-noop () - (with-temp-buffer - (insert "foo") - (let ((prev-buffer-string (buffer-string))) - (double-column (point-min) (point-max)) - (should (equal prev-buffer-string (buffer-string)))))) - -(ert-deftest makesum-tests-double-column-partial () - (with-temp-buffer - (insert "a\nb\nc\nd\ne\nf") - (double-column 3 10) - (should (string-match-p "a\nb[ \t]+d\nc[ \t]+e\nf" (buffer-string))))) - -(provide 'makesum-tests) -;;; makesum-tests.el ends here diff --git a/test/lisp/obsolete/makesum-tests.el b/test/lisp/obsolete/makesum-tests.el new file mode 100644 index 00000000000..e5317be847b --- /dev/null +++ b/test/lisp/obsolete/makesum-tests.el @@ -0,0 +1,58 @@ +;;; makesum-tests.el --- Tests for makesum.el -*- lexical-binding: t; -*- + +;; Copyright (C) 2019-2022 Free Software Foundation, Inc. + +;; Author: Simen Heggestøyl +;; Keywords: + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; + +;;; Code: + +(require 'ert) +(require 'makesum) + +(ert-deftest makesum-tests-double-column-even-lines () + (with-temp-buffer + (insert "a\nb\nc\nd\ne\nf") + (double-column (point-min) (point-max)) + (should (string-match-p "a[ \t]+d\nb[ \t]+e\nc[ \t]+f" (buffer-string))))) + +(ert-deftest makesum-tests-double-column-odd-lines () + (with-temp-buffer + (insert "a\nb\nc\nd\ne") + (double-column (point-min) (point-max)) + (should (string-match-p "a[ \t]+d\nb[ \t]+e\nc" (buffer-string))))) + +(ert-deftest makesum-tests-double-column-noop () + (with-temp-buffer + (insert "foo") + (let ((prev-buffer-string (buffer-string))) + (double-column (point-min) (point-max)) + (should (equal prev-buffer-string (buffer-string)))))) + +(ert-deftest makesum-tests-double-column-partial () + (with-temp-buffer + (insert "a\nb\nc\nd\ne\nf") + (double-column 3 10) + (should (string-match-p "a\nb[ \t]+d\nc[ \t]+e\nf" (buffer-string))))) + +(provide 'makesum-tests) +;;; makesum-tests.el ends here