From 520b041b5446b09530e4b9a23b364da223a59b7b Mon Sep 17 00:00:00 2001
From: Stefan Kangas
Date: Fri, 16 Sep 2022 12:14:33 +0200
Subject: * lisp/textmodes/page-ext.el: Improve Commentary.
---
lisp/textmodes/page-ext.el | 54 +++++++++++++++++++++++-----------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/lisp/textmodes/page-ext.el b/lisp/textmodes/page-ext.el
index 24149f9afb8..a38b8d0445b 100644
--- a/lisp/textmodes/page-ext.el
+++ b/lisp/textmodes/page-ext.el
@@ -1,7 +1,6 @@
;;; page-ext.el --- extended page handling commands -*- lexical-binding:t -*-
-;; Copyright (C) 1990-1991, 1993-1994, 2001-2022 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1990-2022 Free Software Foundation, Inc.
;; Author: Robert J. Chassell
;; (according to ack.texi)
@@ -25,20 +24,20 @@
;;; Commentary:
;; You may use these commands to handle an address list or other
-;; small data base.
+;; small database.
;;; Summary
;; The current page commands are:
-;; forward-page C-x ]
-;; backward-page C-x [
-;; narrow-to-page C-x p
-;; count-lines-page C-x l
-;; mark-page C-x C-p (change this to C-x C-p C-m)
-;; sort-pages not bound
-;; what-page not bound
+;; `forward-page' C-x ]
+;; `backward-page' C-x [
+;; `narrow-to-page' C-x p
+;; `count-lines-page' C-x l
+;; `mark-page' C-x C-p (change this to C-x C-p C-m)
+;; `sort-pages' not bound
+;; `what-page' not bound
;; The new page handling commands all use `C-x C-p' as a prefix. This
;; means that the key binding for `mark-page' must be changed.
@@ -47,15 +46,15 @@
;; New page handling commands:
-;; pages-next-page C-x C-p C-n
-;; pages-previous-page C-x C-p C-p
-;; pages-search C-x C-p C-s
-;; pages-add-new-page C-x C-p C-a
-;; pages-sort-buffer C-x C-p s
-;; pages-set-delimiter C-x C-p C-l
-;; pages-directory C-x C-p C-d
-;; pages-directory-for-addresses C-x C-p d
-;; pages-directory-goto C-c C-c
+;; `pages-next-page' C-x C-p C-n
+;; `pages-previous-page' C-x C-p C-p
+;; `pages-search' C-x C-p C-s
+;; `pages-add-new-page' C-x C-p C-a
+;; `pages-sort-buffer' C-x C-p s
+;; `pages-set-delimiter' C-x C-p C-l
+;; `pages-directory' C-x C-p C-d
+;; `pages-directory-for-addresses' C-x C-p d
+;; `pages-directory-goto' C-c C-c
;;; Using the page commands
@@ -103,8 +102,8 @@
;;
;; 2. The first line of text in each entry is the `heading line'; it
;; will appear in the pages-directory-buffer which is constructed
-;; using the `C-x C-p C-d' (pages-directory) command or the `C-x
-;; C-p d' (pages-directory-for-addresses) command.
+;; using the `C-x C-p C-d' (`pages-directory') command or the
+;; `C-x C-p d' (`pages-directory-for-addresses') command.
;;
;; The heading line may be on the same line as the page-delimiter
;; or it may follow after. It is the first non-blank line on the
@@ -163,17 +162,18 @@
;; `pages-previous-page', `pages-add-new-page', `mark-page', and `pages-search'
;; commands.
-;; You may use either the `C-x C-p d' (pages-directory-for-addresses)
-;; or the `C-x C-p C-d' (pages-directory) command to construct and
+;; You may use either the `C-x C-p d' (`pages-directory-for-addresses')
+;; or the `C-x C-p C-d' (`pages-directory') command to construct and
;; display a directory of all the heading lines.
;; In the directory, you may position the cursor over a heading line
-;; and type `C-c C-c' (pages-directory-goto) to go to the entry to
+;; and type `C-c C-c' (`pages-directory-goto') to go to the entry to
;; which it refers in the pages buffer.
-;; You can type `C-c C-p C-a' (pages-add-new-page) to add a new entry in the
-;; pages buffer or address file. This is the same command you use to
-;; add a new entry when you are in the pages buffer or address file.
+;; You can type `C-c C-p C-a' (`pages-add-new-page') to add a new
+;; entry in the pages buffer or address file. This is the same
+;; command you use to add a new entry when you are in the pages buffer
+;; or address file.
;; If you wish, you may create several different directories,
;; one for each different buffer.
--
cgit v1.2.1
From f25f9dbf301fb0265917ddc20d8435f9ad4ee684 Mon Sep 17 00:00:00 2001
From: Stefan Kangas
Date: Fri, 16 Sep 2022 12:44:08 +0200
Subject: Minor doc fixes in picture.el
* lisp/textmodes/picture.el: Improve Commentary.
(picture-forward-column, picture-backward-column)
(picture-move-down, picture-move-up, picture-movement-nw)
(picture-movement-ne, picture-movement-sw, picture-movement-se)
(picture-set-motion, picture-clear-line, picture-newline)
(picture-tab, picture-yank-rectangle)
(picture-yank-rectangle-from-register, picture-insert-rectangle)
(picture-draw-rectangle): Minor doc fixes.
---
lisp/textmodes/picture.el | 66 ++++++++++++++++++++++++++---------------------
1 file changed, 36 insertions(+), 30 deletions(-)
diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el
index 17d9483f68c..54142412553 100644
--- a/lisp/textmodes/picture.el
+++ b/lisp/textmodes/picture.el
@@ -23,9 +23,9 @@
;;; Commentary:
-;; This code provides the picture-mode commands documented in the Emacs
+;; This code provides the `picture-mode' commands documented in the Emacs
;; manual. The screen is treated as a semi-infinite quarter-plane with
-;; support for rectangle operations and `etch-a-sketch' character
+;; support for rectangle operations and "etch-a-sketch" character
;; insertion in any of eight directions.
;;; Code:
@@ -96,7 +96,7 @@ If scan reaches end of buffer, stop there without error."
(defun picture-forward-column (arg &optional interactive)
"Move cursor right, making whitespace if necessary.
-With argument, move that many columns."
+With prefix argument ARG, move that many columns."
(interactive "^p\nd")
(let (deactivate-mark)
(picture-update-desired-column interactive)
@@ -110,14 +110,14 @@ With argument, move that many columns."
(defun picture-backward-column (arg &optional interactive)
"Move cursor left, making whitespace if necessary.
-With argument, move that many columns."
+With prefix argument ARG, move that many columns."
(interactive "^p\nd")
(picture-update-desired-column interactive)
(picture-forward-column (- arg)))
(defun picture-move-down (arg)
"Move vertically down, making whitespace if necessary.
-With argument, move that many lines."
+With prefix argument ARG, move that many lines."
(interactive "^p")
(let (deactivate-mark)
(picture-update-desired-column nil)
@@ -134,7 +134,7 @@ With argument, move that many lines."
(defun picture-move-up (arg)
"Move vertically up, making whitespace if necessary.
-With argument, move that many lines."
+With prefix argument ARG, move that many lines."
(interactive "^p")
(picture-update-desired-column nil)
(picture-move-down (- arg)))
@@ -161,36 +161,36 @@ With argument, move that many lines."
(defun picture-movement-nw (&optional arg)
"Move up and left after self-inserting character in Picture mode.
-With prefix argument, move up and two-column left."
+With prefix argument ARG, move up and two-column left."
(interactive "P")
(picture-set-motion -1 (if arg -2 -1)))
(defun picture-movement-ne (&optional arg)
"Move up and right after self-inserting character in Picture mode.
-With prefix argument, move up and two-column right."
+With prefix argument ARG, move up and two-column right."
(interactive "P")
(picture-set-motion -1 (if arg 2 1)))
(defun picture-movement-sw (&optional arg)
"Move down and left after self-inserting character in Picture mode.
-With prefix argument, move down and two-column left."
+With prefix argument ARG, move down and two-column left."
(interactive "P")
(picture-set-motion 1 (if arg -2 -1)))
(defun picture-movement-se (&optional arg)
"Move down and right after self-inserting character in Picture mode.
-With prefix argument, move down and two-column right."
+With prefix argument ARG, move down and two-column right."
(interactive "P")
(picture-set-motion 1 (if arg 2 1)))
-(defun picture-set-motion (vert horiz)
+(defun picture-set-motion (vertical horizontal)
"Set VERTICAL and HORIZONTAL increments for movement in Picture mode.
The mode line is updated to reflect the current direction."
- (setq picture-vertical-step vert
- picture-horizontal-step horiz)
+ (setq picture-vertical-step vertical
+ picture-horizontal-step horizontal)
(setq mode-name
(format "Picture:%s"
- (nth (+ 2 (% horiz 3) (* 5 (1+ (% vert 2))))
+ (nth (+ 2 (% horizontal 3) (* 5 (1+ (% vertical 2))))
'(wnw nw up ne ene Left left none right Right
wsw sw down se ese))))
(force-mode-line-update)
@@ -305,9 +305,9 @@ Use \"\\[command-apropos] picture-movement\" to see those commands."
(defun picture-clear-line (arg)
"Clear out rest of line; if at end of line, advance to next line.
-Cleared-out line text goes into the kill ring, as do newlines that are
-advanced over. With argument, clear out (and save in kill ring) that
-many lines."
+Cleared-out line text goes into the kill ring, as do newlines
+that are advanced over. With prefix argument ARG, clear out (and
+save in kill ring) that many lines."
(interactive "P")
(if arg
(progn
@@ -320,7 +320,8 @@ many lines."
(defun picture-newline (arg)
"Move to the beginning of the following line.
-With argument, moves that many lines (up, if negative argument);
+With prefix argument ARG, move that many lines (up, if negative
+argument);
always moves to the beginning of a line."
(interactive "^p")
(let ((start (point))
@@ -466,8 +467,11 @@ If no such character is found, move to beginning of line."
(defun picture-tab (&optional arg)
"Tab transparently (just move point) to next tab stop.
-With prefix arg, overwrite the traversed text with spaces. The tab stop
-list can be changed by \\[picture-set-tab-stops] and \\[edit-tab-stops].
+With prefix argument ARG, overwrite the traversed text with
+spaces. The tab stop list can be changed by \
+\\\\[picture-set-tab-stops] and
+\\[edit-tab-stops].
+
See also documentation for variable `picture-tab-chars'."
(interactive "^P")
(let* ((opoint (point)))
@@ -515,10 +519,11 @@ Interactively, reads the register using `register-read-with-preview'."
(defun picture-yank-rectangle (&optional insertp)
"Overlay rectangle saved by \\[picture-clear-rectangle].
-The rectangle is positioned with upper left corner at point, overwriting
-existing text. With prefix argument, the rectangle is inserted instead,
-shifting existing text. Leaves mark at one corner of rectangle and
-point at the other (diagonally opposed) corner."
+The rectangle is positioned with upper left corner at point,
+overwriting existing text. With prefix argument INSERTP, the
+rectangle is inserted instead, shifting existing text. Leave
+mark at one corner of rectangle and point at the
+other (diagonally opposed) corner."
(interactive "P")
(if (not (consp picture-killed-rectangle))
(error "No rectangle saved")
@@ -536,10 +541,11 @@ regardless of where you click."
(defun picture-yank-rectangle-from-register (register &optional insertp)
"Overlay rectangle saved in REGISTER.
-The rectangle is positioned with upper left corner at point, overwriting
-existing text. With prefix argument, the rectangle is
-inserted instead, shifting existing text. Leaves mark at one corner
-of rectangle and point at the other (diagonally opposed) corner.
+The rectangle is positioned with upper left corner at point,
+overwriting existing text. With prefix argument INSERTP, the
+rectangle is inserted instead, shifting existing text. Leave
+mark at one corner of rectangle and point at the
+other (diagonally opposed) corner.
Interactively, reads the register using `register-read-with-preview'."
(interactive (list (register-read-with-preview "Rectangle from register: ")
@@ -552,7 +558,7 @@ Interactively, reads the register using `register-read-with-preview'."
(defun picture-insert-rectangle (rectangle &optional insertp)
"Overlay RECTANGLE with upper left corner at point.
Optional argument INSERTP, if non-nil causes RECTANGLE to be inserted.
-Leaves the region surrounding the rectangle."
+Leave the region surrounding the rectangle."
(let ((indent-tabs-mode nil))
(if (not insertp)
(save-excursion
@@ -570,7 +576,7 @@ Leaves the region surrounding the rectangle."
(if (= (current-column) 0) 1 0)))
(defun picture-draw-rectangle (start end)
- "Draw a rectangle around region."
+ "Draw a rectangle around region from START to END."
(interactive "*r") ; start will be less than end
(let* ((sl (picture-current-line))
(sc (current-column))
--
cgit v1.2.1
From 19de241a7dc193c0d0423019824627adb28f8944 Mon Sep 17 00:00:00 2001
From: Stefan Kangas
Date: Fri, 16 Sep 2022 13:59:51 +0200
Subject: Recommend NonGNU ELPA over MELPA
* doc/misc/org.org (Using CDLaTeX to enter math, Footnotes): Recommend
NonGNU ELPA over MELPA.
---
doc/misc/org.org | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/misc/org.org b/doc/misc/org.org
index 9f69c684318..16cddbc3c9f 100644
--- a/doc/misc/org.org
+++ b/doc/misc/org.org
@@ -11042,7 +11042,7 @@ a major LaTeX mode like AUCTeX in order to speed-up insertion of
environments and math templates. Inside Org mode, you can make use of
some of the features of CDLaTeX mode. You need to install
=cdlatex.el= and =texmathp.el= (the latter comes also with AUCTeX)
-using [[https://melpa.org/][MELPA]] with the [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Installation.html][Emacs packaging system]] or alternatively from
+from [[https://elpa.nongnu.org/][NonGNU ELPA]] with the [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Installation.html][Emacs packaging system]] or alternatively from
[[https://staff.fnwi.uva.nl/c.dominik/Tools/cdlatex/]]. Do not use
CDLaTeX mode itself under Org mode, but use the special version Org
CDLaTeX minor mode that comes as part of Org. Turn it on for the
@@ -22024,7 +22024,7 @@ a deadline string. See ~org-agenda-entry-types~ on how to set what
planning information is taken into account.
[fn:104] For HTML you need to install Hrvoje Nikšić's =htmlize.el=
-as an Emacs package from MELPA or from [[https://github.com/hniksic/emacs-htmlize][Hrvoje Nikšić's repository]].
+as an Emacs package from [[https://elpa.nongnu.org/][NonGNU ELPA]] or from [[https://github.com/hniksic/emacs-htmlize][Hrvoje Nikšić's repository]].
[fn:105] To create PDF output, the Ghostscript ps2pdf utility must be
installed on the system. Selecting a PDF file also creates the
--
cgit v1.2.1
From 70ca5f652409ce7a85d1ddbcc16036b4266ec053 Mon Sep 17 00:00:00 2001
From: Stefan Kangas
Date: Fri, 16 Sep 2022 15:03:19 +0200
Subject: ; * etc/NEWS: Fix typos.
---
etc/NEWS | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index 4030589decf..15854be8fd2 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -386,7 +386,7 @@ the current buffer and the text "GNU Emacs" instead of the value of
your init file:
(setq frame-title-format '(multiple-frames "%b"
- ("" invocation-name "@" system-name)))
+ ("" invocation-name "@" system-name)))
*** New frame parameter 'drag-with-tab-line'.
This parameter, similar to 'drag-with-header-line', allows moving frames
@@ -3951,7 +3951,6 @@ and enable the MS-Windows native Input Method Editor (IME) at run
time. A companion function 'w32-get-ime-open-status' returns the
current IME activation status.
---
** On macOS, 's-' and 's-' are now bound to
'move-beginning-of-line' and 'move-end-of-line' respectively. The commands
to select previous/next frame are still bound to 's-~' and 's-`'.
--
cgit v1.2.1
From 397890ba77465f71c4ccd38314f30907b78193b8 Mon Sep 17 00:00:00 2001
From: Stefan Kangas
Date: Fri, 16 Sep 2022 15:16:43 +0200
Subject: Delete "etc/NEWS*.html" from .gitignore
We actually do want to see it when preparing a release, so that we
don't include it in a tarball by mistake.
* .gitignore: Don't ignore "etc/NEWS*.html".
---
.gitignore | 1 -
1 file changed, 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index e48e3594269..2254b8a9c8e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -263,7 +263,6 @@ doc/misc/cc-mode.ss
doc/misc/modus-themes.texi
doc/misc/org.texi
etc/DOC
-etc/NEWS*.html
etc/refcards/emacsver.tex
gnustmp*
/info/
--
cgit v1.2.1
From f232d989fd90dc35b647da9db152d70b421f35a9 Mon Sep 17 00:00:00 2001
From: Stefan Kangas
Date: Fri, 16 Sep 2022 14:17:14 +0200
Subject: Improve HTML export of NEWS file
* admin/admin.el (admin--org-export-headers-format)
(admin--org-html-postamble): New variables.
(admin--require-external-package): New function.
(make-news-html-file): Improve HTML export.
---
admin/admin.el | 211 +++++++++++++++++++++++++++++++++++----------------------
1 file changed, 130 insertions(+), 81 deletions(-)
diff --git a/admin/admin.el b/admin/admin.el
index 12e6fcb7f8c..60b043a3516 100644
--- a/admin/admin.el
+++ b/admin/admin.el
@@ -770,69 +770,13 @@ Optional argument TYPE is type of output (nil means all)."
(if (member type (list nil m))
(make-manuals-dist--1 root m))))
-(defun make-news-html-file (root version)
- "Convert the NEWS file into an HTML file."
- (interactive (let ((root
- (if noninteractive
- (or (pop command-line-args-left)
- default-directory)
- (read-directory-name "Emacs root directory: "
- source-directory nil t))))
- (list root
- (read-string "Version number: " emacs-version))))
- (unless (file-exists-p (expand-file-name "src/emacs.c" root))
- (user-error "%s doesn't seem to be the root of an Emacs source tree" root))
- (let* ((dir (make-temp-file "emacs-news-file" t))
- (orig (expand-file-name "etc/NEWS" root))
- (new (expand-file-name (format "NEWS.%s.org" version) dir))
- (html-file (format "%s.html" (file-name-base new)))
- (copyright-years (format-time-string "%Y")))
- (unwind-protect
- (progn
- (copy-file orig new)
- (find-file new)
-
- ;; Find the copyright range:
- (goto-char (point-min))
- (re-search-forward "^Copyright (C) \\([0-9-]+\\) Free Software Foundation, Inc.")
- (setq copyright-years (match-string 1))
-
- ;; Get rid of some unnecessary stuff:
- (replace-regexp-in-region "^---$" "" (point-min) (point-max))
- (replace-regexp-in-region "^\\+\\+\\+$" "" (point-min) (point-max))
- (dolist (str '("\n"
- "GNU Emacs NEWS -- history of user-visible changes."
- "Temporary note:"
- "+++ indicates that all relevant manuals in doc/ have been updated."
- "--- means no change in the manuals is needed."
- "When you add a new item, use the appropriate mark if you are sure it"
- "applies, and please also update docstrings as needed."
- "You can narrow news to a specific version by calling 'view-emacs-news'"
- "with a prefix argument or by typing 'C-u C-h C-n'."))
- (replace-string-in-region str "" (point-min) (point-max)))
-
- ;; Use Org-mode markers for .
- (replace-regexp-in-region
- ;; This could probably be improved quite a bit...
- (rx "'" (group (+ (not (any "'\n")))) "'")
- "~\\1~" (point-min) (point-max))
-
- ;; Format Emacs Lisp.
- (while (re-search-forward "^ " nil t)
- (backward-paragraph)
- (insert "\n#+begin_src emacs-lisp")
- (forward-paragraph)
- (insert "#+end_src\n"))
-
- ;; Insert Org-mode export headers.
- (goto-char (point-min))
- (insert (format
- "\
+(defvar admin--org-export-headers-format "\
#+title: GNU Emacs %s NEWS -- history of user-visible changes
#+author:
-#+options: author:nil creator:nil toc:1 num:2 *:nil \\n:nil
+#+options: author:nil creator:nil toc:1 num:2 *:nil \\n:t ^:nil tex:nil
#+language: en
-#+HTML_LINK_HOME: https://www.gnu.org/software/emacs
+#+HTML_LINK_HOME: /software/emacs
+#+HTML_LINK_UP: /software/emacs
#+html_head_extra:
#+html_head_extra:
#+html_head_extra:
@@ -844,12 +788,9 @@ Optional argument TYPE is type of output (nil means all)."
of a GNU] \" width=\"129\" height=\"122\"/>
-#+END_EXPORT\n\n"
- version))
- (org-mode)
- (let ((org-html-postamble
- (format
- "
+#+END_EXPORT\n\n")
+
+(defvar admin--org-html-postamble "