commit 99704a7b41f9c3c6c2215cf5c47bc161df05cfa4 (HEAD, refs/remotes/origin/master) Author: Visuwesh Date: Sun Jul 28 10:27:33 2024 +0530 Add new optional argument NO-HIGHLIGHT to query-replace-read-args * lisp/replace.el (query-replace-read-args): Add new optional argument to disable regexp highlighting. * lisp/dired-aux.el (dired-do-query-replace-regexp) (dired-do-replace-regexp-as-diff) (dired-do-find-regexp-and-replace): Revert last change, and use the new argument instead. (bug#72147) diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index decd9702eaf..cd948bd7dd9 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -3801,10 +3801,9 @@ Third arg DELIMITED (prefix arg) means replace only word-delimited matches. If you exit the query-replace loop (\\[keyboard-quit], RET or q), you can resume the query replace with the command \\[fileloop-continue]." (interactive - (let* ((query-replace-lazy-highlight) - (common - (query-replace-read-args - "Query replace regexp in marked files" t t))) + (let ((common + (query-replace-read-args + "Query replace regexp in marked files" t t t))) (list (nth 0 common) (nth 1 common) (nth 2 common))) dired-mode) (dolist (file (dired-get-marked-files nil nil #'dired-nondirectory-p nil t)) @@ -3826,10 +3825,9 @@ Third arg DELIMITED (prefix arg) means replace only word-delimited matches. The replacements are displayed in the buffer *replace-diff* that you can later apply as a patch after reviewing the changes." (interactive - (let* ((query-replace-lazy-highlight) - (common - (query-replace-read-args - "Replace regexp as diff in marked files" t t))) + (let ((common + (query-replace-read-args + "Replace regexp as diff in marked files" t t t))) (list (nth 0 common) (nth 1 common) (nth 2 common)))) (dired-post-do-command) (multi-file-replace-regexp-as-diff @@ -3903,10 +3901,9 @@ REGEXP should use constructs supported by your local `grep' command. Also see `query-replace' for user options that affect how this function works." (interactive - (let* ((query-replace-lazy-highlight) - (common + (let ((common (query-replace-read-args - "Query replace regexp in marked files" t t))) + "Query replace regexp in marked files" t t t))) (list (nth 0 common) (nth 1 common))) dired-mode) (require 'xref) diff --git a/lisp/replace.el b/lisp/replace.el index 01a892bbba7..2285b19b519 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -352,7 +352,7 @@ should a regexp." to)) regexp-flag)) -(defun query-replace-read-args (prompt regexp-flag &optional noerror) +(defun query-replace-read-args (prompt regexp-flag &optional noerror no-highlight) (unless noerror (barf-if-buffer-read-only)) (save-mark-and-excursion @@ -364,7 +364,7 @@ should a regexp." :filter (when (use-region-p) (replace--region-filter (funcall region-extract-function 'bounds))) - :highlight query-replace-lazy-highlight + :highlight (and query-replace-lazy-highlight (not no-highlight)) :regexp regexp-flag :regexp-function (or replace-regexp-function delimited-flag commit 0b565d97064a6979f0102f4133537af7e633dc2d Author: Juri Linkov Date: Sun Jul 28 09:44:44 2024 +0300 * lisp/language/misc-lang.el ("Tifinagh"): Fix `language-info-alist'. diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el index c285082c04a..74711f876ee 100644 --- a/lisp/language/misc-lang.el +++ b/lisp/language/misc-lang.el @@ -372,9 +372,9 @@ language environment.")) '((charset unicode) (coding-system utf-8) (coding-priority utf-8) - (input-method "tifinagh") + (input-method . "tifinagh") (sample-text . "Tifinagh ⴰⵣⵓⵍ") - (documentation "Tifinagh a script used to write the Berber languages.")) + (documentation . "Tifinagh a script used to write the Berber languages.")) '("Misc")) (provide 'misc-lang) commit 50339b38fdef31982744bdb8b51838012dd4ef47 Author: Jim Porter Date: Fri Jul 19 18:02:16 2024 -0700 Use 'unwind-protect' to ensure that Eshell always closes I/O handles See bug#72220. * lisp/eshell/esh-cmd.el (eshell-with-handles): New macro... (eshell-commands): ... use it. (eshell-with-copied-handles): Remove STEAL-P and allow multiple body forms (this is an incompatible change, but the macro is currently internal despite the name). (eshell-parse-command, eshell-do-pipelines) (eshell-do-pipelines-synchronously, eshell--invoke-command-directly-p): Remove handle stealing. (eshell-structure-basic-command, eshell-do-command) (eshell-lisp-command): Remove 'eshell-close-handles'. (eshell-protect): Make obsolete. (eshell-rewrite-for-command, eshell-rewrite-while-command) (eshell-rewrite-if-command, (eshell-parse-pipeline): Remove 'eshell-protect'. * lisp/eshell/esh-io.el (eshell-duplicate-handles): Make STEAL-P obsolete. * lisp/eshell/esh-proc.el (eshell-gather-process-output): Call 'eshell-protect-handles' one more time. Remove 'eshell-close-handles'. * lisp/eshell/esh-var.el (eshell-parse-variable-ref): Reimplement $ form using 'eshell-with-handles'. * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/command-not-found/pipeline): New test. * test/lisp/eshell/em-tramp-tests.el (em-tramp-test/should-replace-command): Adjust check for 'eshell-with-copied-handles'. diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index 43d536ac463..0a68859fc0a 100644 --- a/lisp/eshell/esh-cmd.el +++ b/lisp/eshell/esh-cmd.el @@ -415,7 +415,6 @@ command hooks should be run before and after the command." ;; The last command (first in our reversed list) is implicitly ;; terminated by ";". (sep-terms (cons ";" sep-terms)) - (steal-handles t) (commands (nreverse (mapcan @@ -428,11 +427,8 @@ command hooks should be run before and after the command." (unless eshell-in-pipeline-p (setq cmd `(eshell-do-command ,cmd))) ;; Copy I/O handles so each full statement can manipulate - ;; them if they like. Steal the handles for the last - ;; command (first in our reversed list); we won't use the - ;; originals again anyway. - (setq cmd `(eshell-with-copied-handles ,cmd ,steal-handles) - steal-handles nil) + ;; them if they like. + (setq cmd `(eshell-with-copied-handles ,cmd)) (when (equal sep "&") (setq cmd `(eshell-do-subjob ,cmd))) (list cmd)))) @@ -547,10 +543,8 @@ implemented via rewriting, rather than as a function." (let ((,(intern (cadr terms)) (car ,for-items)) (eshell--local-vars (cons ',(intern (cadr terms)) eshell--local-vars))) - (eshell-protect - ,(eshell-invokify-arg body t))) - (setq ,for-items (cdr ,for-items))) - (eshell-close-handles))))) + ,(eshell-invokify-arg body t)) + (setq ,for-items (cdr ,for-items))))))) (defun eshell-structure-basic-command (func names keyword test body &optional else) @@ -577,11 +571,8 @@ function." (string= keyword (cadr names)))) (setq test `(not ,test))) - ;; finally, create the form that represents this structured - ;; command - `(progn - (,func ,test ,body ,else) - (eshell-close-handles))) + ;; Finally, create the form that represents this structured command. + `(,func ,test ,body ,else)) (defun eshell-rewrite-while-command (terms) "Rewrite a `while' command into its equivalent Eshell command form. @@ -593,8 +584,7 @@ must be implemented via rewriting, rather than as a function." (eshell-structure-basic-command 'while '("while" "until") (car terms) (eshell-invokify-arg (cadr terms) nil t) - `(eshell-protect - ,(eshell-invokify-arg (car (last terms)) t))))) + (eshell-invokify-arg (car (last terms)) t)))) (defun eshell-rewrite-if-command (terms) "Rewrite an `if' command into its equivalent Eshell command form. @@ -606,12 +596,9 @@ must be implemented via rewriting, rather than as a function." (eshell-structure-basic-command 'if '("if" "unless") (car terms) (eshell-invokify-arg (cadr terms) nil t) - `(eshell-protect - ,(eshell-invokify-arg (car (last terms (if (= (length terms) 4) 2))) - t)) - (if (= (length terms) 4) - `(eshell-protect - ,(eshell-invokify-arg (car (last terms)) t)))))) + (eshell-invokify-arg (car (last terms (if (= (length terms) 4) 2))) t) + (when (= (length terms) 4) + (eshell-invokify-arg (car (last terms)) t))))) (defun eshell-set-exit-info (status &optional result) "Set the exit status and result for the last command. @@ -662,8 +649,7 @@ This means an exit code of 0." (cl-assert (car sep-terms)) (setq final (eshell-structure-basic-command 'if (string= (pop sep-terms) "&&") "if" - `(eshell-protect ,(pop results)) - `(eshell-protect ,final)))) + (pop results) final))) final)) (defun eshell-parse-subcommand-argument () @@ -762,6 +748,28 @@ if none)." ;; that `eshell-do-eval' will evaluated, such as command rewriting ;; hooks (see `eshell-rewrite-command-hook' and friends). +(defmacro eshell-with-handles (handle-args &rest body) + "Create a new set of I/O handles and evaluate BODY. +HANDLE-ARGS is a list of arguments to pass to `eshell-create-handles'. +After evaluating BODY, automatically release the handles, allowing them +to close." + (declare (indent 1)) + `(let ((eshell-current-handles (eshell-create-handles ,@handle-args))) + (unwind-protect + ,(if (length= body 1) (car body) `(progn ,@body)) + (eshell-close-handles)))) + +(defmacro eshell-with-copied-handles (&rest body) + "Copy the current I/O handles and evaluate BODY. +After evaluating BODY, automatically release the handles, allowing them +to close." + (declare (indent 0)) + `(let ((eshell-current-handles + (eshell-duplicate-handles eshell-current-handles))) + (unwind-protect + ,(if (length= body 1) (car body) `(progn ,@body)) + (eshell-close-handles)))) + (defmacro eshell-do-subjob (object) "Evaluate a command OBJECT as a subjob. We indicate that the process was run in the background by @@ -774,10 +782,9 @@ returning it as (:eshell-background . PROCESSES)." (defmacro eshell-commands (object &optional silent) "Place a valid set of handles, and context, around command OBJECT." - `(let ((eshell-current-handles - (eshell-create-handles ,(not silent) 'append)) - eshell-current-subjob-p) - ,object)) + `(let (eshell-current-subjob-p) + (eshell-with-handles (,(not silent) 'append) + ,object))) (defvar eshell-this-command-hook nil) @@ -796,8 +803,7 @@ this grossness will be made to disappear by using `call/cc'..." (mapc #'funcall eshell-this-command-hook))) (error (eshell-errorn (error-message-string err)) - (eshell-set-exit-info 1) - (eshell-close-handles)))) + (eshell-set-exit-info 1)))) (define-obsolete-function-alias 'eshell-trap-errors #'eshell-do-command "31.1") @@ -806,19 +812,12 @@ this grossness will be made to disappear by using `call/cc'..." If the wrapped form returns a process (or list thereof), Eshell will wait for completion in the background for the process(es) to complete.") -(defmacro eshell-with-copied-handles (object &optional steal-p) - "Duplicate current I/O handles, so OBJECT works with its own copy. -If STEAL-P is non-nil, these new handles will be stolen from the -current ones (see `eshell-duplicate-handles')." - `(let ((eshell-current-handles - (eshell-duplicate-handles eshell-current-handles ,steal-p))) - ,object)) - (define-obsolete-function-alias 'eshell-copy-handles #'eshell-with-copied-handles "30.1") (defmacro eshell-protect (object) "Protect I/O handles, so they aren't get closed after eval'ing OBJECT." + (declare (obsolete nil "31.1")) `(progn (eshell-protect-handles eshell-current-handles) ,object)) @@ -845,9 +844,7 @@ This macro calls itself recursively, with NOTFIRST non-nil." `(eshell-set-output-handle ,eshell-output-handle 'append (car next-procs))) (let ((proc ,(car pipeline))) - (cons proc next-procs))) - ;; Steal handles if this is the last item in the pipeline. - ,(null (cdr pipeline))))) + (cons proc next-procs)))))) (defmacro eshell-do-pipelines-synchronously (pipeline) "Execute the commands in PIPELINE in sequence synchronously. @@ -869,9 +866,7 @@ supported." ;; meaning for synchronous processes: it's non-nil ;; only when piping *to* a process. (eshell-in-pipeline-p ,(and (cdr pipeline) t))) - ,(car pipeline))) - ;; Steal handles if this is the last item in the pipeline. - ,(null (cdr pipeline))) + ,(car pipeline)))) ,(when (cdr pipeline) `(eshell-do-pipelines-synchronously (quote ,(cdr pipeline))))))) @@ -946,7 +941,7 @@ A command can be invoked directly if all of the following are true: * The command is of the form (eshell-with-copied-handles - (eshell-do-command (eshell-named-command NAME [ARGS])) _). + (eshell-do-command (eshell-named-command NAME [ARGS]))). * NAME is a string referring to an alias function and isn't a complex command (see `eshell-complex-commands'). @@ -954,8 +949,7 @@ A command can be invoked directly if all of the following are true: * Any subcommands in ARGS can also be invoked directly." (pcase command (`(eshell-with-copied-handles - (eshell-do-command (eshell-named-command ,name . ,args)) - ,_) + (eshell-do-command (eshell-named-command ,name . ,args))) (and name (stringp name) (not (member name eshell-complex-commands)) (catch 'simple @@ -1557,7 +1551,7 @@ a string naming a Lisp function." (not result)) 2) result)) - (eshell-close-handles)))) + nil))) (define-obsolete-function-alias 'eshell-lisp-command* #'eshell-lisp-command "31.1") diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el index 5fccc4fe82f..a6df75e86e9 100644 --- a/lisp/eshell/esh-io.el +++ b/lisp/eshell/esh-io.el @@ -353,14 +353,14 @@ calling this function)." (defun eshell-duplicate-handles (handles &optional steal-p) "Create a duplicate of the file handles in HANDLES. This uses the targets of each handle in HANDLES, incrementing its -reference count by one (unless STEAL-P is non-nil). These -targets are shared between the original set of handles and the -new one, so the targets are only closed when the reference count -drops to 0 (see `eshell-close-handles'). +reference count by one. These targets are shared between the original +set of handles and the new one, so the targets are only closed when the +reference count drops to 0 (see `eshell-close-handles'). This function also sets the DEFAULT field for each handle to t (see `eshell-create-handles'). Unlike the targets, this value is not shared with the original handles." + (declare (advertised-calling-convention (handles) "31.1")) (let ((dup-handles (make-vector eshell-number-of-handles nil))) (dotimes (idx eshell-number-of-handles) (when-let ((handle (aref handles idx))) diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index dc7b497666b..b579a93e14c 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el @@ -371,6 +371,7 @@ Used only on systems which do not support async subprocesses.") #'eshell-insertion-filter) :sentinel #'eshell-sentinel)) (eshell-record-process-properties stderr-proc eshell-error-handle)) + (eshell-protect-handles eshell-current-handles) (setq proc (let ((command (file-local-name (expand-file-name command))) (conn-type (pcase (bound-and-true-p eshell-in-pipeline-p) @@ -468,7 +469,6 @@ Used only on systems which do not support async subprocesses.") (eshell-set-exit-info (if (numberp exit-status) exit-status -1) (and (numberp exit-status) (= exit-status 0))) - (eshell-close-handles) (run-hook-with-args 'eshell-kill-hook command exit-status) (or (bound-and-true-p eshell-in-pipeline-p) (setq eshell-last-sync-output-start nil)) diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el index f0270aca92c..0e6c01d2774 100644 --- a/lisp/eshell/esh-var.el +++ b/lisp/eshell/esh-var.el @@ -553,24 +553,22 @@ Possible variable references are: (subcmd (or (eshell-unescape-inner-double-quote end) (cons (point) end)))) (prog1 - `(let ((eshell-current-handles - (eshell-create-handles ,temp 'overwrite))) - (progn - (eshell-as-subcommand - ,(let ((eshell-current-quoted nil)) - (eshell-parse-command subcmd))) - (ignore - (nconc eshell-this-command-hook - ;; Quote this lambda; it will be evaluated by - ;; `eshell-do-eval', which requires very - ;; particular forms in order to work - ;; properly. See bug#54190. - (list (function - (lambda () - (delete-file ,temp) - (when-let ((buffer (get-file-buffer ,temp))) - (kill-buffer buffer))))))) - (eshell-apply-indices ,temp indices ,eshell-current-quoted))) + `(eshell-with-handles (,temp 'overwrite) + (eshell-as-subcommand + ,(let ((eshell-current-quoted nil)) + (eshell-parse-command subcmd))) + (ignore + (nconc eshell-this-command-hook + ;; Quote this lambda; it will be evaluated by + ;; `eshell-do-eval', which requires very + ;; particular forms in order to work + ;; properly. See bug#54190. + (list (function + (lambda () + (delete-file ,temp) + (when-let ((buffer (get-file-buffer ,temp))) + (kill-buffer buffer))))))) + (eshell-apply-indices ,temp indices ,eshell-current-quoted)) (goto-char (1+ end)))))) ((eq (char-after) ?\() (condition-case nil diff --git a/test/lisp/eshell/em-tramp-tests.el b/test/lisp/eshell/em-tramp-tests.el index 49dd5a78c3d..b85dfc61580 100644 --- a/test/lisp/eshell/em-tramp-tests.el +++ b/test/lisp/eshell/em-tramp-tests.el @@ -29,8 +29,7 @@ `(should (equal (catch 'eshell-replace-command ,form) (list 'eshell-with-copied-handles - (list 'eshell-do-command ,replacement) - t)))) + (list 'eshell-do-command ,replacement))))) (ert-deftest em-tramp-test/su-default () "Test Eshell `su' command with no arguments." diff --git a/test/lisp/eshell/esh-cmd-tests.el b/test/lisp/eshell/esh-cmd-tests.el index 18ea1f9a9d6..cac349a2616 100644 --- a/test/lisp/eshell/esh-cmd-tests.el +++ b/test/lisp/eshell/esh-cmd-tests.el @@ -558,6 +558,17 @@ NAME is the name of the test case." ;; Make sure we can call another command after throwing. (eshell-match-command-output "echo again" "\\`again\n"))) +(ert-deftest esh-cmd-test/command-not-found/pipeline () + "Ensure that processes are stopped if a command in a pipeline is not found." + (skip-when (or (not (executable-find "cat")) + (executable-find "nonexist"))) + (with-temp-eshell + (let ((starting-process-list (process-list))) + (eshell-match-command-output "nonexist | *cat" + "\\`nonexist: command not found\n") + (eshell-wait-for-subprocess t) + (should (equal (process-list) starting-process-list))))) + ;; `which' command commit 8bfdee8689f8b99f353179898e922ec3d975a113 Author: Jim Porter Date: Fri Jul 19 18:07:36 2024 -0700 ; Improve correctness of 'eshell-do-eval' in some edge cases * lisp/eshell/esh-cmd.el (eshell-do-eval): Make sure that replacing 'if' forms returns the correct result, and evaluate to 'nil' for 'progn' forms with no body. diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index 2b47962735a..43d536ac463 100644 --- a/lisp/eshell/esh-cmd.el +++ b/lisp/eshell/esh-cmd.el @@ -1159,7 +1159,7 @@ have been replaced by constants." (t (caddr args))))) ; Zero or one ELSE forms (unless (consp new-form) - (setq new-form (cons 'progn new-form))) + (setq new-form `(progn ,new-form))) (setcar form (car new-form)) (setcdr form (cdr new-form)))) (eshell-do-eval form synchronous-p)) @@ -1261,7 +1261,7 @@ have been replaced by constants." (setq args (cdr args))))) (cond ((eq (car form) 'progn) - (car (last form))) + (car (last (cdr form)))) ((eq (car form) 'prog1) (cadr form)) (t commit e8f38d1364a8879c91cb810160a5d2d5f7437bde Author: Vincent Belaïche Date: Sat Jul 27 18:33:00 2024 +0200 Make sure SES always writes non abbreviated expressions to data area. Corrupted data area would occur when print-length or print-level are non nil. diff --git a/lisp/ses.el b/lisp/ses.el index c9bd0ab18da..8b270842734 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -1443,9 +1443,10 @@ undoable. Return nil when there was no change, and non-nil otherwise." (ses-widen) (goto-char ses--params-marker) (forward-line (plist-get ses-paramlines-plist 'ses--numlocprn )) - (insert (format (plist-get ses-paramfmt-plist 'ses--numlocprn) - ses--numlocprn) - ?\n) + (let (print-level print-length) + (insert (format (plist-get ses-paramfmt-plist 'ses--numlocprn) + ses--numlocprn) + ?\n)) t) ))) (defun ses-set-parameter (def value &optional elem) @@ -1467,7 +1468,7 @@ If ELEM is specified, it is the array subscript within DEF to be set to VALUE." (setq oldval (symbol-value def)) (set def value)) ;; Special undo since it's outside the narrowed buffer. - (let (buffer-undo-list) + (let (buffer-undo-list print-level print-length) (delete-region (point) (line-end-position)) (insert (format fmt (symbol-value def)))) (push `(apply ses-set-parameter ,def ,oldval ,elem) buffer-undo-list)))) @@ -1478,6 +1479,7 @@ If ELEM is specified, it is the array subscript within DEF to be set to VALUE." Newlines in the data are escaped." (let* ((inhibit-read-only t) (print-escape-newlines t) + print-level print-length rowcol row col cell sym formula printer text) (setq ses-start-time (float-time)) (with-temp-message " " @@ -2532,7 +2534,7 @@ Return nil if cell formula was unsafe and user declined confirmation." (row (car rowcol)) (col (cdr rowcol)) (formula (ses-cell-formula row col)) - initial) + initial print-level print-length) (if (eq (car-safe formula) 'ses-safe-formula) (setq formula (cadr formula))) (if (eq (car-safe formula) 'quote) commit 7753a597fb84ce03ebcab87ec57553a06f6327e1 Author: Mattias Engdegård Date: Sat Jul 27 14:10:40 2024 +0200 Reduce type checks in arithcompare * src/data.c (coerce_marker, not_number_or_marker): New. (arithcompare): Don't use NUMBERP to check types up-front since we are going to branch on types anyway. diff --git a/src/data.c b/src/data.c index 40b5a42b65b..d947d200870 100644 --- a/src/data.c +++ b/src/data.c @@ -2682,11 +2682,23 @@ check_number_coerce_marker (Lisp_Object x) return x; } +static Lisp_Object +coerce_marker (Lisp_Object x) +{ + return MARKERP (x) ? make_fixnum (marker_position (x)) : x; +} + +static AVOID +not_number_or_marker (Lisp_Object x) +{ + wrong_type_argument (Qnumber_or_marker_p, x); +} + cmp_bits_t arithcompare (Lisp_Object num1, Lisp_Object num2) { - num1 = check_number_coerce_marker (num1); - num2 = check_number_coerce_marker (num2); + num1 = coerce_marker (num1); + num2 = coerce_marker (num2); bool lt, eq, gt; if (FLOATP (num1)) @@ -2725,15 +2737,20 @@ arithcompare (Lisp_Object num1, Lisp_Object num2) gt = f1 > f2; } } - else if (isnan (f1)) - lt = eq = gt = false; - else + else if (BIGNUMP (num2)) { - int cmp = mpz_cmp_d (*xbignum_val (num2), f1); - eq = cmp == 0; - lt = cmp > 0; - gt = cmp < 0; + if (isnan (f1)) + lt = eq = gt = false; + else + { + int cmp = mpz_cmp_d (*xbignum_val (num2), f1); + eq = cmp == 0; + lt = cmp > 0; + gt = cmp < 0; + } } + else + not_number_or_marker (num2); } else if (FIXNUMP (num1)) { @@ -2765,7 +2782,7 @@ arithcompare (Lisp_Object num1, Lisp_Object num2) lt = i1 < i2; gt = i1 > i2; } - else + else if (BIGNUMP (num2)) { int sgn = mpz_sgn (*xbignum_val (num2)); eassume (sgn != 0); @@ -2773,35 +2790,44 @@ arithcompare (Lisp_Object num1, Lisp_Object num2) lt = sgn > 0; gt = sgn < 0; } + else + not_number_or_marker (num2); } - else if (FLOATP (num2)) + else if (BIGNUMP (num1)) { - double f2 = XFLOAT_DATA (num2); - if (isnan (f2)) - lt = eq = gt = false; - else + if (FLOATP (num2)) { - int cmp = mpz_cmp_d (*xbignum_val (num1), f2); + double f2 = XFLOAT_DATA (num2); + if (isnan (f2)) + lt = eq = gt = false; + else + { + int cmp = mpz_cmp_d (*xbignum_val (num1), f2); + eq = cmp == 0; + lt = cmp < 0; + gt = cmp > 0; + } + } + else if (FIXNUMP (num2)) + { + int sgn = mpz_sgn (*xbignum_val (num1)); + eassume (sgn != 0); + eq = false; + lt = sgn < 0; + gt = sgn > 0; + } + else if (BIGNUMP (num2)) + { + int cmp = mpz_cmp (*xbignum_val (num1), *xbignum_val (num2)); eq = cmp == 0; lt = cmp < 0; gt = cmp > 0; } - } - else if (FIXNUMP (num2)) - { - int sgn = mpz_sgn (*xbignum_val (num1)); - eassume (sgn != 0); - eq = false; - lt = sgn < 0; - gt = sgn > 0; + else + not_number_or_marker (num2); } else - { - int cmp = mpz_cmp (*xbignum_val (num1), *xbignum_val (num2)); - eq = cmp == 0; - lt = cmp < 0; - gt = cmp > 0; - } + not_number_or_marker (num1); return lt << Cmp_Bit_LT | gt << Cmp_Bit_GT | eq << Cmp_Bit_EQ; } commit e5a94491170bdde62c1afa19ec86e16a07429395 Author: Mattias Engdegård Date: Sat Jul 27 13:38:57 2024 +0200 * src/data.c (arithcompare): Simplify fixnum/bignum comparisons. Noticed by Pip Cet. diff --git a/src/data.c b/src/data.c index b4d08a3ff06..40b5a42b65b 100644 --- a/src/data.c +++ b/src/data.c @@ -2768,7 +2768,8 @@ arithcompare (Lisp_Object num1, Lisp_Object num2) else { int sgn = mpz_sgn (*xbignum_val (num2)); - eq = sgn == 0; + eassume (sgn != 0); + eq = false; lt = sgn > 0; gt = sgn < 0; } @@ -2789,7 +2790,8 @@ arithcompare (Lisp_Object num1, Lisp_Object num2) else if (FIXNUMP (num2)) { int sgn = mpz_sgn (*xbignum_val (num1)); - eq = sgn == 0; + eassume (sgn != 0); + eq = false; lt = sgn < 0; gt = sgn > 0; } commit 829ebbd1d1da80e327c476d0cb173ae04313eaba Author: Michael Albinus Date: Sat Jul 27 12:49:12 2024 +0200 Revert "* test/lisp/net/tramp-tests.el (tramp-test42-utf8): Don't test "Tifinagh"." This reverts commit b9f2ef2a333fa7c813913dbba798c5ba8778eefd. diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index d428ae0096b..7673ee88569 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -7600,8 +7600,9 @@ This requires restrictions of file name syntax." ;; Use all available language specific snippets. (lambda (x) (and - ;; Some languages use problematic composition characters. - (not (member (car x) '("Oriya" "Odia" "Tifinagh"))) + ;; The "Oriya" and "Odia" languages use some problematic + ;; composition characters. + (not (member (car x) '("Oriya" "Odia"))) (stringp (setq x (eval (get-language-info (car x) 'sample-text) t))) ;; Filter out strings which use unencodable characters. (not (and (or (tramp--test-gvfs-p) (tramp--test-smb-p)) commit 10b91328d96b19f0f9b775d88f319abdd7d46c0a Author: Michael Albinus Date: Sat Jul 27 12:48:47 2024 +0200 * lisp/language/misc-lang.el ("Tifinagh"): Fix `sample-text'. diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el index 272fe79d314..c285082c04a 100644 --- a/lisp/language/misc-lang.el +++ b/lisp/language/misc-lang.el @@ -373,7 +373,7 @@ language environment.")) (coding-system utf-8) (coding-priority utf-8) (input-method "tifinagh") - (sample-text "Tifinagh ⴰⵣⵓⵍ") + (sample-text . "Tifinagh ⴰⵣⵓⵍ") (documentation "Tifinagh a script used to write the Berber languages.")) '("Misc")) commit 2fd38e5c496a2351a25e95df37a7900f6f80f22f Author: Mattias Engdegård Date: Sat Jul 20 13:12:19 2024 +0200 Simplify and speed up numeric comparisons This makes comparison functions (=, /=, <, <=, >, >=, min, max) quite a bit faster (10-20 %). Bytecode ops on fixnums are not affected, nor is `value<`. * src/data.c (arithcompare): Simplify the code to reduce the number of branches. Remove the comparison code argument; instead, return the relation encoded as bits, which can be tested cheaply. All callers adapted. * src/lisp.h (enum Arith_Comparison): Remove. (Cmp_Bit_*, cmp_bits_t): New. diff --git a/src/bytecode.c b/src/bytecode.c index 75f9f1d0ac7..ce075c86afd 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -1242,7 +1242,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template, if (FIXNUMP (v1) && FIXNUMP (v2)) TOP = BASE_EQ (v1, v2) ? Qt : Qnil; else - TOP = arithcompare (v1, v2, ARITH_EQUAL); + TOP = arithcompare (v1, v2) & Cmp_EQ ? Qt : Qnil; NEXT; } @@ -1253,7 +1253,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template, if (FIXNUMP (v1) && FIXNUMP (v2)) TOP = XFIXNUM (v1) > XFIXNUM (v2) ? Qt : Qnil; else - TOP = arithcompare (v1, v2, ARITH_GRTR); + TOP = arithcompare (v1, v2) & Cmp_GT ? Qt : Qnil; NEXT; } @@ -1264,7 +1264,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template, if (FIXNUMP (v1) && FIXNUMP (v2)) TOP = XFIXNUM (v1) < XFIXNUM (v2) ? Qt : Qnil; else - TOP = arithcompare (v1, v2, ARITH_LESS); + TOP = arithcompare (v1, v2) & Cmp_LT ? Qt : Qnil; NEXT; } @@ -1275,7 +1275,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template, if (FIXNUMP (v1) && FIXNUMP (v2)) TOP = XFIXNUM (v1) <= XFIXNUM (v2) ? Qt : Qnil; else - TOP = arithcompare (v1, v2, ARITH_LESS_OR_EQUAL); + TOP = arithcompare (v1, v2) & (Cmp_LT | Cmp_EQ) ? Qt : Qnil; NEXT; } @@ -1286,7 +1286,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template, if (FIXNUMP (v1) && FIXNUMP (v2)) TOP = XFIXNUM (v1) >= XFIXNUM (v2) ? Qt : Qnil; else - TOP = arithcompare (v1, v2, ARITH_GRTR_OR_EQUAL); + TOP = arithcompare (v1, v2) & (Cmp_GT | Cmp_EQ) ? Qt : Qnil; NEXT; } diff --git a/src/data.c b/src/data.c index 752856abf09..b4d08a3ff06 100644 --- a/src/data.c +++ b/src/data.c @@ -2682,26 +2682,13 @@ check_number_coerce_marker (Lisp_Object x) return x; } -Lisp_Object -arithcompare (Lisp_Object num1, Lisp_Object num2, - enum Arith_Comparison comparison) +cmp_bits_t +arithcompare (Lisp_Object num1, Lisp_Object num2) { - EMACS_INT i1 = 0, i2 = 0; - bool lt, eq = true, gt; - bool test; - num1 = check_number_coerce_marker (num1); num2 = check_number_coerce_marker (num2); - /* If the comparison is mostly done by comparing two doubles, - set LT, EQ, and GT to the <, ==, > results of that comparison, - respectively, taking care to avoid problems if either is a NaN, - and trying to avoid problems on platforms where variables (in - violation of the C standard) can contain excess precision. - Regardless, set I1 and I2 to integers that break ties if the - two-double comparison is either not done or reports - equality. */ - + bool lt, eq, gt; if (FLOATP (num1)) { double f1 = XFLOAT_DATA (num1); @@ -2723,16 +2710,30 @@ arithcompare (Lisp_Object num1, Lisp_Object num2, (exactly) so I1 - I2 = NUM1 - NUM2 (exactly), so comparing I1 to I2 will break the tie correctly. */ double f2 = XFIXNUM (num2); - lt = f1 < f2; - eq = f1 == f2; - gt = f1 > f2; - i1 = f2; - i2 = XFIXNUM (num2); + if (f1 == f2) + { + EMACS_INT i1 = f2; + EMACS_INT i2 = XFIXNUM (num2); + eq = i1 == i2; + lt = i1 < i2; + gt = i1 > i2; + } + else + { + eq = false; + lt = f1 < f2; + gt = f1 > f2; + } } else if (isnan (f1)) lt = eq = gt = false; else - i2 = mpz_cmp_d (*xbignum_val (num2), f1); + { + int cmp = mpz_cmp_d (*xbignum_val (num2), f1); + eq = cmp == 0; + lt = cmp > 0; + gt = cmp < 0; + } } else if (FIXNUMP (num1)) { @@ -2741,19 +2742,36 @@ arithcompare (Lisp_Object num1, Lisp_Object num2, /* Compare an integer NUM1 to a float NUM2. This is the converse of comparing float to integer (see above). */ double f1 = XFIXNUM (num1), f2 = XFLOAT_DATA (num2); - lt = f1 < f2; - eq = f1 == f2; - gt = f1 > f2; - i1 = XFIXNUM (num1); - i2 = f1; + if (f1 == f2) + { + EMACS_INT i1 = XFIXNUM (num1); + EMACS_INT i2 = f1; + eq = i1 == i2; + lt = i1 < i2; + gt = i1 > i2; + } + else + { + eq = false; + lt = f1 < f2; + gt = f1 > f2; + } } else if (FIXNUMP (num2)) { - i1 = XFIXNUM (num1); - i2 = XFIXNUM (num2); + EMACS_INT i1 = XFIXNUM (num1); + EMACS_INT i2 = XFIXNUM (num2); + eq = i1 == i2; + lt = i1 < i2; + gt = i1 > i2; } else - i2 = mpz_sgn (*xbignum_val (num2)); + { + int sgn = mpz_sgn (*xbignum_val (num2)); + eq = sgn == 0; + lt = sgn > 0; + gt = sgn < 0; + } } else if (FLOATP (num2)) { @@ -2761,61 +2779,36 @@ arithcompare (Lisp_Object num1, Lisp_Object num2, if (isnan (f2)) lt = eq = gt = false; else - i1 = mpz_cmp_d (*xbignum_val (num1), f2); + { + int cmp = mpz_cmp_d (*xbignum_val (num1), f2); + eq = cmp == 0; + lt = cmp < 0; + gt = cmp > 0; + } } else if (FIXNUMP (num2)) - i1 = mpz_sgn (*xbignum_val (num1)); - else - i1 = mpz_cmp (*xbignum_val (num1), *xbignum_val (num2)); - - if (eq) { - /* The two-double comparison either reported equality, or was not done. - Break the tie by comparing the integers. */ - lt = i1 < i2; - eq = i1 == i2; - gt = i1 > i2; + int sgn = mpz_sgn (*xbignum_val (num1)); + eq = sgn == 0; + lt = sgn < 0; + gt = sgn > 0; } - - switch (comparison) + else { - case ARITH_EQUAL: - test = eq; - break; - - case ARITH_NOTEQUAL: - test = !eq; - break; - - case ARITH_LESS: - test = lt; - break; - - case ARITH_LESS_OR_EQUAL: - test = lt | eq; - break; - - case ARITH_GRTR: - test = gt; - break; - - case ARITH_GRTR_OR_EQUAL: - test = gt | eq; - break; - - default: - eassume (false); + int cmp = mpz_cmp (*xbignum_val (num1), *xbignum_val (num2)); + eq = cmp == 0; + lt = cmp < 0; + gt = cmp > 0; } - return test ? Qt : Qnil; + return lt << Cmp_Bit_LT | gt << Cmp_Bit_GT | eq << Cmp_Bit_EQ; } static Lisp_Object -arithcompare_driver (ptrdiff_t nargs, Lisp_Object *args, - enum Arith_Comparison comparison) +arithcompare_driver (ptrdiff_t nargs, Lisp_Object *args, cmp_bits_t cmpmask) { for (ptrdiff_t i = 1; i < nargs; i++) - if (NILP (arithcompare (args[i - 1], args[i], comparison))) + if (!(arithcompare (args[i - 1], args[i]) & cmpmask)) return Qnil; return Qt; } @@ -2825,7 +2818,7 @@ DEFUN ("=", Feqlsign, Seqlsign, 1, MANY, 0, usage: (= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) (ptrdiff_t nargs, Lisp_Object *args) { - return arithcompare_driver (nargs, args, ARITH_EQUAL); + return arithcompare_driver (nargs, args, Cmp_EQ); } DEFUN ("<", Flss, Slss, 1, MANY, 0, @@ -2836,7 +2829,7 @@ usage: (< NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) if (nargs == 2 && FIXNUMP (args[0]) && FIXNUMP (args[1])) return XFIXNUM (args[0]) < XFIXNUM (args[1]) ? Qt : Qnil; - return arithcompare_driver (nargs, args, ARITH_LESS); + return arithcompare_driver (nargs, args, Cmp_LT); } DEFUN (">", Fgtr, Sgtr, 1, MANY, 0, @@ -2847,7 +2840,7 @@ usage: (> NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) if (nargs == 2 && FIXNUMP (args[0]) && FIXNUMP (args[1])) return XFIXNUM (args[0]) > XFIXNUM (args[1]) ? Qt : Qnil; - return arithcompare_driver (nargs, args, ARITH_GRTR); + return arithcompare_driver (nargs, args, Cmp_GT); } DEFUN ("<=", Fleq, Sleq, 1, MANY, 0, @@ -2858,7 +2851,7 @@ usage: (<= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) if (nargs == 2 && FIXNUMP (args[0]) && FIXNUMP (args[1])) return XFIXNUM (args[0]) <= XFIXNUM (args[1]) ? Qt : Qnil; - return arithcompare_driver (nargs, args, ARITH_LESS_OR_EQUAL); + return arithcompare_driver (nargs, args, Cmp_LT | Cmp_EQ); } DEFUN (">=", Fgeq, Sgeq, 1, MANY, 0, @@ -2869,14 +2862,14 @@ usage: (>= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) if (nargs == 2 && FIXNUMP (args[0]) && FIXNUMP (args[1])) return XFIXNUM (args[0]) >= XFIXNUM (args[1]) ? Qt : Qnil; - return arithcompare_driver (nargs, args, ARITH_GRTR_OR_EQUAL); + return arithcompare_driver (nargs, args, Cmp_GT | Cmp_EQ); } DEFUN ("/=", Fneq, Sneq, 2, 2, 0, doc: /* Return t if first arg is not equal to second arg. Both must be numbers or markers. */) (register Lisp_Object num1, Lisp_Object num2) { - return arithcompare (num1, num2, ARITH_NOTEQUAL); + return arithcompare (num1, num2) & Cmp_EQ ? Qnil : Qt; } /* Convert the cons-of-integers, integer, or float value C to an @@ -3418,14 +3411,13 @@ Both X and Y must be numbers or markers. */) } static Lisp_Object -minmax_driver (ptrdiff_t nargs, Lisp_Object *args, - enum Arith_Comparison comparison) +minmax_driver (ptrdiff_t nargs, Lisp_Object *args, cmp_bits_t cmpmask) { Lisp_Object accum = check_number_coerce_marker (args[0]); for (ptrdiff_t argnum = 1; argnum < nargs; argnum++) { Lisp_Object val = check_number_coerce_marker (args[argnum]); - if (!NILP (arithcompare (val, accum, comparison))) + if (arithcompare (val, accum) & cmpmask) accum = val; else if (FLOATP (val) && isnan (XFLOAT_DATA (val))) return val; @@ -3439,7 +3431,7 @@ The value is always a number; markers are converted to numbers. usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) (ptrdiff_t nargs, Lisp_Object *args) { - return minmax_driver (nargs, args, ARITH_GRTR); + return minmax_driver (nargs, args, Cmp_GT); } DEFUN ("min", Fmin, Smin, 1, MANY, 0, @@ -3448,7 +3440,7 @@ The value is always a number; markers are converted to numbers. usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) (ptrdiff_t nargs, Lisp_Object *args) { - return minmax_driver (nargs, args, ARITH_LESS); + return minmax_driver (nargs, args, Cmp_LT); } DEFUN ("logand", Flogand, Slogand, 0, MANY, 0, diff --git a/src/fileio.c b/src/fileio.c index fa280f2db00..22a566a1881 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -5741,7 +5741,7 @@ DEFUN ("car-less-than-car", Fcar_less_than_car, Scar_less_than_car, 2, 2, 0, Lisp_Object ca = Fcar (a), cb = Fcar (b); if (FIXNUMP (ca) && FIXNUMP (cb)) return XFIXNUM (ca) < XFIXNUM (cb) ? Qt : Qnil; - return arithcompare (ca, cb, ARITH_LESS); + return arithcompare (ca, cb) & Cmp_LT ? Qt : Qnil; } /* Build the complete list of annotations appropriate for writing out diff --git a/src/lisp.h b/src/lisp.h index 976b7a15251..8ac65ca429c 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -4224,16 +4224,21 @@ extern void notify_variable_watchers (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); extern Lisp_Object indirect_function (Lisp_Object); extern Lisp_Object find_symbol_value (Lisp_Object); -enum Arith_Comparison { - ARITH_EQUAL, - ARITH_NOTEQUAL, - ARITH_LESS, - ARITH_GRTR, - ARITH_LESS_OR_EQUAL, - ARITH_GRTR_OR_EQUAL + +enum { + Cmp_Bit_EQ, + Cmp_Bit_LT, + Cmp_Bit_GT }; -extern Lisp_Object arithcompare (Lisp_Object num1, Lisp_Object num2, - enum Arith_Comparison comparison); + +/* code indicating a comparison outcome */ +typedef enum { + Cmp_EQ = 1 << Cmp_Bit_EQ, /* = */ + Cmp_LT = 1 << Cmp_Bit_LT, /* < */ + Cmp_GT = 1 << Cmp_Bit_GT /* > */ +} cmp_bits_t; + +extern cmp_bits_t arithcompare (Lisp_Object num1, Lisp_Object num2); /* Convert the Emacs representation CONS back to an integer of type TYPE, storing the result the variable VAR. Signal an error if CONS commit 156a3ba4f9ef9f7a401cfd3ca118152169f0ddcf Author: Eli Zaretskii Date: Sat Jul 27 05:11:20 2024 -0400 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index ab791da3271..6320af1e79f 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -760,7 +760,7 @@ for details on preparing Emacs for automatic allout activation. (push (purecopy '(allout-widgets 1 0)) package--builtin-versions) (autoload 'allout-widgets-setup "allout-widgets" "\ -Commission or decommission allout-widgets-mode along with allout-mode. +Commission or decommission `allout-widgets-mode' along with `allout-mode'. Meant to be used by customization of `allout-widgets-auto-activation'. @@ -1554,7 +1554,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `(default-value \\='auto-insert-mode)'. +evaluate the variable `(default-value \\='auto-insert-mode)'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -2949,7 +2949,7 @@ and corresponding effects. ;;; Generated autoloads from progmodes/c-ts-common.el -(register-definition-prefixes "c-ts-common" '("c-ts-common-")) +(register-definition-prefixes "c-ts-common" '("c-ts-")) ;;; Generated autoloads from progmodes/c-ts-mode.el @@ -4247,6 +4247,7 @@ Returns non-nil if any false statements are found. (put 'checkdoc-spellcheck-documentation-flag 'safe-local-variable #'booleanp) (put 'checkdoc-ispell-list-words 'safe-local-variable #'list-of-strings-p) (put 'checkdoc-arguments-in-order-flag 'safe-local-variable #'booleanp) +(put 'checkdoc-package-keywords-flag 'safe-local-variable #'booleanp) (put 'checkdoc-verb-check-experimental-flag 'safe-local-variable #'booleanp) (put 'checkdoc-symbol-words 'safe-local-variable #'list-of-strings-p) (put 'checkdoc-proper-noun-regexp 'safe-local-variable 'stringp) @@ -4329,7 +4330,7 @@ Optional argument TAKE-NOTES causes all errors to be logged. Evaluate the current form with `eval-defun' and check its documentation. Evaluation is done first so the form will be read before the documentation is checked. If there is a documentation error, then the display -of what was evaluated will be overwritten by the diagnostic message." t) +of what was evaluated will be overwritten by the diagnostic message." '(emacs-lisp-mode)) (autoload 'checkdoc-defun "checkdoc" "\ Examine the doc string of the function or variable under point. Call `error' if the doc string has problems. If NO-ERROR is @@ -4337,7 +4338,7 @@ non-nil, then do not call error, but call `message' instead. If the doc string passes the test, then check the function for rogue white space at the end of each line. -(fn &optional NO-ERROR)" t) +(fn &optional NO-ERROR)" '(emacs-lisp-mode)) (autoload 'checkdoc-dired "checkdoc" "\ In Dired, run `checkdoc' on marked files. Skip anything that doesn't have the Emacs Lisp library file @@ -4399,14 +4400,14 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `checkdoc-minor-mode'. +evaluate the variable `checkdoc-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG)" t) (autoload 'checkdoc-package-keywords "checkdoc" "\ -Find package keywords that aren't in `finder-known-keywords'." t) +Find package keywords that aren't in `finder-known-keywords'." '(emacs-lisp-mode)) (register-definition-prefixes "checkdoc" '("checkdoc-")) @@ -4889,14 +4890,13 @@ Search happens in `native-comp-eln-load-path'. (fn FILENAME)") (autoload 'native-compile "comp" "\ Compile FUNCTION-OR-FILE into native code. -This is the synchronous entry-point for the Emacs Lisp native -compiler. FUNCTION-OR-FILE is a function symbol, a form, or the -filename of an Emacs Lisp source file. If OUTPUT is non-nil, use -it as the filename for the compiled object. If FUNCTION-OR-FILE -is a filename, if the compilation was successful return the -filename of the compiled object. If FUNCTION-OR-FILE is a -function symbol or a form, if the compilation was successful -return the compiled function. +This is the synchronous entry-point for the Emacs Lisp native compiler. +FUNCTION-OR-FILE is a function symbol, a form, an interpreted-function, +or the filename of an Emacs Lisp source file. If OUTPUT is non-nil, use +it as the filename for the compiled object. If FUNCTION-OR-FILE is a +filename, if the compilation was successful return the filename of the +compiled object. If FUNCTION-OR-FILE is a function symbol or a form, if +the compilation was successful return the compiled function. (fn FUNCTION-OR-FILE &optional OUTPUT)") (function-put 'native-compile 'function-type '(function ((or string symbol) &optional string) (or native-comp-function string))) @@ -6716,7 +6716,6 @@ Variables controlling indentation style and extra features: dcl-imenu-label-call Change the text that is used as sub-listing labels in imenu. -To run code after DCL mode has loaded, use `with-eval-after-load'. Turning on DCL mode calls the value of the variable `dcl-mode-hook' with no args, if that value is non-nil. @@ -7130,7 +7129,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `(default-value \\='desktop-save-mode)'. +evaluate the variable `(default-value \\='desktop-save-mode)'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -7744,7 +7743,7 @@ move to that file's line in the directory listing. If the current buffer isn't visiting a file, Dired `default-directory'. If in Dired already, pop up a level and goto old directory's line. -In case the proper Dired file line cannot be found, refresh the dired +In case the proper Dired file line cannot be found, refresh the Dired buffer and try again. When OTHER-WINDOW is non-nil, jump to Dired buffer in other window. @@ -9846,13 +9845,19 @@ displayed." t) (autoload 'eshell-execute-file "em-script" "\ Execute a series of Eshell commands in FILE, passing ARGS. -If DESTINATION is t, write the command output to the current buffer. If -nil, don't write the output anywhere. For any other value, output to -the corresponding Eshell target (see `eshell-get-target'). +If OUTPUT-TARGET is t (interactively, with the prefix argument), write +the command's standard output to the current buffer at point. If nil, +don't write the output anywhere. For any other value, output to that +Eshell target (see `eshell-get-target'). + +ERROR-TARGET is similar to OUTPUT-TARGET, except that it controls where +to write standard error, and a nil value means to write standard error +to the same place as standard output. (To suppress standard error, you +can write to the Eshell virtual target \"/dev/null\".) Comments begin with `#'. -(fn FILE &optional ARGS DESTINATION)") +(fn FILE &optional ARGS OUTPUT-TARGET ERROR-TARGET)" t) (autoload 'eshell-batch-file "em-script" "\ Execute an Eshell script as a batch script from the command line. Inside your Eshell script file, you can add the following at the @@ -10421,7 +10426,7 @@ Look at CONFIG and try to expand GROUP. ;;; Generated autoloads from erc/erc.el -(push (purecopy '(erc 5 6)) package--builtin-versions) +(push (purecopy '(erc 5 6 1 -4)) package--builtin-versions) (dolist (symbol '( erc-sasl erc-spelling ; 29 erc-imenu erc-nicks)) ; 30 (custom-add-load symbol symbol)) @@ -10901,10 +10906,22 @@ information on Eshell, see Info node `(eshell)Top'. (fn &optional ARG)" t) (autoload 'eshell-command "eshell" "\ Execute the Eshell command string COMMAND. -If TO-CURRENT-BUFFER is non-nil (interactively, with the prefix -argument), then insert output into the current buffer at point. - -(fn COMMAND &optional TO-CURRENT-BUFFER)" t) +If OUTPUT-TARGET is t (interactively, with the prefix argument), write +the command's standard output to the current buffer at point. If nil, +write the output to a new output buffer. For any other value, output to +that Eshell target (see `eshell-get-target'). + +ERROR-TARGET is similar to OUTPUT-TARGET, except that it controls where +to write standard error, and a nil value means to write standard error +to the same place as standard output. (To suppress standard error, you +can write to the Eshell virtual target \"/dev/null\".) + +When \"&\" is added at end of command, the command is async and its +output appears in a specific buffer. You can customize +`eshell-command-async-buffer' to specify what to do when this output +buffer is already taken by another running shell command. + +(fn COMMAND &optional OUTPUT-TARGET ERROR-TARGET)" t) (autoload 'eshell-command-result "eshell" "\ Execute the given Eshell COMMAND, and return the result. The result might be any Lisp object. @@ -11220,7 +11237,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `(default-value \\='etags-regen-mode)'. +evaluate the variable `(default-value \\='etags-regen-mode)'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -13054,7 +13071,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `flymake-mode'. +evaluate the variable `flymake-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -13771,7 +13788,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `(default-value \\='gdb-enable-debug)'. +evaluate the variable `(default-value \\='gdb-enable-debug)'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -14105,8 +14122,8 @@ Read news as a child unplugged. (autoload 'gnus-agentize "gnus-agent" "\ Allow Gnus to be an offline newsreader. -The gnus-agentize function is now called internally by gnus when -gnus-agent is set. If you wish to avoid calling gnus-agentize, +The `gnus-agentize' function is now called internally by gnus when +`gnus-agent' is set. If you wish to avoid calling `gnus-agentize', customize `gnus-agent' to nil. This will modify the `gnus-setup-news-hook', and @@ -16050,8 +16067,8 @@ which can be called interactively, are: (See `font-lock-keywords'.) They may be edited and re-loaded with \\[hi-lock-find-patterns], any valid `font-lock-keywords' form is acceptable. When a file is loaded the patterns are read if `hi-lock-file-patterns-policy' is - `ask' and the user responds y to the prompt, or if - `hi-lock-file-patterns-policy' is bound to a function and that + `always', or if it's `ask' and the user responds y to the prompt, + or if `hi-lock-file-patterns-policy' is bound to a function and that function returns t. \\[hi-lock-find-patterns] @@ -16253,7 +16270,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `hide-ifdef-mode'. +evaluate the variable `hide-ifdef-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16375,7 +16392,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `highlight-changes-mode'. +evaluate the variable `highlight-changes-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16403,7 +16420,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `highlight-changes-visible-mode'. +evaluate the variable `highlight-changes-visible-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -16693,7 +16710,6 @@ Major mode for editing Html, powered by tree-sitter. ;;; Generated autoloads from htmlfontify.el -(push (purecopy '(htmlfontify 0 21)) package--builtin-versions) (autoload 'htmlfontify-buffer "htmlfontify" "\ Create a new buffer, named for the current buffer + a .html extension, containing an inline CSS-stylesheet and formatted CSS-markup HTML @@ -17643,7 +17659,9 @@ IMAGE must be an image created with `create-image' or `defimage'. IMAGE is displayed by putting an overlay into the current buffer with a `before-string' STRING that has a `display' property whose value is the image. STRING defaults to \"x\" if it's nil or omitted. -The overlay created by this function has the `put-image' property set to t. +Upon success, this function returns the created overlay with its +`put-image' property set to t. + POS may be an integer or marker. AREA is where to display the image. AREA nil or omitted means display it in the text area, a value of `left-margin' means @@ -17707,7 +17725,7 @@ string containing the actual image data. If the property `:type TYPE' is omitted or nil, try to determine the image type from its first few bytes of image data. If that doesn't work, and the property `:file FILE' provide a file name, use its file extension as indication of the -image type. If `:type TYPE' is provided, it must match the actual type +image type. If `:type TYPE' is provided, it must match the actual type determined for FILE or DATA by `create-image'. The function returns the image specification for the first specification @@ -19013,7 +19031,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `ispell-minor-mode'. +evaluate the variable `ispell-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -20855,8 +20873,8 @@ the MH mail system. (fn &optional ARG)" t) (autoload 'mh-folder-mode "mh-folder" "\ -Major MH-E mode for \"editing\" an MH folder scan listing.\\ - +Major MH-E mode for \"editing\" an MH folder scan listing. +\\ You can show the message the cursor is pointing to, and step through the messages. Messages can be marked for deletion or refiling into another folder; these commands are executed all at once with a @@ -21620,7 +21638,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `(default-value \\='msb-mode)'. +evaluate the variable `(default-value \\='msb-mode)'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -21951,11 +21969,20 @@ Run `traceroute-program' for TARGET. (fn TARGET)" t) (autoload 'ping "net-utils" "\ -Ping HOST. -If your system's ping continues until interrupted, you can try setting -`ping-program-options'. +Ping HOST using `ping-program'. -(fn HOST)" t) +The user option `ping-program-options' is passed as flags to +`ping-program'. With a \\[universal-argument] prefix arg, prompt the +user for the flags to pass. + +When called from Lisp, the optional argument FLAGS, if non-nil, is a +list of strings that will be passed as flags for the `ping-program'. If +FLAGS is nil, `ping-program-options' will be used. + +If your system's ping continues until interrupted, you can try using a +prefix argument or setting `ping-program-options'. + +(fn HOST &optional FLAGS)" t) (autoload 'nslookup-host "net-utils" "\ Look up the DNS information for HOST (name or IP address). Optional argument NAME-SERVER says which server to use for @@ -22944,7 +22971,7 @@ Coloring: ;;; Generated autoloads from org/org.el -(push (purecopy '(org 9 7 4)) package--builtin-versions) +(push (purecopy '(org 9 7 9)) package--builtin-versions) (autoload 'org-babel-do-load-languages "org" "\ Load the languages defined in `org-babel-load-languages'. @@ -23491,11 +23518,6 @@ With a numeric prefix, show all headlines up to that level. (register-definition-prefixes "org-element" '("org-element-")) - -;;; Generated autoloads from org/org-element-ast.el - -(register-definition-prefixes "org-element-ast" '("org-element-")) - ;;; Generated autoloads from org/org-entities.el @@ -24216,7 +24238,8 @@ See `decode-time' for the meaning of FORM. ;;; Generated autoloads from progmodes/pascal.el (autoload 'pascal-mode "pascal" "\ -Major mode for editing Pascal code.\\ +Major mode for editing Pascal code. +\\ TAB indents for Pascal code. Delete converts tabs to spaces as it moves back. \\[completion-at-point] completes the word around current point with respect to position in code @@ -24250,7 +24273,7 @@ Variables controlling indentation/edit style: regardless of where in the line point is when the TAB command is used. `pascal-auto-endcomments' (default t) Non-nil means a comment { ... } is set after the ends which ends cases and - functions. The name of the function or case will be set between the braces. + functions. The name of the function or case will be set between the braces. `pascal-auto-lineup' (default t) List of contexts where auto lineup of :'s or ='s should be done. @@ -24896,44 +24919,6 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'. (register-definition-prefixes "pgtk-dnd" '("pgtk-dnd-")) - -;;; Generated autoloads from progmodes/php-ts-mode.el - -(autoload 'php-ts-mode "php-ts-mode" "\ -Major mode for editing PHP, powered by tree-sitter. - -(fn)" t) -(autoload 'php-ts-mode-run-php-webserver "php-ts-mode" "\ -Run PHP built-in web server. - -PORT: Port number of built-in web server, default `php-ts-mode-ws-port'. -Prompt for the port if the default value is nil. -HOSTNAME: Hostname or IP address of Built-in web server, -default `php-ts-mode-ws-hostname'. Prompt for the hostname if the -default value is nil. -DOCUMENT-ROOT: Path to Document root, default `php-ts-mode-ws-document-root'. -Prompt for the document-root if the default value is nil. -ROUTER-SCRIPT: Path of the router PHP script, -see `https://www.php.net/manual/en/features.commandline.webserver.php' -NUM-OF-WORKERS: Before run the web server set the -PHP_CLI_SERVER_WORKERS env variable useful for testing code against -multiple simultaneous requests. - -Interactively, when invoked with prefix argument, always prompt -for PORT, HOSTNAME, DOCUMENT-ROOT and ROUTER-SCRIPT. - -(fn &optional PORT HOSTNAME DOCUMENT-ROOT ROUTER-SCRIPT NUM-OF-WORKERS)" t) -(autoload 'run-php "php-ts-mode" "\ -Run an PHP interpreter as a inferior process. - -Arguments CMD an CONFIG, default to `php-ts-mode-php-executable' -and `php-ts-mode-php-config' respectively, control which PHP interpreter is run. -Prompt for CMD if `php-ts-mode-php-executable' is nil. -Optional CONFIG, if supplied, is the php.ini file to use. - -(fn &optional CMD CONFIG)" t) -(register-definition-prefixes "php-ts-mode" '("inferior-php-ts-mode" "php-ts-")) - ;;; Generated autoloads from textmodes/picture.el @@ -25971,9 +25956,11 @@ is non-nil, the command will not ask the user for confirmation. NO-CONFIRM is always nil when the command is invoked interactively. +If PROJECT is non-nil, kill buffers for that project instead. + Also see the `project-kill-buffers-display-buffer-list' variable. -(fn &optional NO-CONFIRM)" t) +(fn &optional NO-CONFIRM PROJECT)" t) (autoload 'project-remember-project "project" "\ Add project PR to the front of the project list. Save the result in `project-list-file' if the list of projects @@ -26690,7 +26677,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `(default-value \\='rcirc-track-minor-mode)'. +evaluate the variable `(default-value \\='rcirc-track-minor-mode)'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -28830,8 +28817,8 @@ This also saves the value of `send-mail-function' via Customize.") Major mode for editing mail to be sent. Like Text Mode but with these additional commands: -\\[mail-send] mail-send (send the message) -\\[mail-send-and-exit] mail-send-and-exit (send the message and exit) +\\[mail-send] `mail-send' (send the message) +\\[mail-send-and-exit] `mail-send-and-exit' (send the message and exit) Here are commands that move to a header field (and create it if there isn't): \\[mail-to] move to To: \\[mail-subject] move to Subj: @@ -28840,9 +28827,9 @@ Here are commands that move to a header field (and create it if there isn't): \\[mail-mail-reply-to] move to Mail-Reply-To: \\[mail-mail-followup-to] move to Mail-Followup-To: \\[mail-text] move to message text. -\\[mail-signature] mail-signature (insert `mail-signature-file' file). -\\[mail-yank-original] mail-yank-original (insert current message, in Rmail). -\\[mail-fill-yanked-message] mail-fill-yanked-message (fill what was yanked). +\\[mail-signature] `mail-signature' (insert `mail-signature-file' file). +\\[mail-yank-original] `mail-yank-original' (insert current message, in Rmail). +\\[mail-fill-yanked-message] `mail-fill-yanked-message' (fill what was yanked). \\[mail-insert-file] insert a text file into the message. \\[mail-add-attachment] attach to the message a file as binary attachment. Turning on Mail mode runs the normal hooks `text-mode-hook' and @@ -30969,6 +30956,61 @@ removed. (fn STRING)") (function-put 'string-clean-whitespace 'important-return-value 't) +(autoload 'string-fill "subr-x" "\ +Try to word-wrap STRING so that it displays with lines no wider than WIDTH. +STRING is wrapped where there is whitespace in it. If there are +individual words in STRING that are wider than WIDTH, the result +will have lines that are wider than WIDTH. + +(fn STRING WIDTH)") +(function-put 'string-fill 'important-return-value 't) +(autoload 'string-limit "subr-x" "\ +Return a substring of STRING that is (up to) LENGTH characters long. +If STRING is shorter than or equal to LENGTH characters, return the +entire string unchanged. + +If STRING is longer than LENGTH characters, return a substring +consisting of the first LENGTH characters of STRING. If END is +non-nil, return the last LENGTH characters instead. + +If CODING-SYSTEM is non-nil, STRING will be encoded before +limiting, and LENGTH is interpreted as the number of bytes to +limit the string to. The result will be a unibyte string that is +shorter than LENGTH, but will not contain \"partial\" +characters (or glyphs), even if CODING-SYSTEM encodes characters +with several bytes per character. If the coding system specifies +prefix like the byte order mark (aka \"BOM\") or a shift-in sequence, +their bytes will be normally counted as part of LENGTH. This is +the case, for instance, with `utf-16'. If this isn't desired, use a +coding system that doesn't specify a BOM, like `utf-16le' or `utf-16be'. + +When shortening strings for display purposes, +`truncate-string-to-width' is almost always a better alternative +than this function. + +(fn STRING LENGTH &optional END CODING-SYSTEM)") +(function-put 'string-limit 'important-return-value 't) +(autoload 'string-pad "subr-x" "\ +Pad STRING to LENGTH using PADDING. +If PADDING is nil, the space character is used. If not nil, it +should be a character. + +If STRING is longer than the absolute value of LENGTH, no padding +is done. + +If START is nil (or not present), the padding is done to the end +of the string, and if non-nil, padding is done to the start of +the string. + +(fn STRING LENGTH &optional PADDING START)") +(function-put 'string-pad 'pure 't) +(function-put 'string-pad 'side-effect-free 't) +(autoload 'string-chop-newline "subr-x" "\ +Remove the final newline (if any) from STRING. + +(fn STRING)") +(function-put 'string-chop-newline 'pure 't) +(function-put 'string-chop-newline 'side-effect-free 't) (autoload 'named-let "subr-x" "\ Looping construct taken from Scheme. Like `let', bind variables in BINDINGS and then evaluate BODY, @@ -31007,7 +31049,7 @@ this defaults to the current buffer. Query the user for a process and return the process object. (fn PROMPT)") -(register-definition-prefixes "subr-x" '("emacs-etc--hide-local-variables" "hash-table-" "internal--thread-argument" "replace-region-contents" "string-" "thread-" "with-buffer-unmodified-if-unchanged")) +(register-definition-prefixes "subr-x" '("emacs-etc--hide-local-variables" "hash-table-" "internal--thread-argument" "replace-region-contents" "string-remove-" "thread-" "with-buffer-unmodified-if-unchanged")) ;;; Generated autoloads from progmodes/subword.el @@ -31218,7 +31260,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `tab-line-mode'. +evaluate the variable `tab-line-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -31301,7 +31343,7 @@ mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, -evaluate `table-fixed-width-mode'. +evaluate the variable `table-fixed-width-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. @@ -31336,8 +31378,8 @@ first cell. |-!- | | | +-----+-----+-----+ -Inside a table cell, there are special key bindings. \\ - +Inside a table cell, there are special key bindings. +\\ M-9 \\[table-widen-cell] (or \\[universal-argument] 9 \\[table-widen-cell]) widens the first cell by 9 character width, which results as @@ -31346,7 +31388,7 @@ width, which results as +--------------+-----+-----+ Type TAB \\[table-widen-cell] then type TAB M-2 M-7 \\[table-widen-cell] (or \\[universal-argument] 2 7 \\[table-widen-cell]). Typing -TAB moves the point forward by a cell. The result now looks like this: +TAB moves the point forward by a cell. The result now looks like this: +--------------+------+--------------------------------+ | | |-!- | @@ -32557,7 +32599,10 @@ where the mouse button is clicked to find the thing nearby. (fn EVENT THING &optional NO-PROPERTIES)") (autoload 'sexp-at-point "thingatpt" "\ -Return the sexp at point, or nil if none is found.") +Return the sexp at point, or nil if none is found. +This is for returning the Lisp object represented by text at point; +use (thing-at-point \\='sexp) instead if you rather want the balanced +expression at point regardless of Lisp syntax.") (autoload 'symbol-at-point "thingatpt" "\ Return the symbol at point, or nil if none is found.") (autoload 'number-at-point "thingatpt" "\ @@ -33571,13 +33616,13 @@ Add archive file name handler to `file-name-handler-alist'." (when (and tramp-ar ;;; Generated autoloads from net/trampver.el -(push (purecopy '(tramp 2 7 1 -1)) package--builtin-versions) +(push (purecopy '(tramp 2 8 0 -1)) package--builtin-versions) (register-definition-prefixes "trampver" '("tramp-")) ;;; Generated autoloads from transient.el -(push (purecopy '(transient 0 6 0)) package--builtin-versions) +(push (purecopy '(transient 0 7 2 1)) package--builtin-versions) (autoload 'transient-insert-suffix "transient" "\ Insert a SUFFIX into PREFIX before LOC. PREFIX is a prefix command, a symbol. @@ -33628,7 +33673,7 @@ See info node `(transient)Modifying Existing Transients'. (fn PREFIX LOC)") (function-put 'transient-remove-suffix 'lisp-indent-function 'defun) -(register-definition-prefixes "transient" '("static-if" "transient")) +(register-definition-prefixes "transient" '("find-function-advised-original" "transient")) ;;; Generated autoloads from tree-widget.el @@ -34034,7 +34079,7 @@ URL-encoded before it's used. (autoload 'url-retrieve-synchronously "url" "\ Retrieve URL synchronously. Return the buffer containing the data, or nil if there are no data -associated with it (the case for dired, info, or mailto URLs that need +associated with it (the case for Dired, info, or mailto URLs that need no further processing). URL is either a string or a parsed URL. If SILENT is non-nil, don't do any messaging while retrieving. @@ -37264,6 +37309,11 @@ The problems cleaned up are: If `whitespace-style' includes the value `space-after-tab::space', replace TABs by SPACEs. +5. missing newline at end of file. + If `whitespace-style' includes the value `missing-newline-at-eof', + and the cleanup region includes the end of file, add a final newline + if it is not there already. + See `whitespace-style', `indent-tabs-mode' and `tab-width' for documentation. @@ -37694,7 +37744,7 @@ available on your system. (fn &optional TOPIC RE-CACHE)" t) (autoload 'woman-dired-find-file "woman" "\ -In dired, run the WoMan man-page browser on this file." t) +In Dired, run the WoMan man-page browser on this file." t) (autoload 'woman-find-file "woman" "\ Find, decode and browse a specific UN*X man-page source file FILE-NAME. Use existing buffer if possible; reformat only if prefix arg given. @@ -38075,16 +38125,310 @@ run a specific program. The program must be a member of (fn &optional PGM)" t) (register-definition-prefixes "zone" '("zone-")) + + +;;; Generated autoloads from org/org-element-ast.el + +(register-definition-prefixes "org-element-ast" '("org-element-")) + + +;;; Generated autoloads from progmodes/php-ts-mode.el + +(autoload 'php-ts-mode "php-ts-mode" "\ +Major mode for editing PHP, powered by tree-sitter. + +(fn)" t) +(autoload 'php-ts-mode-run-php-webserver "php-ts-mode" "\ +Run PHP built-in web server. + +PORT: Port number of built-in web server, default `php-ts-mode-ws-port'. +Prompt for the port if the default value is nil. +HOSTNAME: Hostname or IP address of Built-in web server, +default `php-ts-mode-ws-hostname'. Prompt for the hostname if the +default value is nil. +DOCUMENT-ROOT: Path to Document root, default `php-ts-mode-ws-document-root'. +Prompt for the document-root if the default value is nil. +ROUTER-SCRIPT: Path of the router PHP script, +see `https://www.php.net/manual/en/features.commandline.webserver.php' +NUM-OF-WORKERS: Before run the web server set the +PHP_CLI_SERVER_WORKERS env variable useful for testing code against +multiple simultaneous requests. + +Interactively, when invoked with prefix argument, always prompt +for PORT, HOSTNAME, DOCUMENT-ROOT and ROUTER-SCRIPT. + +(fn &optional PORT HOSTNAME DOCUMENT-ROOT ROUTER-SCRIPT NUM-OF-WORKERS)" t) +(autoload 'run-php "php-ts-mode" "\ +Run an PHP interpreter as a inferior process. + +Arguments CMD and CONFIG, default to `php-ts-mode-php-executable' +and `php-ts-mode-php-config' respectively, control which PHP interpreter is run. +Prompt for CMD if `php-ts-mode-php-executable' is nil. +Optional CONFIG, if supplied, is the php.ini file to use. + +(fn &optional CMD CONFIG)" t) +(register-definition-prefixes "php-ts-mode" '("inferior-php-ts-mode" "php-ts-")) + + +;;; Generated autoloads from editorconfig.el + +(push (purecopy '(editorconfig 0 11 0)) package--builtin-versions) +(defvar editorconfig-mode nil "\ +Non-nil if Editorconfig mode is enabled. +See the `editorconfig-mode' command +for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `editorconfig-mode'.") +(custom-autoload 'editorconfig-mode "editorconfig" nil) +(autoload 'editorconfig-mode "editorconfig" "\ +Toggle EditorConfig feature. + +This is a global minor mode. If called interactively, toggle the +`Editorconfig mode' mode. If the prefix argument is positive, enable +the mode, and if it is zero or negative, disable the mode. + +If called from Lisp, toggle the mode if ARG is `toggle'. Enable the +mode if ARG is nil, omitted, or is a positive number. Disable the mode +if ARG is a negative number. + +To check whether the minor mode is enabled in the current buffer, +evaluate `(default-value \\='editorconfig-mode)'. + +The mode's hook is called both when the mode is enabled and when it is +disabled. + +(fn &optional ARG)" t) +(register-definition-prefixes "editorconfig" '("editorconfig-")) + + +;;; Generated autoloads from editorconfig-conf-mode.el + +(autoload 'editorconfig-conf-mode "editorconfig-conf-mode" "\ +Major mode for editing .editorconfig files. + +(fn)" t) +(add-to-list 'auto-mode-alist '("\\.editorconfig\\'" . editorconfig-conf-mode)) +(register-definition-prefixes "editorconfig-conf-mode" '("editorconfig-conf-mode-")) + + +;;; Generated autoloads from editorconfig-core.el + +(register-definition-prefixes "editorconfig-core" '("editorconfig-core-")) + + +;;; Generated autoloads from editorconfig-core-handle.el + +(register-definition-prefixes "editorconfig-core-handle" '("editorconfig-core-handle")) + + +;;; Generated autoloads from editorconfig-fnmatch.el + +(register-definition-prefixes "editorconfig-fnmatch" '("editorconfig-fnmatch-")) + + +;;; Generated autoloads from editorconfig-tools.el + +(autoload 'editorconfig-apply "editorconfig-tools" "\ +Get and apply EditorConfig properties to current buffer. + +This function does not respect the values of `editorconfig-exclude-modes' and +`editorconfig-exclude-regexps' and always applies available properties. +Use `editorconfig-mode-apply' instead to make use of these variables." t) +(autoload 'editorconfig-find-current-editorconfig "editorconfig-tools" "\ +Find the closest .editorconfig file for current file." t) +(autoload 'editorconfig-display-current-properties "editorconfig-tools" "\ +Display EditorConfig properties extracted for current buffer." t) +(defalias 'describe-editorconfig-properties #'editorconfig-display-current-properties) +(register-definition-prefixes "editorconfig-tools" '("editorconfig-mode-apply")) + + +;;; Generated autoloads from which-key.el + +(push (purecopy '(which-key 3 6 1)) package--builtin-versions) +(defvar which-key-mode nil "\ +Non-nil if Which-Key mode is enabled. +See the `which-key-mode' command +for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `which-key-mode'.") +(custom-autoload 'which-key-mode "which-key" nil) +(autoload 'which-key-mode "which-key" "\ +Toggle `which-key-mode'. + +`which-key' is a minor mode that displays the key bindings following +your currently entered incomplete command (a prefix) in a popup. + +For example, after enabling the minor mode, if you enter \\`C-x' and +wait for one second (by default), the minibuffer will expand with all +available key bindings that follow \\`C-x' (or as many as space allows +given your settings). + +This is a global minor mode. If called interactively, toggle the +`Which-Key mode' mode. If the prefix argument is positive, enable the +mode, and if it is zero or negative, disable the mode. + +If called from Lisp, toggle the mode if ARG is `toggle'. Enable the +mode if ARG is nil, omitted, or is a positive number. Disable the mode +if ARG is a negative number. + +To check whether the minor mode is enabled in the current buffer, +evaluate `(default-value \\='which-key-mode)'. + +The mode's hook is called both when the mode is enabled and when it is +disabled. + +(fn &optional ARG)" t) +(autoload 'which-key-setup-side-window-right "which-key" "\ +Set up side-window on right." t) +(autoload 'which-key-setup-side-window-right-bottom "which-key" "\ +Set up side-window on right if space allows. +Otherwise, use bottom." t) +(autoload 'which-key-setup-side-window-bottom "which-key" "\ +Set up side-window that opens on bottom." t) +(autoload 'which-key-setup-minibuffer "which-key" "\ +Set up minibuffer display. +Do not use this setup if you use the paging commands. Instead use +`which-key-setup-side-window-bottom', which is nearly identical +but more functional." t) +(autoload 'which-key-add-keymap-based-replacements "which-key" "\ +Replace the description of KEY using REPLACEMENT in KEYMAP. +KEY should take a format suitable for use in `kbd'. REPLACEMENT +should be a cons cell of the form (STRING . COMMAND) for each +REPLACEMENT, where STRING is the replacement string and COMMAND +is a symbol corresponding to the intended command to be +replaced. COMMAND can be nil if the binding corresponds to a key +prefix. An example is + +(which-key-add-keymap-based-replacements global-map + \"C-x w\" \\='(\"Save as\" . write-file)). + +For backwards compatibility, REPLACEMENT can also be a string, +but the above format is preferred, and the option to use a string +for REPLACEMENT will eventually be removed. + +(fn KEYMAP KEY REPLACEMENT &rest MORE)") +(function-put 'which-key-add-keymap-based-replacements 'lisp-indent-function 'defun) +(autoload 'which-key-add-key-based-replacements "which-key" "\ +Replace the description of KEY-SEQUENCE with REPLACEMENT. +KEY-SEQUENCE is a string suitable for use in `kbd'. +REPLACEMENT may either be a string, as in + +(which-key-add-key-based-replacements \"C-x 1\" \"maximize\") + +a cons of two strings as in + +(which-key-add-key-based-replacements \"C-x 8\" + \\='(\"unicode\" . \"Unicode keys\")) + +or a function that takes a (KEY . BINDING) cons and returns a +replacement. + +In the second case, the second string is used to provide a longer +name for the keys under a prefix. + +MORE allows you to specify additional KEY REPLACEMENT pairs. All +replacements are added to `which-key-replacement-alist'. + +(fn KEY-SEQUENCE REPLACEMENT &rest MORE)") +(autoload 'which-key-add-major-mode-key-based-replacements "which-key" "\ +Functions like `which-key-add-key-based-replacements'. +The difference is that MODE specifies the `major-mode' that must +be active for KEY-SEQUENCE and REPLACEMENT (MORE contains +addition KEY-SEQUENCE REPLACEMENT pairs) to apply. + +(fn MODE KEY-SEQUENCE REPLACEMENT &rest MORE)") +(function-put 'which-key-add-major-mode-key-based-replacements 'lisp-indent-function 'defun) +(autoload 'which-key-reload-key-sequence "which-key" "\ +Simulate entering the key sequence KEY-SEQ. +KEY-SEQ should be a list of events as produced by +`listify-key-sequence'. If nil, KEY-SEQ defaults to +`which-key--current-key-list'. Any prefix arguments that were +used are reapplied to the new key sequence. + +(fn &optional KEY-SEQ)") +(autoload 'which-key-show-standard-help "which-key" "\ +Call the command in `which-key--prefix-help-cmd-backup'. +Usually this is `describe-prefix-bindings'. + +(fn &optional _)" t) +(autoload 'which-key-show-next-page-no-cycle "which-key" "\ +Show next page of keys or `which-key-show-standard-help'." t) +(autoload 'which-key-show-previous-page-no-cycle "which-key" "\ +Show previous page of keys if one exists." t) +(autoload 'which-key-show-next-page-cycle "which-key" "\ +Show the next page of keys, cycling from end to beginning. + +(fn &optional _)" t) +(autoload 'which-key-show-previous-page-cycle "which-key" "\ +Show the previous page of keys, cycling from beginning to end. + +(fn &optional _)" t) +(autoload 'which-key-show-top-level "which-key" "\ +Show top-level bindings. + +(fn &optional _)" t) +(autoload 'which-key-show-major-mode "which-key" "\ +Show top-level bindings in the map of the current major mode. +This function will also detect evil bindings made using +`evil-define-key' in this map. These bindings will depend on the +current evil state. + +(fn &optional ALL)" t) +(autoload 'which-key-show-full-major-mode "which-key" "\ +Show all bindings in the map of the current major mode. +This function will also detect evil bindings made using +`evil-define-key' in this map. These bindings will depend on the +current evil state." t) +(autoload 'which-key-dump-bindings "which-key" "\ +Dump bindings from PREFIX into buffer named BUFFER-NAME. +PREFIX should be a string suitable for `kbd'. + +(fn PREFIX BUFFER-NAME)" t) +(autoload 'which-key-undo-key "which-key" "\ +Undo last keypress and force which-key update. + +(fn &optional _)" t) +(autoload 'which-key-C-h-dispatch "which-key" "\ +Dispatch \\`C-h' commands by looking up key in `which-key-C-h-map'. +This command is always accessible (from any prefix) if +`which-key-use-C-h-commands' is non nil." t) +(autoload 'which-key-show-keymap "which-key" "\ +Show the top-level bindings in KEYMAP using which-key. +KEYMAP is selected interactively from all available keymaps. + +If NO-PAGING is non-nil, which-key will not intercept subsequent +keypresses for the paging functionality. + +(fn KEYMAP &optional NO-PAGING)" t) +(autoload 'which-key-show-full-keymap "which-key" "\ +Show all bindings in KEYMAP using which-key. +KEYMAP is selected interactively from all available keymaps. + +(fn KEYMAP)" t) +(autoload 'which-key-show-minor-mode-keymap "which-key" "\ +Show the top-level bindings in KEYMAP using which-key. +KEYMAP is selected interactively by mode in +`minor-mode-map-alist'. + +(fn &optional ALL)" t) +(autoload 'which-key-show-full-minor-mode-keymap "which-key" "\ +Show all bindings in KEYMAP using which-key. +KEYMAP is selected interactively by mode in +`minor-mode-map-alist'." t) +(register-definition-prefixes "which-key" '("evil-state" "which-key-")) + ;;; End of scraped data (provide 'loaddefs) ;; Local Variables: -;; no-byte-compile: t ;; version-control: never ;; no-update-autoloads: t ;; no-native-compile: t +;; no-byte-compile: t ;; coding: utf-8-emacs-unix ;; End: commit c3c27a919c2b4552da672391606ab336a5783d35 Merge: b9f2ef2a333 88e1ec22f27 Author: Eli Zaretskii Date: Sat Jul 27 04:27:53 2024 -0400 Merge from origin/emacs-30 88e1ec22f27 Update to Org 9.7.9 1ae2f004473 Fix edge-case with 'which-key-dont-use-unicode' setter 68a5f1f7d18 NS: prevent makeKeyWindow warnings (bug#69525) 59a895ec499 ; * .gitignore: Add lisp/eshell/esh-groups.el. 5c08cd4e7c3 ; * doc/emacs/cmdargs.texi (Initial Options): Fix last ch... 309d0a71864 Add PROBLEMS entry for bug#72303 87389f9ff90 ; Improve documentation of 'line-prefix' and 'wrap-prefix'. 268a2d10fc9 Improve documentation of '--init-directory' command-line ... c27055a938a ; cperl-mode.el: Fix fontification of flip-flop (Bug#72296) fcd4e4c895d ; * admin/MAINTAINERS: Add myself for maintaining some ar... fdc133e97f6 Fix bug in server.el introduced by 0d7d835902df af527051cd3 ; * admin/MAINTAINERS: Remove Nicolas Petton. 7170282a59a lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176 68906f184cb * admin/notes/spelling: Update note. 9eea6be5abf Don't produce invalid XML with multi-line commenting style b97786d9f6e ; * etc/NEWS: Entry for 'gnus-summary-limit-to-age' (bug#... a7996615663 Standardize possessive apostrophe usage in manuals, docs,... 67faaead754 Don't refer to obsolete finder group "wp" # Conflicts: # etc/NEWS commit b9f2ef2a333fa7c813913dbba798c5ba8778eefd Author: Michael Albinus Date: Sat Jul 27 10:26:14 2024 +0200 * test/lisp/net/tramp-tests.el (tramp-test42-utf8): Don't test "Tifinagh". diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index 7673ee88569..d428ae0096b 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -7600,9 +7600,8 @@ This requires restrictions of file name syntax." ;; Use all available language specific snippets. (lambda (x) (and - ;; The "Oriya" and "Odia" languages use some problematic - ;; composition characters. - (not (member (car x) '("Oriya" "Odia"))) + ;; Some languages use problematic composition characters. + (not (member (car x) '("Oriya" "Odia" "Tifinagh"))) (stringp (setq x (eval (get-language-info (car x) 'sample-text) t))) ;; Filter out strings which use unencodable characters. (not (and (or (tramp--test-gvfs-p) (tramp--test-smb-p)) commit 29d4ba56258be582e3f98f1ac1e2a8bb3fc6ae1e Author: Michael Albinus Date: Sat Jul 27 10:25:52 2024 +0200 Improve Tramp startup time * lisp/net/tramp-cmds.el (tramp-repository-branch) (tramp-repository-version): * lisp/net/tramp-message.el (tramp-repository-branch) (tramp-repository-version): Declare. * lisp/net/trampver.el (tramp-repository-branch) (tramp-repository-version): Remove ;;;###tramp-autoload cookie. diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el index 09c48db0562..866532041c5 100644 --- a/lisp/net/tramp-cmds.el +++ b/lisp/net/tramp-cmds.el @@ -39,6 +39,8 @@ (defvar mm-7bit-chars) (defvar reporter-eval-buffer) (defvar reporter-prompt-for-summary-p) +(defvar tramp-repository-branch) +(defvar tramp-repository-version) ;;;###tramp-autoload (defun tramp-change-syntax (&optional syntax) diff --git a/lisp/net/tramp-message.el b/lisp/net/tramp-message.el index df3e9c2a616..5e1c9904aa7 100644 --- a/lisp/net/tramp-message.el +++ b/lisp/net/tramp-message.el @@ -53,6 +53,8 @@ (declare-function tramp-file-name-host-port "tramp") (declare-function tramp-file-name-user-domain "tramp") (declare-function tramp-get-default-directory "tramp") +(defvar tramp-repository-branch) +(defvar tramp-repository-version) ;;;###tramp-autoload (defcustom tramp-verbose 3 diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el index 2ffea846ecb..894b05814af 100644 --- a/lisp/net/trampver.el +++ b/lisp/net/trampver.el @@ -47,7 +47,6 @@ (defconst tramp-bug-report-address "tramp-devel@gnu.org" "Email address to send bug reports to.") -;;;###tramp-autoload (defconst tramp-repository-branch (ignore-errors ;; Suppress message from `emacs-repository-get-branch'. We must @@ -61,7 +60,6 @@ (emacs-repository-get-branch dir)))) "The repository branch of the Tramp sources.") -;;;###tramp-autoload (defconst tramp-repository-version (ignore-errors ;; Suppress message from `emacs-repository-get-version'. We must commit c1436ac64dc3b30af1ee3994ca346b9bb6984228 Author: Liu Hui Date: Tue Jul 16 18:05:46 2024 +0800 Use buffer-local value of 'comint-input-ring-size' When 'comint-read-input-ring' was reading history to the ring, the global value of 'comint-input-ring-size' was used regardless of the local value, due to the use of a temporary buffer. This change fixes the problem. * lisp/comint.el (comint-read-input-ring): Use buffer-local value of the ring size. (Bug#72138) diff --git a/lisp/comint.el b/lisp/comint.el index 8860b3edb11..4961c4e3226 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -1056,6 +1056,7 @@ See also `comint-input-ignoredups' and `comint-write-input-ring'." (ring-size (min 1500 comint-input-ring-size)) (ring (make-ring ring-size)) ;; Use possibly buffer-local values of these variables. + (ring-max-size comint-input-ring-size) (ring-separator comint-input-ring-separator) (ring-file-prefix comint-input-ring-file-prefix) (history-ignore comint-input-history-ignore) @@ -1066,7 +1067,7 @@ See also `comint-input-ignoredups' and `comint-write-input-ring'." ;; Watch for those date stamps in history files! (goto-char (point-max)) (let (start end history) - (while (and (< count comint-input-ring-size) + (while (and (< count ring-max-size) (re-search-backward ring-separator nil t) (setq end (match-beginning 0))) (goto-char (if (re-search-backward ring-separator nil t) @@ -1084,7 +1085,7 @@ See also `comint-input-ignoredups' and `comint-write-input-ring'." (not (string-equal (ring-ref ring 0) history)))) (when (= count ring-size) - (ring-extend ring (min (- comint-input-ring-size ring-size) + (ring-extend ring (min (- ring-max-size ring-size) ring-size)) (setq ring-size (ring-size ring))) (ring-insert-at-beginning ring history) commit 88e1ec22f271b127d961896b7dddcd58df289c42 Author: Kyle Meyer Date: Fri Jul 26 23:58:01 2024 -0400 Update to Org 9.7.9 diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex index b924aed8df5..b112e957d1d 100644 --- a/etc/refcards/orgcard.tex +++ b/etc/refcards/orgcard.tex @@ -1,5 +1,5 @@ % Reference Card for Org Mode -\def\orgversionnumber{9.7.8} +\def\orgversionnumber{9.7.9} \def\versionyear{2024} % latest update \input emacsver.tex diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el index 993e021f82e..d5a434e805d 100644 --- a/lisp/org/org-version.el +++ b/lisp/org/org-version.el @@ -5,13 +5,13 @@ (defun org-release () "The release version of Org. Inserted by installing Org mode or when a release is made." - (let ((org-release "9.7.8")) + (let ((org-release "9.7.9")) org-release)) ;;;###autoload (defun org-git-version () "The Git version of Org mode. Inserted by installing Org or when a release is made." - (let ((org-git-version "release_9.7.8-5-gfdf0e0")) + (let ((org-git-version "release_9.7.9")) org-git-version)) (provide 'org-version) diff --git a/lisp/org/org.el b/lisp/org/org.el index 8ca9a4b716b..0b3566121d9 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el @@ -9,7 +9,7 @@ ;; URL: https://orgmode.org ;; Package-Requires: ((emacs "26.1")) -;; Version: 9.7.8 +;; Version: 9.7.9 ;; This file is part of GNU Emacs. ;; @@ -20818,8 +20818,11 @@ end." (when (and (not (eq org-yank-image-save-method 'attach)) (not (file-directory-p org-yank-image-save-method))) (make-directory org-yank-image-save-method t)) - (with-temp-file absname - (insert data)) + ;; DATA is a raw image. Tell Emacs to write it raw, without + ;; trying to auto-detect the coding system. + (let ((coding-system-for-write 'emacs-internal)) + (with-temp-file absname + (insert data))) (if (null (eq org-yank-image-save-method 'attach)) (setq link (org-link-make-string (concat "file:" (file-relative-name absname)))) (require 'org-attach) commit 1ae2f004473c1cc26ab654481716c9efb4ecd8de Author: Philip Kaludercic Date: Fri Jul 26 23:26:14 2024 +0200 Fix edge-case with 'which-key-dont-use-unicode' setter * lisp/which-key.el (which-key-dont-use-unicode): Check if the user options have a 'standard-value' before proceeding to reevaluate. This avoids accidentally setting the symbol value to nil, before the user option has been declared, overriding the actual non-nil, default values. (Bug#72077) diff --git a/lisp/which-key.el b/lisp/which-key.el index 37b42a009f7..34de676616f 100644 --- a/lisp/which-key.el +++ b/lisp/which-key.el @@ -130,9 +130,10 @@ For affected settings, see `which-key-replacement-alist', `which-key-ellipsis' `which-key-separator'." :set (lambda (sym val) (custom-set-default sym val) - (mapc #'custom-reevaluate-setting - '(which-key-separator - which-key-ellipsis))) + (dolist (sym '(which-key-separator + which-key-ellipsis)) + (when (get sym 'standard-value) + (custom-reevaluate-setting sym)))) :initialize #'custom-initialize-changed :type 'boolean :package-version "1.0" :version "30.1") commit 68a5f1f7d185250e61538f3af764b6e4ea62433f Author: Gerd Möllmann Date: Fri Jul 26 11:48:24 2024 +0200 NS: prevent makeKeyWindow warnings (bug#69525) * src/nsterm.m (ns_raise_frame): Don't makeKeyWindow if frame has no_accept_focus set. diff --git a/src/nsterm.m b/src/nsterm.m index 575b24754e7..d25f216edd4 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -1407,7 +1407,7 @@ -(void)remove block_input (); if (FRAME_VISIBLE_P (f)) { - if (make_key) + if (make_key && !f->no_accept_focus) [[view window] makeKeyAndOrderFront: NSApp]; else [[view window] orderFront: NSApp]; commit 59a895ec4991beff9862029a712b22b47c5b70b3 Author: Eli Zaretskii Date: Fri Jul 26 16:55:10 2024 +0300 ; * .gitignore: Add lisp/eshell/esh-groups.el. diff --git a/.gitignore b/.gitignore index eb76ff330b8..9c58e2ebfac 100644 --- a/.gitignore +++ b/.gitignore @@ -130,6 +130,7 @@ lisp/cedet/semantic/wisent/python-wy.el lisp/cedet/srecode/srt-wy.el lisp/cedet/semantic/grammar-wy.el lisp/eshell/esh-module-loaddefs.el +lisp/eshell/esh-groups.el lisp/finder-inf.el lisp/leim/ja-dic/ leim/small-ja-dic-option commit 5c08cd4e7c38248ae455e3a55aa1d3f49a3d2894 Author: Eli Zaretskii Date: Fri Jul 26 16:11:16 2024 +0300 ; * doc/emacs/cmdargs.texi (Initial Options): Fix last change. diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index cd7d2be6d2f..ba4b45d272b 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -354,13 +354,13 @@ Specify the directory to use when looking for the Emacs init files. Note that this merely overrides the value of @file{user-emacs-directory}, the directory which Emacs usually determines as side effect of searching for your init file (@pxref{Find -Init}), but does not change the search for the init file. In -particular, if there's no init file in the directory named by this -option, Emacs will find and use the init file it would have used without -this option (but will search for your other per-user Emacs files in the -directory specified by this option). If you want to force Emacs to use -the init file in this directory, make sure it exists there before -starting Emacs with this option. +Init}), but does not change the search for the @file{~/.emacs} init +file. In particular, if there's no @file{init.el} file in the directory +named by this option, Emacs will find and use @file{init.el} it would +have used without this option (but will search for your other per-user +Emacs files in the directory specified by this option). If you want to +force Emacs to use @file{init.el} file in this directory, make sure it +exists there before starting Emacs with this option. @item --no-splash @opindex --no-splash commit 309d0a718644385eb73f40c5eaa967e9b1548353 Author: Po Lu Date: Fri Jul 26 20:14:43 2024 +0800 Add PROBLEMS entry for bug#72303 * etc/PROBLEMS (Runtime problems specific to PGTK build): Document that text mode sessions cannot be started without `-nw'. (bug#72303) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index f8fb9f90c0b..c1ad8321fa6 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -3472,6 +3472,22 @@ file; for example: * Runtime problems specific to PGTK build +** Whether a display server is available cannot be automatically detected. + +When started with no arguments from a text terminal and in an +environment where no display server is specified, Emacs will print: + + $ emacs + (emacs:3988): Gtk-WARNING **: 19:19:10.887: cannot open display: + +and exit. This is a byproduct of GTK's not providing any means of +probing for a display connection before committing to opening one, and +cannot be addressed by Emacs. Rather, users must expressly request a +text mode session: + + $ emacs -nw + [...] + ** SECONDARY selections don't work on Wayland. This is because the SECONDARY selection is not implemented by the commit 87389f9ff9069f8e3b11ea0ff2e55619763c2231 Author: Eli Zaretskii Date: Fri Jul 26 14:56:14 2024 +0300 ; Improve documentation of 'line-prefix' and 'wrap-prefix'. * doc/lispref/text.texi (Special Properties): Spell out more accurately how 'line-prefix' and 'wrap-prefix' properties should be set. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index bb700c279ce..196fe89a092 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -3854,13 +3854,19 @@ controls the total height of the display line ending in that newline. @xref{Line Height}. @item wrap-prefix -If text has a @code{wrap-prefix} property, the prefix it defines will -be added at display time to the beginning of every continuation line -due to text wrapping (so if lines are truncated, the wrap-prefix is -never used). It may be a string or an image (@pxref{Other Display -Specs}), or a stretch of whitespace such as specified by the -@code{:width} or @code{:align-to} display properties (@pxref{Specified -Space}). +If a region of text has a @code{wrap-prefix} property, the prefix it +defines will be added at display time to the beginning of every +continuation line due to text wrapping (so if lines are truncated, the +wrap-prefix is never used). The property value may be a string or an +image (@pxref{Other Display Specs}), or a stretch of whitespace such as +specified by the @code{:width} or @code{:align-to} display properties +(@pxref{Specified Space}). Note that to have its effect, the +@code{wrap-prefix} property must be set on the entire region of text, +starting from the first character of the first line of that text and up +to the last character of the last line; otherwise, breaking the text +into lines in a different way might fail to display the prefix, because +the display engine checks for this property only immediately after +continuing a line. A wrap-prefix may also be specified for an entire buffer using the @code{wrap-prefix} buffer-local variable (however, a @@ -3868,12 +3874,18 @@ A wrap-prefix may also be specified for an entire buffer using the the @code{wrap-prefix} variable). @xref{Truncation}. @item line-prefix -If text has a @code{line-prefix} property, the prefix it defines will -be added at display time to the beginning of every non-continuation -line. It may be a string or an image (@pxref{Other Display -Specs}), or a stretch of whitespace such as specified by the -@code{:width} or @code{:align-to} display properties (@pxref{Specified -Space}). +If a region of text has a @code{line-prefix} property, the prefix it +defines will be added at display time to the beginning of every +non-continuation line. The property value may be a string or an image +(@pxref{Other Display Specs}), or a stretch of whitespace such as +specified by the @code{:width} or @code{:align-to} display properties +(@pxref{Specified Space}). Note that to have its effect, the +@code{line-prefix} property must be set on the entire region of text, +starting from the first character of the first line of that text and up +to the last character of the last line; otherwise, breaking the text +into lines in a different way might fail to display the prefix, because +the display engine checks for this property only when starting a new +line. A line-prefix may also be specified for an entire buffer using the @code{line-prefix} buffer-local variable (however, a commit 268a2d10fc9c6578db23d54f7d790ec591cf211c Author: Eli Zaretskii Date: Fri Jul 26 09:14:43 2024 +0300 Improve documentation of '--init-directory' command-line option. * doc/emacs/custom.texi (Find Init): * doc/emacs/cmdargs.texi (Initial Options): More accurate and detailed description of what '--init-directory' does and how it affects the Emacs session. Add index entries and cross-references as needed. (Bug#72294) diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 49810ee7693..cd7d2be6d2f 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -351,6 +351,16 @@ Do not include the @file{site-lisp} directories in @code{load-path} @item --init-directory @opindex --init-directory Specify the directory to use when looking for the Emacs init files. +Note that this merely overrides the value of +@file{user-emacs-directory}, the directory which Emacs usually +determines as side effect of searching for your init file (@pxref{Find +Init}), but does not change the search for the init file. In +particular, if there's no init file in the directory named by this +option, Emacs will find and use the init file it would have used without +this option (but will search for your other per-user Emacs files in the +directory specified by this option). If you want to force Emacs to use +the init file in this directory, make sure it exists there before +starting Emacs with this option. @item --no-splash @opindex --no-splash diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 1527e42bbfe..4b16410eeec 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -2958,8 +2958,14 @@ Note also that if neither the XDG location nor @file{~/.emacs.d} exist, then Emacs will create @file{~/.emacs.d} (and therefore use it during subsequent invocations). +@vindex user-emacs-directory Emacs will set @code{user-emacs-directory} to the directory it decides -to use. +to use. This directory is subsequently used to look for your other +user-specific Emacs files, such as @code{custom-file} (@pxref{Saving +Customizations}), the saved desktop (@pxref{Saving Emacs Sessions}) and +others. The @code{--init-directory} command-line option (@pxref{Initial +Options}) overrides the value of @code{user-emacs-directory} determined +as side effect of the search for your user init file described above. Although this is backward-compatible with older Emacs versions, modern POSIX platforms prefer putting your initialization files under commit c27055a938aadec81e4603d00e7d0997c4d2579f Author: Harald Jörg Date: Thu Jul 25 22:00:10 2024 +0200 ; cperl-mode.el: Fix fontification of flip-flop (Bug#72296) * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Prevent a movement of point from bleeding into a following clause. * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-72296): Add a test for the flip-flop operator with code from the report. diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 217125e1599..3353bffdf05 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -4651,7 +4651,7 @@ recursive calls in starting lines of here-documents." (and (eq (preceding-char) ?\}) (cperl-after-block-p (point-min))) (and (eq (char-syntax (preceding-char)) ?w) - (progn + (save-excursion (forward-sexp -1) ;; After these keywords `/' ;; starts a RE. One should diff --git a/test/lisp/progmodes/cperl-mode-tests.el b/test/lisp/progmodes/cperl-mode-tests.el index 02230049596..7a6e0b3b64a 100644 --- a/test/lisp/progmodes/cperl-mode-tests.el +++ b/test/lisp/progmodes/cperl-mode-tests.el @@ -1573,6 +1573,23 @@ not appropriate." (should (equal (get-text-property (point) 'face) font-lock-string-face)))))) +(ert-deftest cperl-test-bug-72296 () + "Verify that the perl modes correctly handle the flip-flop operator. +Two successive dots are an operator. A slash immediately following them +starts a regular expression, if there's another term between the dots +and the slash, then we have a division." + :tags '(:fontification) + ;; Code from the bug report. The slash is a division. The following + ;; number is not a string. + (let ((code "for (2..$n/2) { ...; }")) + (should (equal (nth 8 (cperl-test-ppss code "/")) nil))) + ;; This is what the test for two successive dots wants to catch: The + ;; flip-flop operator. Here, the number is part of a regexp, seen as + ;; a string. + (let ((code "for (2../2/) { ...; }")) + (should (equal (nth 8 (cperl-test-ppss code "/")) 9))) + ) + (ert-deftest test-indentation () (ert-test-erts-file (ert-resource-file "cperl-indents.erts"))) commit fcd4e4c895de57ade38e609021769e3e63399a14 Author: Juri Linkov Date: Thu Jul 25 21:29:22 2024 +0300 ; * admin/MAINTAINERS: Add myself for maintaining some areas. diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index 23b4b246523..eb0fef665e6 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS @@ -225,6 +225,10 @@ Jim Porter test/lisp/eshell/* doc/misc/eshell.texi +Juri Linkov + lisp/tab-bar.el + lisp/tab-line.el + ============================================================================== 2. Areas that someone is willing to maintain, although he would not necessarily mind if someone else was the official maintainer. @@ -352,6 +356,17 @@ Po Lu Daniel Pettersson lisp/jsonrpc.el +Juri Linkov + Isearch and Replace + lisp/isearch.el + lisp/replace.el + lisp/misearch.el + lisp/hi-lock.el + Outline minor mode + lisp/outline.el + Repeat mode + lisp/repeat.el + ============================================================================== 3. Externally maintained packages. ============================================================================== commit fdc133e97f6527693571472d058beb0e4fb80343 Author: Andrea Corallo Date: Thu Jul 25 17:30:25 2024 +0200 Fix bug in server.el introduced by 0d7d835902df 0d7d835902df renamed 'server--process-filter' into 'server--process-filter-1' but updated the corresponding 'cl-return-from' tag to 'server--process-filter'. * lisp/server.el (server--process-filter-1): Fix 'cl-return-from' tag. diff --git a/lisp/server.el b/lisp/server.el index 27fbe95b64b..abfd3d4d753 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -1216,7 +1216,7 @@ The following commands are accepted by the client: ;; FIXME: Why do we wait 1s here but 5s in the other one? (run-with-timer 1 nil #'delete-process proc) ;; We return immediately. - (cl-return-from server--process-filter))) + (cl-return-from server--process-filter-1))) (let ((prev (process-get proc 'previous-string))) (when prev (setq string (concat prev string)) commit af527051cd33a90321ab2bac8c0f1f7bcb0af441 Author: Stefan Kangas Date: Thu Jul 25 16:15:52 2024 +0200 ; * admin/MAINTAINERS: Remove Nicolas Petton. Change agreed with Nicolas Petton . diff --git a/admin/MAINTAINERS b/admin/MAINTAINERS index c15401ddeb2..23b4b246523 100644 --- a/admin/MAINTAINERS +++ b/admin/MAINTAINERS @@ -84,14 +84,6 @@ Michael Albinus Simen Heggestøyl lisp/textmodes/css-mode.el -Nicolas Petton - lisp/emacs-lisp/map.el - test/lisp/emac-lisp/map-tests.el - lisp/emacs-lisp/seq.el - test/lisp/emac-lisp/seq-tests.el - lisp/emacs-lisp/thunk.el - test/lisp/emac-lisp/thunk-tests.el - The GNU AUCTeX maintainers (auctex-devel@gnu.org) RefTeX lisp/textmodes/reftex-auc.el @@ -334,10 +326,6 @@ Michael Albinus doc/misc/auth.texi test/lisp/auth-source-tests.el -Nicolas Petton - lisp/emacs-lisp/subr-x.el - lisp/arc-mode.el - Tassilo Horn lisp/doc-view.el diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index a20cff16982..73c22d2d4a7 100644 --- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -3,12 +3,11 @@ ;; Copyright (C) 2014-2024 Free Software Foundation, Inc. ;; Author: Nicolas Petton +;; Maintainer: emacs-devel@gnu.org ;; Keywords: sequences ;; Version: 2.24 ;; Package: seq -;; Maintainer: emacs-devel@gnu.org - ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify diff --git a/lisp/emacs-lisp/thunk.el b/lisp/emacs-lisp/thunk.el index 1776ca0de40..e2a83b06b30 100644 --- a/lisp/emacs-lisp/thunk.el +++ b/lisp/emacs-lisp/thunk.el @@ -3,12 +3,11 @@ ;; Copyright (C) 2015-2024 Free Software Foundation, Inc. ;; Author: Nicolas Petton +;; Maintainer: emacs-devel@gnu.org ;; Keywords: sequences ;; Version: 1.0 ;; Package: thunk -;; Maintainer: emacs-devel@gnu.org - ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify commit 7170282a59a1981cd44f46d69a28f2c47a46884b Author: Stefan Monnier Date: Thu Jul 25 08:39:38 2024 -0400 lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176 diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index baed4edcf89..bef565378ea 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -3343,7 +3343,7 @@ same as `substitute-in-file-name'." (file-error nil))) ;PCM often calls with invalid directories. (defun completion--sifn-requote (upos qstr) - ;; We're looking for `qpos' such that: + ;; We're looking for (the largest) `qpos' such that: ;; (equal (substring (substitute-in-file-name qstr) 0 upos) ;; (substitute-in-file-name (substring qstr 0 qpos))) ;; Big problem here: we have to reverse engineer substitute-in-file-name to @@ -3373,11 +3373,13 @@ same as `substitute-in-file-name'." ;; Main assumption: nothing after qpos should affect the text before upos, ;; so we can work our way backward from the end of qstr, one character ;; at a time. - ;; Second assumptions: If qpos is far from the end this can be a bit slow, + ;; Second assumption: If qpos is far from the end this can be a bit slow, ;; so we speed it up by doing a first loop that skips a word at a time. ;; This word-sized loop is careful not to cut in the middle of env-vars. (while (let ((boundary (string-match "\\(\\$+{?\\)?\\w+\\W*\\'" qstr))) (and boundary + ;; Try and make sure we keep the largest `qpos' (bug#72176). + (not (string-match-p "/[/~]" qstr boundary)) (progn (setq qprefix (substring qstr 0 boundary)) (string-prefix-p uprefix commit 68906f184cba8b1fb75401917cccfe219f6826b0 Author: Stefan Kangas Date: Thu Jul 25 12:06:21 2024 +0200 * admin/notes/spelling: Update note. diff --git a/admin/notes/spelling b/admin/notes/spelling index b20f68bf624..e0cf3998ace 100644 --- a/admin/notes/spelling +++ b/admin/notes/spelling @@ -8,4 +8,10 @@ Re "behavior" vs "behaviour", etc. - It's probably (IMHO --ttn, 2017-10-13) not a high priority to change existing text; use your best judgment (ask if unsure). +- The admin/run-codespell script treats many non-US spellings as + typos and fixes them. It does not consider Lisp symbols. + +- Consider renaming especially commands and user options for + consistency. Leave obsolete aliases, as always. + - https://lists.gnu.org/r/emacs-devel/2005-06/msg00489.html commit 9eea6be5abffa91d21ea299158d5a2cd6cfb5089 Author: Konstantin Kharlamov Date: Tue Jun 25 12:26:12 2024 +0300 Don't produce invalid XML with multi-line commenting style Both XML and HTML forbid double hyphens inside comments. However, nxml-mode was using a `!--' as a comment padding if `comment-style' was set to any of the styles that supposed to add padding. This infix was auto-derived due to `comment-continue' being nil. To fix that set `comment-continue' explicitly. It's unclear what padding should be used, but from looking at other editors it seems they don't typically add padding in XML, so let's be simple for now and just set `comment-continue' to empty string. * lisp/nxml/nxml-mode.el (nxml-mode): Make 'comment-continue' a buffer-local variable set to the empty string. (Bug#71772) diff --git a/lisp/nxml/nxml-mode.el b/lisp/nxml/nxml-mode.el index 02391dc6968..a58d3f3c75f 100644 --- a/lisp/nxml/nxml-mode.el +++ b/lisp/nxml/nxml-mode.el @@ -531,6 +531,7 @@ Many aspects this mode can be customized using (setq-local comment-end-skip "[ \t\r\n]*-->") (setq-local comment-line-break-function #'nxml-newline-and-indent) (setq-local comment-quote-nested-function #'nxml-comment-quote-nested) + (setq-local comment-continue "") ; avoid double-hyphens as a padding (save-excursion (save-restriction (widen) commit b97786d9f6ec242501e8db40bb4da08f0f64d04d Author: Eli Zaretskii Date: Thu Jul 25 10:41:18 2024 +0300 ; * etc/NEWS: Entry for 'gnus-summary-limit-to-age' (bug#72204). diff --git a/etc/NEWS b/etc/NEWS index ea0ea978f23..90e3a42beb1 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1705,6 +1705,11 @@ This allows the user to either disable the display of any logo or specify which logo will be displayed as part of the buffer-identification in the mode-line of Gnus buffers. +--- +*** 'gnus-summary-limit-to-age' now counts days since midnight. +"Less than 1 day" now means "since last midnight", rather than "less +than 24 hours old". + ** Rmail --- commit a79966156633ae1e49e3fef17ff7212c8f35a26f Author: Stefan Kangas Date: Thu Jul 25 03:35:04 2024 +0200 Standardize possessive apostrophe usage in manuals, docs, and comments See the note in admin/notes/documentation. Ref: https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index c56b37ce9b7..8744687a531 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -589,7 +589,7 @@ The @dfn{external border} is part of the decorations supplied by the window manager. It is typically used for resizing the frame with the mouse and is therefore not shown on ``fullboth'' and maximized frames (@pxref{Size Parameters}). Its width is determined by the window -manager and cannot be changed by Emacs' functions. +manager and cannot be changed by Emacs's functions. External borders don't exist on text terminal frames. For graphical frames, their display can be suppressed by setting the @@ -2283,7 +2283,7 @@ it on an undecorated frame. If non-@code{nil}, this means that this is an @dfn{override redirect} frame---a frame not handled by window managers under X@. Override redirect frames have no window manager decorations, can be positioned -and resized only via Emacs' positioning and resizing functions and are +and resized only via Emacs's positioning and resizing functions and are usually drawn on top of all other frames. Setting this parameter has no effect on MS-Windows. @@ -2780,7 +2780,7 @@ visible, even though only the selected one is actually displayed. @end defun @defun frame-list-z-order &optional display -This function returns a list of Emacs' frames, in Z (stacking) order +This function returns a list of Emacs's frames, in Z (stacking) order (@pxref{Raising and Lowering}). The optional argument @var{display} specifies which display to poll. @var{display} should be either a frame or a display name (a string). If omitted or @code{nil}, that stands for @@ -3157,7 +3157,7 @@ A frame on a graphical display may be @dfn{visible}, @dfn{invisible}, or usual manner. If it is iconified, its contents are not displayed, but there is a little icon somewhere to bring the frame back into view (some window managers refer to this state as @dfn{minimized} rather than -@dfn{iconified}, but from Emacs' point of view they are the same thing). +@dfn{iconified}, but from Emacs's point of view they are the same thing). If a frame is invisible, it is not displayed at all. @cindex mapped frame diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 0cf41072ec3..0131305525c 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -2059,7 +2059,7 @@ is the better way to modify a named function because it keeps track of the modifications, so they can be listed and undone. Modifying a named function should be reserved for -the cases where you cannot modify Emacs' behavior in any other way. +the cases where you cannot modify Emacs's behavior in any other way. If it is possible to do the same thing via a hook, that is preferable (@pxref{Hooks}). If you simply want to change what a particular key does, it may be better to write a new command, and remap the old diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 1c5cc0e20b4..e5d552815e0 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -732,7 +732,7 @@ character, a symbol whose name is the script to which the character belongs, according to the Unicode Standard classification of the Unicode code space into script-specific blocks. This char-table has a single extra slot whose value is the list of all script symbols. Note -that Emacs' classification of characters into scripts is not a 1-for-1 +that Emacs's classification of characters into scripts is not a 1-for-1 reflection of the Unicode standard, e.g. there is no @samp{symbol} script in Unicode. @end defvar diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi index eb0b4ca213c..6f7b7af12dd 100644 --- a/doc/lispref/package.texi +++ b/doc/lispref/package.texi @@ -133,7 +133,7 @@ file (@pxref{Init File,,, emacs, The GNU Emacs Manual}). @end defun @deffn Command package-initialize &optional no-activate -This function initializes Emacs' internal record of which packages are +This function initializes Emacs's internal record of which packages are installed, and then calls @code{package-activate-all}. The optional argument @var{no-activate}, if non-@code{nil}, causes diff --git a/doc/lispref/parsing.texi b/doc/lispref/parsing.texi index 21e14b4632c..8f3c2b4a366 100644 --- a/doc/lispref/parsing.texi +++ b/doc/lispref/parsing.texi @@ -2159,7 +2159,7 @@ node is a defun node but doesn't have a name, or the node is @node Tree-sitter C API @section Tree-sitter C API Correspondence -Emacs' tree-sitter integration doesn't expose every feature +Emacs's tree-sitter integration doesn't expose every feature provided by tree-sitter's C API@. Missing features include: @itemize diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 7cefd581afb..7b4a9100e77 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -1977,7 +1977,7 @@ To help diagnose problems in your regexps or in the regexp engine itself, this function returns a string describing the compiled form of @var{regexp}. To make sense of it, it can be necessary to read at least the description of the @code{re_opcode_t} type in the -@code{src/regex-emacs.c} file in Emacs' source code. +@code{src/regex-emacs.c} file in Emacs's source code. It is currently able to give a meaningful description only if Emacs was compiled with @code{--enable-checking}. diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 411450cdc42..9ee5b679fed 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -2218,7 +2218,7 @@ outdated. Tools available here that are useful for Emacs include: @item OpenSSL - used by @code{gnus} to talk to servers over SSL. @item Patch - used by @code{ediff-patch-file} and others to apply patches. @item Tar - used by @code{tar-mode} to edit tar files. -@item TexInfo - used to build Emacs' manuals. +@item TexInfo - used to build Emacs's manuals. @item Unzip - used by @code{archive-mode} for extracting zip files. @item Xpm - library to support XPM images (bundled with Emacs binaries) @item Zip - used by @code{archive-mode} for editing zip files. @@ -2245,7 +2245,7 @@ image libraries that it provides, even if they are not on the @findex man Man pages for Emacs and other ported programs that you have can be -read using Emacs' built-in manual reader @code{woman}. This +read using Emacs's built-in manual reader @code{woman}. This requires no external programs, but if you do have a port of @command{man}, there is also an Emacs wrapper @code{man} that which may be slightly faster. A Windows version of @command{man} is diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index 858e1ba34dc..33f35d9b5c6 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -2127,7 +2127,7 @@ to IRC, and don't forget that you can roll back to the previous version by running @kbd{M-x package-delete @key{RET}}. @xref{Packages,,,emacs, The Emacs Editor}, for more information. -Note that a bug affecting Emacs' packaging machinery may prevent the +Note that a bug affecting Emacs's packaging machinery may prevent the above method from working on Emacs versions 29 and below. Users on 29 can try running @kbd{C-u M-x package-install @key{RET}} instead. Users on 28 and below can click on the @emph{installed} @samp{erc} diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index f4c87bd64dd..dbe4da29d54 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -12075,7 +12075,7 @@ article buffer. There are many methods for doing that, but two of them are kind of default methods. If your Emacs copy has been built with libxml2 support, then Gnus uses -Emacs' built-in, plain elisp Simple HTML Renderer @code{shr} +Emacs's built-in, plain elisp Simple HTML Renderer @code{shr} @footnote{@code{shr} displays colors as declared in the @acronym{HTML} article but tries to adjust them in order to be readable. If you prefer more contrast, @xref{FAQ 4-16}.} which is also used by Emacs' diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index 20fa93c6dbc..70ba8cdc02f 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/modus-themes.org @@ -144,7 +144,7 @@ and covers everything that goes into every tagged release of the themes. :end: The Modus themes are distributed with Emacs starting with version 28.1. -On older versions of Emacs, they can be installed using Emacs' package +On older versions of Emacs, they can be installed using Emacs's package manager or manually from their code repository. There also exist packages for distributions of GNU/Linux. @@ -4769,7 +4769,7 @@ and/or mode line setup. :custom_id: h:4cc767dc-ffef-4c5c-9f10-82eb7b8921bf :end: -Emacs' HTML rendering library ({{{file(shr.el)}}}) may need explicit +Emacs's HTML rendering library ({{{file(shr.el)}}}) may need explicit configuration to respect the theme's colors instead of whatever specifications the webpage provides. diff --git a/doc/misc/org.org b/doc/misc/org.org index dc7d8ef166f..dcc1ddc7f44 100644 --- a/doc/misc/org.org +++ b/doc/misc/org.org @@ -3359,7 +3359,7 @@ Here is the full set of built-in link types: - =gnus=, =rmail=, =mhe= :: - Link to messages or folders from a given Emacs' MUA. + Link to messages or folders from a given Emacs MUA. - =help= :: @@ -23201,7 +23201,7 @@ than 30 stars. This is a hard-coded limitation of ~lmax~ in 2003, not the beginning of time. [fn:29] On computers using macOS, idleness is based on actual user -idleness, not just Emacs' idle time. For X11, you can install a +idleness, not just Emacs's idle time. For X11, you can install a utility program =x11idle.c=, available in the =org-contrib/= repository, or install the xprintidle package and set it to the variable ~org-clock-x11idle-program-name~ if you are running Debian, diff --git a/doc/misc/transient.texi b/doc/misc/transient.texi index 7419ce39206..10e4c9deef1 100644 --- a/doc/misc/transient.texi +++ b/doc/misc/transient.texi @@ -1458,7 +1458,7 @@ When returning to the command-loop after calling the suffix command, the arguments are reset to @code{nil} (which causes the function to return @code{nil} too). -Like for Emacs' prefix arguments, it is advisable, but not mandatory, +Like for Emacs's prefix arguments, it is advisable, but not mandatory, to access the infix arguments inside the command's @code{interactive} form. The preferred way of doing that is to call the @code{transient-args} function, which for infix arguments serves about the same purpose as diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi index 9e11b349f20..da3deb081d9 100644 --- a/doc/misc/use-package.texi +++ b/doc/misc/use-package.texi @@ -575,7 +575,7 @@ add @code{:demand t} to those declarations. Some users want to put all their customizations in use-package declarations, even for variables, hooks, and options that are always available, without loading any package.@footnote{In other words, they -are either preloaded in Emacs or defined in Emacs' C sources.} +are either preloaded in Emacs or defined in Emacs's C sources.} For that purpose, you can use the no-op @samp{emacs} package: @@ -640,7 +640,7 @@ simply use @code{:if} and the appropriate Lisp expression. @node Manual installation @section Manually installed package -When installing packages manually, without Emacs' built-in package +When installing packages manually, without Emacs's built-in package manager (@file{package.el}), it will obviously not help you set up autoloads or add it to your @code{load-path}. You must do it yourself. However, use-package makes this more convenient. diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index d42fe09240a..ad59ce03a4a 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi @@ -1800,7 +1800,7 @@ But @samp{rules} part is parsed in Bison style! Why? Rule delimiters are the colon (@code{:}), that follows the nonterminal name, and a final semicolon (@code{;}). Unfortunately these delimiters are not @code{open-paren}/@code{close-paren} type, and the -Emacs' syntactic analyzer can't easily isolate data between them to +Emacs syntactic analyzer can't easily isolate data between them to produce a @samp{RULES_PART} parenthesis-block-like lexical token. Consequently it is not possible to use @code{EXPANDFULL} to iterate in @samp{RULES_PART}, like this: diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index c5d1e872033..22212fa6d07 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -693,8 +693,8 @@ Org-Org (=ox-org=) export. The default value is ~t~. *** New option ~org-babel-comint-fallback-regexp-threshold~ -Org babel is often using Emacs' interactive REPL feature to implement -:session functionality in code blocks. However, Emacs' REPLs use +Org babel is often using Emacs's interactive REPL feature to implement +:session functionality in code blocks. However, Emacs's REPLs use heuristics to detect which lines in the REPL buffer correspond to output and which lines are user prompts. @@ -1990,7 +1990,7 @@ When ~org-latex-src-block-backend~ is set to ~engraved~, =engrave-faces-latex= from [[http://elpa.gnu.org/packages/engrave-faces.html][engrave-faces]] is used to transcode source blocks to LaTeX. This requires the =fvextra=, =float=, and (by default, but not necessarily) =tcolorbox= LaTeX packages be -installed. It uses Emacs' font-lock information, and so tends to +installed. It uses Emacs's font-lock information, and so tends to produce results superior to Minted or Listings. *** Support for =#+include=-ing URLs @@ -8181,7 +8181,7 @@ that Calc formulas can operate on them. **** org-ctags.el (Paul Sexton) - Targets like =<>= can now be found by Emacs' etag + Targets like =<>= can now be found by Emacs's etag functionality, and Org-mode links can be used to link to etags, also in non-Org-mode files. For details, see the file /org-ctags.el/. diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL index 4718e0d9430..6398beda17a 100644 --- a/etc/tutorials/TUTORIAL +++ b/etc/tutorials/TUTORIAL @@ -1103,7 +1103,7 @@ The manual also describes many other Emacs features. --------------------- There's a rich set of packages for Emacs written by the community, -which extend Emacs' capabilities. These packages include support for +which extend Emacs's capabilities. These packages include support for new languages, additional themes, plugins for integrating with external applications, and much, much more. diff --git a/lisp/cedet/semantic/wisent/grammar.el b/lisp/cedet/semantic/wisent/grammar.el index 7911dc04564..240157dc9b1 100644 --- a/lisp/cedet/semantic/wisent/grammar.el +++ b/lisp/cedet/semantic/wisent/grammar.el @@ -518,7 +518,7 @@ Menu items are appended to the common grammar menu.") (delete-trailing-whitespace)))))) (defun wisent-make-parsers () - "Generate Emacs' built-in Wisent-based parser files." + "Generate Emacs's built-in Wisent-based parser files." (interactive) (semantic-mode 1) ;; Loop through each .wy file in current directory, and run diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index c6586197fd4..c674a6b7a4d 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -39,7 +39,7 @@ ;; C-v -> paste ;; ;; The tricky part is the handling of the C-x and C-c keys which -;; are normally used as prefix keys for most of Emacs' built-in +;; are normally used as prefix keys for most of Emacs's built-in ;; commands. With CUA they still do!!! ;; ;; Only when the region is currently active (and highlighted since @@ -138,7 +138,7 @@ ;; cua-mode's superior rectangle support uses a true visual ;; representation of the selected rectangle, i.e. it highlights the ;; actual part of the buffer that is currently selected as part of the -;; rectangle. Unlike Emacs' traditional rectangle commands, the +;; rectangle. Unlike Emacs's traditional rectangle commands, the ;; selected rectangle always as straight left and right edges, even ;; when those are in the middle of a TAB character or beyond the end ;; of the current line. And it does this without actually modifying diff --git a/lisp/external-completion.el b/lisp/external-completion.el index 4588640d0ad..f104c4a3758 100644 --- a/lisp/external-completion.el +++ b/lisp/external-completion.el @@ -40,7 +40,7 @@ ;; other in `completion-styles' are ignored. ;; ;; This compromise is for speed: all other styles need the full data -;; set to be available in Emacs' addressing space, which is often slow +;; set to be available in Emacs's addressing space, which is often slow ;; if not completely unfeasible. ;; ;; To make use of the `external' style the function diff --git a/lisp/frame.el b/lisp/frame.el index d2376f1e339..64f0d054df8 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -2021,7 +2021,7 @@ workarea attribute." (declare-function android-frame-list-z-order "androidfns.c" (&optional display)) (defun frame-list-z-order (&optional display) - "Return list of Emacs' frames, in Z (stacking) order. + "Return list of Emacs's frames, in Z (stacking) order. The optional argument DISPLAY specifies which display to poll. DISPLAY should be either a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. diff --git a/lisp/frameset.el b/lisp/frameset.el index 18e2a3ac666..488c4e14a7a 100644 --- a/lisp/frameset.el +++ b/lisp/frameset.el @@ -179,7 +179,7 @@ Properties can be set with ;; What's the deal with these "filter alists"? ;; -;; Let's say that Emacs' frame parameters were never designed as a tool to +;; Let's say that Emacs's frame parameters were never designed as a tool to ;; precisely record (or restore) a frame's state. They grew organically, ;; and their uses and behaviors reflect their history. In using them to ;; implement framesets, the unwary implementer, or the prospective package @@ -277,7 +277,7 @@ Properties can be set with ;; display they do no harm, but they clutter the parameter alist. ;; ;; - `minibuffer': It can contain a reference to a live window, which cannot -;; be serialized. Because of Emacs' idiosyncratic treatment of this +;; be serialized. Because of Emacs's idiosyncratic treatment of this ;; parameter, frames created with (minibuffer . t) have a parameter ;; (minibuffer . #), while frames created with ;; (minibuffer . #) have (minibuffer . nil), which is madness diff --git a/lisp/kmacro.el b/lisp/kmacro.el index fa5572ec963..50ff875de52 100644 --- a/lisp/kmacro.el +++ b/lisp/kmacro.el @@ -22,7 +22,7 @@ ;;; Commentary: -;; The kmacro package provides the user interface to Emacs' basic +;; The kmacro package provides the user interface to Emacs's basic ;; keyboard macro functionality. With kmacro, two function keys are ;; dedicated to keyboard macros, by default F3 and F4. diff --git a/lisp/net/newst-backend.el b/lisp/net/newst-backend.el index 764ba979ddd..9c65a6ab0b7 100644 --- a/lisp/net/newst-backend.el +++ b/lisp/net/newst-backend.el @@ -220,7 +220,7 @@ which apply for this feed only, overriding the value of (defcustom newsticker-retrieval-method 'intern "Method for retrieving news from the web, either `intern' or `extern'. -Default value `intern' uses Emacs' built-in asynchronous download +Default value `intern' uses Emacs's built-in asynchronous download capabilities (`url-retrieve'). If set to `extern' the external program wget is used, see `newsticker-wget-name'." :type '(choice :tag "Method" diff --git a/lisp/org/ob-sql.el b/lisp/org/ob-sql.el index dc067a41719..5ece354ea6a 100644 --- a/lisp/org/ob-sql.el +++ b/lisp/org/ob-sql.el @@ -208,7 +208,7 @@ Pass nil to omit that arg." "Convert FILE to OS standard file name. If in Cygwin environment, uses Cygwin specific function to convert the file name. In a Windows-NT environment, do nothing. -Otherwise, use Emacs' standard conversion function." +Otherwise, use Emacs's standard conversion function." (cond ((fboundp 'cygwin-convert-file-name-to-windows) (format "%S" (cygwin-convert-file-name-to-windows file))) ((string= "windows-nt" system-type) file) diff --git a/lisp/org/ol.el b/lisp/org/ol.el index 8a556c7b979..a16f27c2e30 100644 --- a/lisp/org/ol.el +++ b/lisp/org/ol.el @@ -542,7 +542,7 @@ original string length.") (defvar-local org-target-link-regexps nil "List of regular expressions matching radio targets in plain text. This list is non-nil, when a single regexp would be too long to match -all the possible targets, exceeding Emacs' regexp length limit.") +all the possible targets, exceeding Emacs's regexp length limit.") (defvar org-link-types-re nil "Matches a link that has a url-like prefix like \"http:\".") diff --git a/lisp/org/org-persist.el b/lisp/org/org-persist.el index 5cc572a78cc..8b0d9b110f9 100644 --- a/lisp/org/org-persist.el +++ b/lisp/org/org-persist.el @@ -459,7 +459,7 @@ FORMAT and ARGS are passed to `message'." ;; With all this in mind, we ensure `write-region-inhibit-fsync' is ;; set. ;; - ;; To read more about this, see the comments in Emacs' fileio.c, in + ;; To read more about this, see the comments in Emacs's fileio.c, in ;; particular the large comment block in init_fileio. (let ((write-region-inhibit-fsync t) ;; We set UTF-8 here and in `org-persist--read-elisp-file' diff --git a/lisp/org/org-src.el b/lisp/org/org-src.el index 0a9062f053a..229bf62e1c0 100644 --- a/lisp/org/org-src.el +++ b/lisp/org/org-src.el @@ -663,7 +663,7 @@ Leave point in edit buffer." (defvar org-src-fontify-natively) ; Defined in org.el (defun org-src-font-lock-fontify-block (lang start end) "Fontify code block between START and END using LANG's syntax. -This function is called by Emacs' automatic fontification, as long +This function is called by Emacs's automatic fontification, as long as `org-src-fontify-natively' is non-nil." (let ((modified (buffer-modified-p)) native-tab-width) (remove-text-properties start end '(face nil)) diff --git a/lisp/org/ox-latex.el b/lisp/org/ox-latex.el index fcb0e20dc7e..79df1fe119e 100644 --- a/lisp/org/ox-latex.el +++ b/lisp/org/ox-latex.el @@ -993,7 +993,7 @@ The most comprehensive option can be set with, which causes source code to be run through `engrave-faces-latex-buffer', which generates colorings using -Emacs' font-lock information. This requires the Emacs package +Emacs's font-lock information. This requires the Emacs package engrave-faces (available from GNU ELPA), and the LaTeX package fvextra be installed. diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el index 88af92420b5..3bcfc213fc6 100644 --- a/lisp/progmodes/bug-reference.el +++ b/lisp/progmodes/bug-reference.el @@ -535,7 +535,7 @@ From, and Cc against HEADER-REGEXP in "An alist for setting up `bug-reference-mode' in IRC modes. This takes action if `bug-reference-mode' is enabled in IRC -channels using one of Emacs' IRC clients. Currently, rcirc and +channels using one of Emacs's IRC clients. Currently, rcirc and ERC are supported. Each element has the form diff --git a/lisp/textmodes/less-css-mode.el b/lisp/textmodes/less-css-mode.el index 198f067f1d8..51e62a712b4 100644 --- a/lisp/textmodes/less-css-mode.el +++ b/lisp/textmodes/less-css-mode.el @@ -32,7 +32,7 @@ ;; `less-css-compile-at-save' to t. To install "lessc" using the ;; Node.js package manager, run "npm install less". ;; -;; Also make sure the "lessc" executable is in Emacs' PATH, example: +;; Also make sure the "lessc" executable is in Emacs's PATH, example: ;; (push (expand-file-name "~/.gem/ruby/1.8/bin") exec-path) ;; or customize `less-css-lessc-command' to point to your "lessc" ;; executable. diff --git a/lisp/transient.el b/lisp/transient.el index 14a94434c12..71702cbda2f 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -45,7 +45,7 @@ (unless (fboundp 'seq-keep) (display-warning 'transient (substitute-command-keys "\ Transient requires `seq' >= 2.24, -but due to bad defaults, Emacs' package manager, refuses to +but due to bad defaults, Emacs's package manager, refuses to upgrade this and other built-in packages to higher releases from GNU Elpa, when a package specifies that this is needed. diff --git a/lwlib/lwlib-Xm.c b/lwlib/lwlib-Xm.c index dd3f63605a4..bbccd9d0981 100644 --- a/lwlib/lwlib-Xm.c +++ b/lwlib/lwlib-Xm.c @@ -703,7 +703,7 @@ update_one_menu_entry (widget_instance* instance, ac = 0; XtSetArg (al [ac], XmNsubMenuId, menu); ac++; /* Non-zero values don't work reliably in - conjunction with Emacs' event loop */ + conjunction with Emacs's event loop */ XtSetArg (al [ac], XmNmappingDelay, 0); ac++; #ifdef XmNpositionIndex /* This is undefined on SCO ODT 2.0. */ /* Tell Motif to put it in the right place */ diff --git a/nt/INSTALL.W64 b/nt/INSTALL.W64 index d25fc2e18af..9694e85f269 100644 --- a/nt/INSTALL.W64 +++ b/nt/INSTALL.W64 @@ -192,7 +192,7 @@ and if all went well, you will have a new 64-bit version of Emacs. When running Emacs from outside the mingw64 shell, you will need to add c:\msys64\mingw64\bin to your Windows PATH, or copy the needed -DLLs into Emacs' bin/ directory. Otherwise features such as TLS which +DLLs into Emacs's bin/ directory. Otherwise features such as TLS which depend on those DLLs will be missing. You can do this through Control Panel / System and Security / System / diff --git a/nt/README.W32 b/nt/README.W32 index 33e252f7e01..5517d697d69 100644 --- a/nt/README.W32 +++ b/nt/README.W32 @@ -233,7 +233,7 @@ See the end of the file for license conditions. Virus scanners - Some virus scanners interfere with Emacs' use of subprocesses. If you + Some virus scanners interfere with Emacs's use of subprocesses. If you are unable to use subprocesses and you use Dr. Solomon's WinGuard or McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector scanning" (McAfee exclusion properties). diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index cea0b072723..7212e4d2984 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h @@ -603,7 +603,7 @@ typedef unsigned int EMACS_UINT; Starting with MSVC 5.0, we must also place the uninitialized data into its own section. VC5 intermingles uninitialized data from the CRT - between Emacs' static uninitialized data and its public uninitialized + between Emacs's static uninitialized data and its public uninitialized data. A separate .bss section for Emacs groups both static and public uninitialized together. diff --git a/src/androidfns.c b/src/androidfns.c index af2247ad962..434a2f0d410 100644 --- a/src/androidfns.c +++ b/src/androidfns.c @@ -1740,7 +1740,7 @@ android_frame_list_z_order (struct android_display_info *dpyinfo, DEFUN ("android-frame-list-z-order", Fandroid_frame_list_z_order, Sandroid_frame_list_z_order, 0, 1, 0, - doc: /* Return list of Emacs' frames, in Z (stacking) order. + doc: /* Return list of Emacs's frames, in Z (stacking) order. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be either a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. Return diff --git a/src/callproc.c b/src/callproc.c index e116298baef..3f2c60a2151 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -1721,7 +1721,7 @@ getenv_internal (const char *var, ptrdiff_t varlen, char **value, Vprocess_environment)) return *value ? 1 : 0; - /* On Windows we make some modifications to Emacs' environment + /* On Windows we make some modifications to Emacs's environment without recording them in Vprocess_environment. */ #ifdef WINDOWSNT { diff --git a/src/charset.c b/src/charset.c index 675097c6843..e8d0826f4c2 100644 --- a/src/charset.c +++ b/src/charset.c @@ -101,7 +101,7 @@ Lisp_Object Vemacs_mule_charset_list; int emacs_mule_charset[256]; /* Mapping table from ISO2022's charset (specified by DIMENSION, - CHARS, and FINAL-CHAR) to Emacs' charset. */ + CHARS, and FINAL-CHAR) to Emacs's charset. */ int iso_charset_table[ISO_MAX_DIMENSION][ISO_MAX_CHARS][ISO_MAX_FINAL]; #define CODE_POINT_TO_INDEX(charset, code) \ diff --git a/src/charset.h b/src/charset.h index 1edb4a248ac..f08d536f635 100644 --- a/src/charset.h +++ b/src/charset.h @@ -467,7 +467,7 @@ extern bool charset_map_loaded; #define ISO_MAX_FINAL 0x80 /* only 0x30..0xFF are used */ /* Mapping table from ISO2022's charset (specified by DIMENSION, - CHARS, and FINAL_CHAR) to Emacs' charset ID. Should be accessed by + CHARS, and FINAL_CHAR) to Emacs's charset ID. Should be accessed by macro ISO_CHARSET_TABLE (DIMENSION, CHARS, FINAL_CHAR). */ extern int iso_charset_table[ISO_MAX_DIMENSION][ISO_MAX_CHARS][ISO_MAX_FINAL]; diff --git a/src/coding.c b/src/coding.c index b48164efc69..b21ed360578 100644 --- a/src/coding.c +++ b/src/coding.c @@ -27,11 +27,11 @@ along with GNU Emacs. If not, see . */ 0. General comments 1. Preamble - 2. Emacs' internal format (emacs-utf-8) handlers + 2. Emacs's internal format (emacs-utf-8) handlers 3. UTF-8 handlers 4. UTF-16 handlers 5. Charset-base coding systems handlers - 6. emacs-mule (old Emacs' internal format) handlers + 6. emacs-mule (old Emacs's internal format) handlers 7. ISO2022 handlers 8. Shift-JIS and BIG5 handlers 9. CCL handlers @@ -50,7 +50,7 @@ CODING SYSTEM information about how to convert byte sequences to character sequences and vice versa. When we say "decode", it means converting a byte sequence of a specific coding system into a character - sequence that is represented by Emacs' internal coding system + sequence that is represented by Emacs's internal coding system `emacs-utf-8', and when we say "encode", it means converting a character sequence of emacs-utf-8 to a byte sequence of a specific coding system. @@ -1104,7 +1104,7 @@ alloc_destination (struct coding_system *coding, ptrdiff_t nbytes, #define EOL_SEEN_CRLF 4 -/*** 2. Emacs' internal format (emacs-utf-8) ***/ +/*** 2. Emacs's internal format (emacs-utf-8) ***/ @@ -1757,9 +1757,9 @@ encode_coding_utf_16 (struct coding_system *coding) } -/*** 6. Old Emacs' internal format (emacs-mule) ***/ +/*** 6. Old Emacs's internal format (emacs-mule) ***/ -/* Emacs' internal format for representation of multiple character +/* Emacs's internal format for representation of multiple character sets is a kind of multi-byte encoding, i.e. characters are represented by variable-length sequences of one-byte codes. @@ -1782,7 +1782,7 @@ encode_coding_utf_16 (struct coding_system *coding) through 0xFF. See `charset.h' for more details about leading-code and position-code. - --- CODE RANGE of Emacs' internal format --- + --- CODE RANGE of Emacs's internal format --- character set range ------------- ----- ascii 0x00..0x7F @@ -2812,7 +2812,7 @@ encode_coding_emacs_mule (struct coding_system *coding) localized platforms), and all of these are variants of ISO2022. In addition to the above, Emacs handles two more kinds of escape - sequences: ISO6429's direction specification and Emacs' private + sequences: ISO6429's direction specification and Emacs's private sequence for specifying character composition. ISO6429's direction specification takes the following form: @@ -6045,7 +6045,7 @@ complement_process_encoding_system (Lisp_Object coding_system) /* Emacs has a mechanism to automatically detect a coding system if it - is one of Emacs' internal format, ISO2022, SJIS, and BIG5. But, + is one of Emacs's internal format, ISO2022, SJIS, and BIG5. But, it's impossible to distinguish some coding systems accurately because they use the same range of codes. So, at first, coding systems are categorized into 7, those are: @@ -6053,7 +6053,7 @@ complement_process_encoding_system (Lisp_Object coding_system) o coding-category-emacs-mule The category for a coding system which has the same code range - as Emacs' internal format. Assigned the coding-system (Lisp + as Emacs's internal format. Assigned the coding-system (Lisp symbol) `emacs-mule' by default. o coding-category-sjis @@ -10052,7 +10052,7 @@ encode_string_utf_8 (Lisp_Object string, Lisp_Object buffer, Emacs decoding does. If HANDLE-OVER-UNI is Qt, decode a 4 or 5-byte overlong sequence - that follows Emacs' internal representation for a character beyond + that follows Emacs's internal representation for a character beyond Unicode range into the corresponding character, like the usual Emacs decoding does. diff --git a/src/filelock.c b/src/filelock.c index 43ede30975e..69bd0322d4c 100644 --- a/src/filelock.c +++ b/src/filelock.c @@ -73,7 +73,7 @@ along with GNU Emacs. If not, see . */ theoretically be updated by daemons running separately -- but this whole idea is unimplemented; in practice, at least in our environment, it seems such stale locks arise fairly infrequently, and - Emacs' standard methods of dealing with clashes suffice. + Emacs's standard methods of dealing with clashes suffice. We use symlinks instead of normal files because (1) they can be stored more efficiently on the filesystem, since the kernel knows diff --git a/src/haikufns.c b/src/haikufns.c index 4a31def4def..b4b88b434e4 100644 --- a/src/haikufns.c +++ b/src/haikufns.c @@ -2943,7 +2943,7 @@ It can later be retrieved with `x-get-resource'. */) DEFUN ("haiku-frame-list-z-order", Fhaiku_frame_list_z_order, Shaiku_frame_list_z_order, 0, 1, 0, - doc: /* Return list of Emacs' frames, in Z (stacking) order. + doc: /* Return list of Emacs's frames, in Z (stacking) order. If TERMINAL is non-nil and specifies a live frame, return the child frames of that frame in Z (stacking) order. diff --git a/src/image.c b/src/image.c index db1b05cbcd7..0b590faab76 100644 --- a/src/image.c +++ b/src/image.c @@ -5436,7 +5436,7 @@ static const struct image_keyword xpm_format[XPM_LAST] = #if defined HAVE_X_WINDOWS && !defined USE_CAIRO -/* Define ALLOC_XPM_COLORS if we can use Emacs' own color allocation +/* Define ALLOC_XPM_COLORS if we can use Emacs's own color allocation functions for allocating image colors. Our own functions handle color allocation failures more gracefully than the ones on the XPM lib. */ diff --git a/src/itree.c b/src/itree.c index 9dae279db90..749e65c2eed 100644 --- a/src/itree.c +++ b/src/itree.c @@ -64,7 +64,7 @@ along with GNU Emacs. If not, see . */ ==== FIXME: bug#58342 some important operations remain slow === - The amortized costs of Emacs' previous-overlay-change and + The amortized costs of Emacs's previous-overlay-change and next-overlay-change functions are O(N) with this data structure. The root problem is that we only have an order for the BEG field, but not the END. The previous/next overlay change operations need diff --git a/src/msdos.c b/src/msdos.c index e9faa48fa70..42eee89d748 100644 --- a/src/msdos.c +++ b/src/msdos.c @@ -599,7 +599,7 @@ dos_set_window_size (int *rows, int *cols) *rows = ScreenRows (); *cols = ScreenCols (); - /* Update Emacs' notion of screen dimensions. */ + /* Update Emacs's notion of screen dimensions. */ screen_size_X = *cols; screen_size_Y = *rows; screen_size = *cols * *rows; diff --git a/src/nsfns.m b/src/nsfns.m index add7a93dfba..3c012ca8f05 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -1628,7 +1628,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side. DEFUN ("ns-frame-list-z-order", Fns_frame_list_z_order, Sns_frame_list_z_order, 0, 1, 0, - doc: /* Return list of Emacs' frames, in Z (stacking) order. + doc: /* Return list of Emacs's frames, in Z (stacking) order. If TERMINAL is non-nil and specifies a live frame, return the child frames of that frame in Z (stacking) order. diff --git a/src/nsterm.m b/src/nsterm.m index 2aadada2df6..575b24754e7 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -577,7 +577,7 @@ - (unsigned long)unsignedLong } /* Check if LANG can be used for initializing the locale. If not, - use a default setting. Note that Emacs' main will undo the + use a default setting. Note that Emacs's main will undo the setlocale below, initializing the locale from the environment. */ if (setlocale (LC_ALL, lang) == NULL) diff --git a/src/sqlite.c b/src/sqlite.c index 32482b30f35..88b02339863 100644 --- a/src/sqlite.c +++ b/src/sqlite.c @@ -700,7 +700,7 @@ MODULE should be the name of an SQlite module's file, a shared library in the system-dependent format and having a system-dependent file-name extension. -Only modules on Emacs' list of allowed modules can be loaded. */) +Only modules on Emacs's list of allowed modules can be loaded. */) (Lisp_Object db, Lisp_Object module) { check_sqlite (db, false); diff --git a/src/w32fns.c b/src/w32fns.c index f23d3c63b25..d20e7d53ea1 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -3901,7 +3901,7 @@ deliver_wm_chars (int do_translate, HWND hwnd, UINT msg, UINT wParam, most probably, not needed -- and harms a lot). So, with the usual message pump, the following call to TranslateMessage() - is not needed (and is going to be VERY harmful). With Emacs' message + is not needed (and is going to be VERY harmful). With Emacs's message pump, the call is needed. */ if (do_translate) { @@ -9321,7 +9321,7 @@ w32_frame_list_z_order (struct w32_display_info *dpyinfo, HWND window) DEFUN ("w32-frame-list-z-order", Fw32_frame_list_z_order, Sw32_frame_list_z_order, 0, 1, 0, - doc: /* Return list of Emacs' frames, in Z (stacking) order. + doc: /* Return list of Emacs's frames, in Z (stacking) order. The optional argument DISPLAY specifies which display to ask about. DISPLAY should be either a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. diff --git a/src/xfns.c b/src/xfns.c index 9bc2f794849..829bcb00f35 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -7060,7 +7060,7 @@ x_frame_list_z_order (struct x_display_info *dpyinfo, Window window) DEFUN ("x-frame-list-z-order", Fx_frame_list_z_order, Sx_frame_list_z_order, 0, 1, 0, - doc: /* Return list of Emacs' frames, in Z (stacking) order. + doc: /* Return list of Emacs's frames, in Z (stacking) order. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be either a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. Return diff --git a/src/xterm.c b/src/xterm.c index 5e200203f64..215a3ed3bbe 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -32245,7 +32245,7 @@ x_initialize (void) Xt_app_con = XtCreateApplicationContext (); /* Register a converter from strings to pixels, which uses - Emacs' color allocation infrastructure. */ + Emacs's color allocation infrastructure. */ XtAppSetTypeConverter (Xt_app_con, XtRString, XtRPixel, cvt_string_to_pixel, cvt_string_to_pixel_args, diff --git a/test/lisp/emacs-lisp/ert-x-tests.el b/test/lisp/emacs-lisp/ert-x-tests.el index 71ccab52834..6833871dad0 100644 --- a/test/lisp/emacs-lisp/ert-x-tests.el +++ b/test/lisp/emacs-lisp/ert-x-tests.el @@ -308,7 +308,7 @@ desired effect." (cl-loop for i below 3 do (message "%s" i))) ;; Uses the implicit messages buffer truncation implemented - ;; in Emacs' C core. + ;; in Emacs's C core. (c (x) (ert-with-buffer-renamed ("*Messages*") (let ((message-log-max x)) diff --git a/test/src/buffer-tests.el b/test/src/buffer-tests.el index bb897377d41..26a0fb9fd76 100644 --- a/test/src/buffer-tests.el +++ b/test/src/buffer-tests.el @@ -1720,7 +1720,7 @@ This test works best when Emacs is configured with --enable-checking=yes. This is a little bit like fuzz testing, except this test has no way to reduce to a minimal failing test case. Regardless, by exercising many corner cases bugs can be -found using Emacs' internal consistency assertions." +found using Emacs's internal consistency assertions." (let* ( ;; The size and slack for the test buffer size. (buffer-size-target 1000) diff --git a/test/src/callproc-tests.el b/test/src/callproc-tests.el index a8b5a4372d6..5eee2f8d7c0 100644 --- a/test/src/callproc-tests.el +++ b/test/src/callproc-tests.el @@ -59,7 +59,7 @@ ;; On MS-Windows, "nul.FOO" resolves to the null ;; device, and thus acts like an always-empty ;; file, for any FOO, in any directory. So - ;; c:/null.exe passes Emacs' test for the file's + ;; c:/null.exe passes Emacs's test for the file's ;; existence, and ensures we hit an error in the ;; w32 process spawn code. (call-process "c:/nul.exe") diff --git a/test/src/filelock-tests.el b/test/src/filelock-tests.el index c644747a23e..9bb3a27add7 100644 --- a/test/src/filelock-tests.el +++ b/test/src/filelock-tests.el @@ -68,7 +68,7 @@ unavailable to Lisp." "Spoil the lock file for FILE-NAME. Cause Emacs to report errors for various file locking operations on FILE-NAME going forward. Create a file that is incompatible -with Emacs' file locking protocol, but uses the same name as +with Emacs's file locking protocol, but uses the same name as FILE-NAME's lock file. A directory file is used, which is portable in practice." (make-directory (filelock-tests--make-lock-name file-name))) commit 67faaead754c0a11bd89fdcde2533bc51b71ef0e Author: Stefan Kangas Date: Wed Jul 24 23:46:02 2024 +0200 Don't refer to obsolete finder group "wp" * lisp/textmodes/rst.el: Don't refer to obsolete finder group "wp". diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el index 5fbff4ba888..5f99ee016a2 100644 --- a/lisp/textmodes/rst.el +++ b/lisp/textmodes/rst.el @@ -56,7 +56,7 @@ ;; There are a number of convenient key bindings provided by rst-mode. For the ;; bindings, try C-c C-h when in rst-mode. There are also many variables that ;; can be customized, look for defcustom in this file or look for the "rst" -;; customization group contained in the "wp" group. +;; customization group contained in the "text" group. ;; ;; If you use the table-of-contents feature, you may want to add a hook to ;; update the TOC automatically every time you adjust a section title:: @@ -4438,7 +4438,7 @@ column is used (fill-column vs. end of previous/next line)." -;; LocalWords: docutils http sourceforge rst html wp svn svnroot txt reST regex +;; LocalWords: docutils http sourceforge rst html svn svnroot txt reST regex ;; LocalWords: regexes alist seq alt grp keymap abbrev overline overlines toc ;; LocalWords: XML PNT propertized init referenceable