commit 6a162be6a8f4681d3465fac7573b9f42cfbeaefb (HEAD, refs/remotes/origin/master) Author: Po Lu Date: Tue Jun 18 14:41:26 2024 +0800 Correct resolution of non-virtual directory names on Android * src/androidvfs.c (android_vfs_canonicalize_name): Correct return value in cases of underflowing the directory stack. (android_unix_name): Reset vnode operations vector of copied vnodes to their standard value, and exclude virtual directories from subdirectories of the root directory's parent directory. (android_root_name): Adjust to match. diff --git a/src/androidvfs.c b/src/androidvfs.c index d28a74918f6..28a23920533 100644 --- a/src/androidvfs.c +++ b/src/androidvfs.c @@ -458,7 +458,7 @@ static char * android_vfs_canonicalize_name (char *name, size_t *length) { size_t nellipsis, i; - char *last_component, *prev_component, *fill, *orig_name; + char *last_component, *prec_component, *fill, *orig_name; size_t size; /* Special case described in the last paragraph of the comment @@ -474,8 +474,8 @@ android_vfs_canonicalize_name (char *name, size_t *length) nellipsis = 0; /* Number of ellipsis encountered within the current file name component, or -1. */ - prev_component = NULL; /* Pointer to the separator character of - the component immediately before the + prec_component = NULL; /* Pointer to the separator character of the + component immediately preceding the component currently being written. */ last_component = name; /* Pointer to the separator character of the component currently being read. */ @@ -502,31 +502,36 @@ android_vfs_canonicalize_name (char *name, size_t *length) { /* .. */ - if (!prev_component) - goto parent_vnode; + if (!prec_component) + { + /* Return the content of the component, i.e. the text + _after_ this separator. */ + i++; + goto parent_vnode; + } /* Return to the last component. */ - fill = prev_component; + fill = prec_component; - /* Restore last_component to prev_component, and - prev_component back to the component before that. */ - last_component = prev_component; + /* Restore last_component to prec_component, and + prec_component back to the component before that. */ + last_component = prec_component; - if (last_component != name) - prev_component = memrchr (name, '/', - last_component - name - 1); + if (last_component != orig_name) + prec_component = memrchr (orig_name, '/', + last_component - orig_name - 1); else - prev_component = NULL; + prec_component = NULL; - /* prev_component may now be NULL. If last_component is - the same as NAME, then fill has really been returned - to the beginning of the string, so leave it be. But - if it's something else, then it must be the first - separator character in the string, so set - prev_component to NAME itself. */ + /* prec_component may now be NULL. If last_component is + identical to the initial value of NAME, then fill has + really been returned to the beginning of the string, so + leave it be. But if it's something else, then it must + be the first separator character in the string, so set + prec_component to this initial value itself. */ - if (!prev_component && last_component != name) - prev_component = name; + if (!prec_component && last_component != orig_name) + prec_component = orig_name; } else if (nellipsis == 1) /* If it's ., return to this component. */ @@ -536,7 +541,7 @@ android_vfs_canonicalize_name (char *name, size_t *length) /* Record the position of the last directory separator, so NAME can be overwritten from there onwards if `..' or `.' are encountered. */ - prev_component = last_component; + prec_component = last_component; last_component = fill; } @@ -568,12 +573,12 @@ android_vfs_canonicalize_name (char *name, size_t *length) { /* .. */ - if (!prev_component) + if (!prec_component) /* Look up the rest of the vnode in its parent. */ goto parent_vnode; /* Return to the last component. */ - fill = prev_component; + fill = prec_component; nellipsis = -2; } else if (nellipsis == 1) @@ -684,19 +689,20 @@ android_unix_name (struct android_vnode *vnode, char *name, input = (struct android_unix_vnode *) vnode; remainder = android_vfs_canonicalize_name (name, &length); - /* If remainder is set, it's a name relative to the parent - vnode. */ + /* If remainder is set, it's a name relative to the parent vnode. */ if (remainder) goto parent_vnode; /* Create a new unix vnode. */ vp = xmalloc (sizeof *vp); - /* If name is empty, duplicate the current vnode. */ + /* If name is empty, duplicate the current vnode, but reset its file + operation vector to that for Unix vnodes. */ if (length < 1) { memcpy (vp, vnode, sizeof *vp); + vp->vnode.ops = &unix_vfs_ops; vp->name = xstrdup (vp->name); return &vp->vnode; } @@ -748,7 +754,7 @@ android_unix_name (struct android_vnode *vnode, char *name, vnode = &root_vnode.vnode; else { - /* Create a temporary asset vnode within the parent and use it + /* Create a temporary unix vnode within the parent and use it instead. First, establish the length of vp->name before its last component. */ @@ -783,7 +789,9 @@ android_unix_name (struct android_vnode *vnode, char *name, return vnode; } - return (*vnode->ops->name) (vnode, remainder, strlen (remainder)); + /* Virtual directories must be ignored in accessing the root directory + through a Unix subdirectory of the root, as, `/../' */ + return android_unix_name (vnode, remainder, strlen (remainder)); } /* Create a Unix vnode representing the given file NAME. Use this @@ -6624,6 +6632,7 @@ android_root_name (struct android_vnode *vnode, char *name, size_t i; Lisp_Object file_name; struct android_vnode *vp; + struct android_unix_vnode *unix_vp; /* Skip any leading separator in NAME. */ @@ -6706,7 +6715,18 @@ android_root_name (struct android_vnode *vnode, char *name, } } - /* Otherwise, continue searching for a vnode normally. */ + /* Otherwise, continue searching for a vnode normally, but duplicate + the vnode manually if length is 0, as `android_unix_name' resets + the vnode operation vector in copies. */ + + if (!length) + { + unix_vp = xmalloc (sizeof *unix_vp); + memcpy (unix_vp, vnode, sizeof *unix_vp); + unix_vp->name = xstrdup (unix_vp->name); + return &unix_vp->vnode; + } + return android_unix_name (vnode, name, length); } commit 3c2df93e063761ee78b25157c689b6d26210f80b Author: Po Lu Date: Tue Jun 18 10:11:51 2024 +0800 * java/Makefile.in (emacs.apk-in): Don't compress *.gz files on SDK 8. diff --git a/java/Makefile.in b/java/Makefile.in index 941631b8411..465f99162ec 100644 --- a/java/Makefile.in +++ b/java/Makefile.in @@ -345,7 +345,7 @@ emacs.apk-in: install_temp AndroidManifest.xml classes.dex | xargs $(ZIP) ../$@ &> /dev/null; \ echo "Packaging files already compressed...">&2; \ cd assets_gz; find assets -type f \ - | xargs $(ZIP) ../../$@ &> /dev/null; \ + | xargs $(ZIP) -0 ../../$@ &> /dev/null; \ echo "Packaging shared libraries and code..." >&2; \ cd ..; $(ZIP) ../$@ `find lib -type f`; \ fi commit f7953a0eef4bf6505352c199a2f8ae8f3563fdfa Author: Dmitry Gutov Date: Mon Jun 17 22:51:23 2024 +0300 diff-mode: Optimize source language syntax highlighting * lisp/vc/diff-mode.el (diff--get-revision-properties): Never pass FILE to 'diff-syntax-fontify-props'; assume that 'vc-find-revision-no-save' has called the major mode function already (bug#71604). diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el index c0269d882b9..81e8b23ee33 100644 --- a/lisp/vc/diff-mode.el +++ b/lisp/vc/diff-mode.el @@ -2883,9 +2883,6 @@ and the position in MAX." (buffer (cdr entry))) (if (buffer-live-p buffer) (progn - ;; Don't re-initialize the buffer (which would throw - ;; away the previous fontification work). - (setq file nil) (setq diff--cached-revision-buffers (cons entry (delq entry diff--cached-revision-buffers)))) @@ -2905,7 +2902,8 @@ and the position in MAX." (diff--cache-schedule-clean) (and buffer (with-current-buffer buffer - (diff-syntax-fontify-props file text line-nb))))) + ;; Major mode is set in vc-find-revision-no-save already. + (diff-syntax-fontify-props nil text line-nb))))) (defun diff-syntax-fontify-hunk (beg end old) "Highlight source language syntax in diff hunk between BEG and END. commit b26270ae94329131966bf2d836cf6c90b90e5cdd Author: Juri Linkov Date: Mon Jun 17 19:47:53 2024 +0300 * lisp/tab-line.el (tab-line-force-update): New function (bug#71601). (tab-line-tab-name-function, tab-line-tabs-function) (tab-line-tabs-buffer-group-function) (tab-line-tabs-buffer-group-sort-function) (tab-line-tabs-buffer-groups-sort-function) (tab-line-tab-name-format-function): Use 'tab-line-force-update' in the :set lambda of defcustom. (tab-line-tab-name-function, tab-line-tabs-function) (tab-line-cache-key-function): Mention 'tab-line-force-update' in the docstring. (tab-line-new-button-show, tab-line-close-button-show): In the :set lambda of defcustom use 'force-mode-line-update' with the non-nil arg ALL. diff --git a/lisp/tab-line.el b/lisp/tab-line.el index fa52ccd81aa..1d14fda9825 100644 --- a/lisp/tab-line.el +++ b/lisp/tab-line.el @@ -187,7 +187,7 @@ If the value is a function, call it with no arguments." :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (force-mode-line-update t)) :group 'tab-line :version "27.1") @@ -228,7 +228,7 @@ If nil, don't show it at all." :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (force-mode-line-update t)) :group 'tab-line :version "27.1") @@ -295,7 +295,8 @@ If nil, don't show it at all." "Function to get a tab name. The function is called with one or two arguments: the buffer or another object whose tab's name is requested, and, optionally, -the list of all tabs." +the list of all tabs. The result of this function is cached +using `tab-line-cache-key-function'." :type '(choice (const :tag "Buffer name" tab-line-tab-name-buffer) (const :tag "Truncated buffer name" @@ -304,7 +305,7 @@ the list of all tabs." :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (tab-line-force-update t)) :group 'tab-line :version "27.1") @@ -348,7 +349,9 @@ buffers always keep the original order after switching buffers. When `tab-line-tabs-mode-buffers', return a list of buffers with the same major mode as the current buffer. When `tab-line-tabs-buffer-groups', return a list of buffers -grouped by `tab-line-tabs-buffer-group-function'." +grouped by `tab-line-tabs-buffer-group-function'. +The result of this function is cached using +`tab-line-cache-key-function'." :type '(choice (const :tag "Window buffers" tab-line-tabs-window-buffers) (const :tag "Window buffers with fixed order" @@ -361,7 +364,7 @@ grouped by `tab-line-tabs-buffer-group-function'." :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (tab-line-force-update t)) :group 'tab-line :version "27.1") @@ -404,7 +407,7 @@ as a group name." :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (tab-line-force-update t)) :group 'tab-line :version "30.1") @@ -418,7 +421,7 @@ as a group name." :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (tab-line-force-update t)) :group 'tab-line :version "30.1") @@ -433,7 +436,7 @@ as a group name." :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (tab-line-force-update t)) :group 'tab-line :version "30.1") @@ -568,12 +571,13 @@ The function will be called two arguments: the tab whose name to format, and the list of all the tabs; it should return the formatted tab name to display in the tab line. The first argument could also be a different object, for example the buffer -which the tab will represent." +which the tab will represent. The result of this function is cached +using `tab-line-cache-key-function'." :type 'function :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) - (force-mode-line-update)) + (tab-line-force-update t)) :group 'tab-line :version "28.1") @@ -689,6 +693,18 @@ For use in `tab-line-tab-face-functions'." (defvar tab-line-auto-hscroll) +(defun tab-line-force-update (all) + "Force redisplay of the current buffer’s tab line. +This function also clears the tab-line cache. With optional non-nil ALL, +it clears the tab-line cache of all tab lines and forces their redisplay." + (if all + (walk-windows + (lambda (window) + (set-window-parameter window 'tab-line-cache nil)) + 'no-mini t) + (set-window-parameter nil 'tab-line-cache nil)) + (force-mode-line-update all)) + (defun tab-line-cache-key-default (tabs) "Return default list of cache keys." (list @@ -708,7 +724,8 @@ For use in `tab-line-tab-face-functions'." (defvar tab-line-cache-key-function #'tab-line-cache-key-default "Function that adds more cache keys. It is called with one argument, a list of tabs, and should return a list -of cache keys. You can use `add-function' to add more cache keys.") +of cache keys. You can use `add-function' to add more cache keys. +Also there is the function `tab-line-force-update' that clears the cache.") (defun tab-line-format () "Format for displaying the tab line of the selected window." commit 66c0099122887e76fab584d04337f6f962757967 Author: Juri Linkov Date: Mon Jun 17 19:40:00 2024 +0300 * lisp/outline.el: Make revert-related functions internal. (outline--hidden-headings-paths) (outline--hidden-headings-restore-paths): Rename with the prefix 'outline--' to mark them internal to discourage from relying on their arguments and return values. diff --git a/lisp/outline.el b/lisp/outline.el index d579eb24a4c..4d72b17e623 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -1699,7 +1699,7 @@ LEVEL, decides of subtree visibility according to (point-min) (point-max))) (run-hooks 'outline-view-change-hook)) -(defun outline-hidden-headings-paths () +(defun outline--hidden-headings-paths () "Return a hash with headings of currently hidden outlines. Every hash key is a list whose elements compose a complete path of headings descending from the top level down to the bottom level. @@ -1729,10 +1729,10 @@ was located before reverting the buffer." (point-min) (point-max)) (list paths current-path))) -(defun outline-hidden-headings-restore-paths (paths current-path) +(defun outline--hidden-headings-restore-paths (paths current-path) "Restore hidden outlines from a hash of hidden headings. This is useful after reverting the buffer to restore the outlines -hidden by `outline-hidden-headings-paths'. Also restore point +hidden by `outline--hidden-headings-paths'. Also restore point on the same outline where point was before reverting the buffer." (let (path current-point outline-view-change-hook) (outline-map-region @@ -1753,11 +1753,11 @@ on the same outline where point was before reverting the buffer." "Preserve visibility when reverting buffer under `outline-minor-mode'. This function restores the visibility of outlines after the buffer under `outline-minor-mode' is reverted by `revert-buffer'." - (let ((paths (outline-hidden-headings-paths))) + (let ((paths (outline--hidden-headings-paths))) (unless (and (hash-table-empty-p (nth 0 paths)) (null (nth 1 paths))) (lambda () - (outline-hidden-headings-restore-paths + (outline--hidden-headings-restore-paths (nth 0 paths) (nth 1 paths)))))) (defun outline-revert-buffer-rehighlight () commit 27f46ba4b96947dedbafa6e4366a07fa171dbd2e Author: Eshel Yaron Date: Mon Jun 17 16:48:43 2024 +0200 (bookmark--jump-via): Ensure 'window-point' is set correctly * lisp/bookmark.el (bookmark--jump-via): Record bookmark-prescribed point before calling DISPLAY-FUNCTION, and use it to set 'window-point' afterwards. (Bug#71603) diff --git a/lisp/bookmark.el b/lisp/bookmark.el index 06f8e24b518..223a7fedc8d 100644 --- a/lisp/bookmark.el +++ b/lisp/bookmark.el @@ -1265,10 +1265,12 @@ After calling DISPLAY-FUNCTION, set window point to the point specified by BOOKMARK-NAME-OR-RECORD, if necessary, run `bookmark-after-jump-hook', and then show any annotations for this bookmark." (bookmark-handle-bookmark bookmark-name-or-record) - (save-current-buffer - (funcall display-function (current-buffer))) - (let ((win (get-buffer-window (current-buffer) 0))) - (if win (set-window-point win (point)))) + ;; Store `point' now, because `display-function' might change it. + (let ((point (point))) + (save-current-buffer + (funcall display-function (current-buffer))) + (let ((win (get-buffer-window (current-buffer) 0))) + (if win (set-window-point win point)))) ;; FIXME: we used to only run bookmark-after-jump-hook in ;; `bookmark-jump' itself, but in none of the other commands. (when bookmark-fringe-mark commit a5a374014f3afe0d6b94bf645c6cf886c6564699 Author: Andrea Corallo Date: Mon Jun 17 15:38:37 2024 +0200 * lisp/touch-screen.el (touch-screen-inhibit-drag): Fix 'not' arity use. diff --git a/lisp/touch-screen.el b/lisp/touch-screen.el index 9efbb59926e..792e1be5ff9 100644 --- a/lisp/touch-screen.el +++ b/lisp/touch-screen.el @@ -2066,9 +2066,9 @@ Must be called from a command bound to a `touchscreen-hold' or `touchscreen-drag' event." (let* ((tool touch-screen-current-tool) (current-what (nth 4 tool))) - ;; Signal an error if no hold or drag is in progress. - (when (and (not (eq current-what 'hold) - (eq current-what 'drag))) + ;; Signal an error if no hold and no drag is in progress. + (when (and (not (eq current-what 'hold)) + (not (eq current-what 'drag))) (error "Calling `touch-screen-inhibit-drag' outside hold or drag")) ;; Now set the fourth element of tool to `command-inhibit'. (setcar (nthcdr 3 tool) 'command-inhibit))) commit 923aad81d473fd99adb651302dcccd79c6afbeff Author: Mattias Engdegård Date: Mon Jun 17 13:14:08 2024 +0200 Don't hide `not` and `null` arity errors * lisp/emacs-lisp/byte-opt.el (byte-optimize-not): Don't silently convert incorrect `not` and `null` applications to nil. diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index c060c8d676b..d8dbfa62bf9 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -1410,13 +1410,14 @@ See Info node `(elisp) Integer Basics'." form))) (defun byte-optimize-not (form) - (and (= (length form) 2) - (let ((arg (nth 1 form))) - (cond ((null arg) t) - ((macroexp-const-p arg) nil) - ((byte-compile-nilconstp arg) `(progn ,arg t)) - ((byte-compile-trueconstp arg) `(progn ,arg nil)) - (t form))))) + (if (= (length form) 2) + (let ((arg (nth 1 form))) + (cond ((null arg) t) + ((macroexp-const-p arg) nil) + ((byte-compile-nilconstp arg) `(progn ,arg t)) + ((byte-compile-trueconstp arg) `(progn ,arg nil)) + (t form))) + form)) (put 'and 'byte-optimizer #'byte-optimize-and) (put 'or 'byte-optimizer #'byte-optimize-or) commit 175a513d19b7dd2aa2af3eb549b4c6b5a099e88d Author: Po Lu Date: Mon Jun 17 17:45:41 2024 +0800 ; Auto-commit of loaddefs files. diff --git a/lisp/cedet/semantic/grm-wy-boot.el b/lisp/cedet/semantic/grm-wy-boot.el index 7658a26d106..d2ea81311b4 100644 --- a/lisp/cedet/semantic/grm-wy-boot.el +++ b/lisp/cedet/semantic/grm-wy-boot.el @@ -44,380 +44,208 @@ (defconst semantic-grammar-wy--keyword-table (semantic-lex-make-keyword-table '(("%default-prec" . DEFAULT-PREC) - ("%no-default-prec" . NO-DEFAULT-PREC) - ("%keyword" . KEYWORD) - ("%languagemode" . LANGUAGEMODE) - ("%left" . LEFT) - ("%nonassoc" . NONASSOC) - ("%package" . PACKAGE) - ("%expectedconflicts" . EXPECTEDCONFLICTS) - ("%provide" . PROVIDE) - ("%prec" . PREC) - ("%put" . PUT) - ("%quotemode" . QUOTEMODE) - ("%right" . RIGHT) - ("%scopestart" . SCOPESTART) - ("%start" . START) - ("%token" . TOKEN) - ("%type" . TYPE) - ("%use-macros" . USE-MACROS)) + ("%no-default-prec" . NO-DEFAULT-PREC) ("%keyword" . KEYWORD) + ("%languagemode" . LANGUAGEMODE) ("%left" . LEFT) + ("%nonassoc" . NONASSOC) ("%package" . PACKAGE) + ("%expectedconflicts" . EXPECTEDCONFLICTS) ("%provide" . PROVIDE) + ("%prec" . PREC) ("%put" . PUT) ("%quotemode" . QUOTEMODE) + ("%right" . RIGHT) ("%scopestart" . SCOPESTART) ("%start" . START) + ("%token" . TOKEN) ("%type" . TYPE) ("%use-macros" . USE-MACROS)) 'nil) "Table of language keywords.") (defconst semantic-grammar-wy--token-table (semantic-lex-make-type-table - '(("punctuation" - (GT . ">") - (LT . "<") - (OR . "|") - (SEMI . ";") + '(("punctuation" (GT . ">") (LT . "<") (OR . "|") (SEMI . ";") (COLON . ":")) - ("close-paren" - (RBRACE . "}") - (RPAREN . ")")) - ("open-paren" - (LBRACE . "{") - (LPAREN . "(")) - ("block" - (BRACE_BLOCK . "(LBRACE RBRACE)") + ("close-paren" (RBRACE . "}") (RPAREN . ")")) + ("open-paren" (LBRACE . "{") (LPAREN . "(")) + ("block" (BRACE_BLOCK . "(LBRACE RBRACE)") (PAREN_BLOCK . "(LPAREN RPAREN)")) - ("code" - (EPILOGUE . "%%...EOF") - (PROLOGUE . "%{...%}")) - ("sexp" - (SEXP)) - ("qlist" - (PREFIXED_LIST)) - ("char" - (CHARACTER)) - ("symbol" - (PERCENT_PERCENT . "\\`%%\\'") - (SYMBOL)) - ("string" - (STRING))) - '(("punctuation" :declared t) - ("block" :declared t) - ("sexp" matchdatatype sexp) - ("sexp" syntax "\\=") - ("sexp" :declared t) - ("qlist" matchdatatype sexp) - ("qlist" syntax "\\s'\\s-*(") - ("qlist" :declared t) - ("char" syntax semantic-grammar-lex-c-char-re) - ("char" :declared t) - ("symbol" syntax ":?\\(\\sw\\|\\s_\\)+") - ("symbol" :declared t) - ("string" :declared t) - ("keyword" :declared t))) + ("code" (EPILOGUE . "%%...EOF") (PROLOGUE . "%{...%}")) + ("sexp" (SEXP)) ("qlist" (PREFIXED_LIST)) ("char" (CHARACTER)) + ("symbol" (PERCENT_PERCENT . "\\`%%\\'") (SYMBOL)) + ("string" (STRING))) + '(("punctuation" :declared t) ("block" :declared t) + ("sexp" matchdatatype sexp) ("sexp" syntax "\\=") + ("sexp" :declared t) ("qlist" matchdatatype sexp) + ("qlist" syntax "\\s'\\s-*(") ("qlist" :declared t) + ("char" syntax semantic-grammar-lex-c-char-re) ("char" :declared t) + ("symbol" syntax ":?\\(\\sw\\|\\s_\\)+") ("symbol" :declared t) + ("string" :declared t) ("keyword" :declared t))) "Table of lexical tokens.") (defconst semantic-grammar-wy--parse-table (wisent-compiled-grammar - ((DEFAULT-PREC NO-DEFAULT-PREC KEYWORD LANGUAGEMODE LEFT NONASSOC PACKAGE EXPECTEDCONFLICTS PROVIDE PREC PUT QUOTEMODE RIGHT SCOPESTART START TOKEN TYPE USE-MACROS STRING SYMBOL PERCENT_PERCENT CHARACTER PREFIXED_LIST SEXP PROLOGUE EPILOGUE PAREN_BLOCK BRACE_BLOCK LPAREN RPAREN LBRACE RBRACE COLON SEMI OR LT GT) + ((DEFAULT-PREC NO-DEFAULT-PREC KEYWORD LANGUAGEMODE LEFT NONASSOC + PACKAGE EXPECTEDCONFLICTS PROVIDE PREC PUT QUOTEMODE + RIGHT SCOPESTART START TOKEN TYPE USE-MACROS STRING + SYMBOL PERCENT_PERCENT CHARACTER PREFIXED_LIST SEXP + PROLOGUE EPILOGUE PAREN_BLOCK BRACE_BLOCK LPAREN + RPAREN LBRACE RBRACE COLON SEMI OR LT GT) nil - (grammar - ((prologue)) - ((epilogue)) - ((declaration)) - ((nonterminal)) - ((PERCENT_PERCENT))) + (grammar ((prologue)) ((epilogue)) ((declaration)) ((nonterminal)) + ((PERCENT_PERCENT))) (prologue - ((PROLOGUE) - (wisent-raw-tag - (semantic-tag-new-code "prologue" nil)))) + ((PROLOGUE) (wisent-raw-tag (semantic-tag-new-code "prologue" nil)))) (epilogue - ((EPILOGUE) - (wisent-raw-tag - (semantic-tag-new-code "epilogue" nil)))) - (declaration - ((decl) - (eval $1 t))) - (decl - ((default_prec_decl)) - ((no_default_prec_decl)) - ((languagemode_decl)) - ((package_decl)) - ((expectedconflicts_decl)) - ((provide_decl)) - ((precedence_decl)) - ((put_decl)) - ((quotemode_decl)) - ((scopestart_decl)) - ((start_decl)) - ((keyword_decl)) - ((token_decl)) - ((type_decl)) - ((use_macros_decl))) + ((EPILOGUE) (wisent-raw-tag (semantic-tag-new-code "epilogue" nil)))) + (declaration ((decl) (eval $1 t))) + (decl ((default_prec_decl)) ((no_default_prec_decl)) + ((languagemode_decl)) ((package_decl)) + ((expectedconflicts_decl)) ((provide_decl)) + ((precedence_decl)) ((put_decl)) ((quotemode_decl)) + ((scopestart_decl)) ((start_decl)) ((keyword_decl)) + ((token_decl)) ((type_decl)) ((use_macros_decl))) (default_prec_decl ((DEFAULT-PREC) `(wisent-raw-tag - (semantic-tag "default-prec" 'assoc :value - '("t"))))) + (semantic-tag "default-prec" 'assoc :value '("t"))))) (no_default_prec_decl ((NO-DEFAULT-PREC) `(wisent-raw-tag - (semantic-tag "default-prec" 'assoc :value - '("nil"))))) + (semantic-tag "default-prec" 'assoc :value '("nil"))))) (languagemode_decl ((LANGUAGEMODE symbols) `(wisent-raw-tag - (semantic-tag ',(car $2) - 'languagemode :rest ',(cdr $2))))) + (semantic-tag ',(car $2) 'languagemode :rest ',(cdr $2))))) (package_decl ((PACKAGE SYMBOL) - `(wisent-raw-tag - (semantic-tag-new-package ',$2 nil)))) + `(wisent-raw-tag (semantic-tag-new-package ',$2 nil)))) (expectedconflicts_decl ((EXPECTEDCONFLICTS symbols) `(wisent-raw-tag - (semantic-tag ',(car $2) - 'expectedconflicts :rest ',(cdr $2))))) + (semantic-tag ',(car $2) 'expectedconflicts :rest ',(cdr $2))))) (provide_decl - ((PROVIDE SYMBOL) - `(wisent-raw-tag - (semantic-tag ',$2 'provide)))) + ((PROVIDE SYMBOL) `(wisent-raw-tag (semantic-tag ',$2 'provide)))) (precedence_decl ((associativity token_type_opt items) - `(wisent-raw-tag - (semantic-tag ',$1 'assoc :type ',$2 :value ',$3)))) - (associativity - ((LEFT) - (progn "left")) - ((RIGHT) - (progn "right")) - ((NONASSOC) - (progn "nonassoc"))) + `(wisent-raw-tag (semantic-tag ',$1 'assoc :type ',$2 :value ',$3)))) + (associativity ((LEFT) (progn "left")) ((RIGHT) (progn "right")) + ((NONASSOC) (progn "nonassoc"))) (put_decl ((PUT put_name put_value) - `(wisent-raw-tag - (semantic-tag ',$2 'put :value ',(list $3)))) + `(wisent-raw-tag (semantic-tag ',$2 'put :value ',(list $3)))) ((PUT put_name put_value_list) - `(wisent-raw-tag - (semantic-tag ',$2 'put :value ',$3))) + `(wisent-raw-tag (semantic-tag ',$2 'put :value ',$3))) ((PUT put_name_list put_value) `(wisent-raw-tag - (semantic-tag ',(car $2) - 'put :rest ',(cdr $2) - :value ',(list $3)))) + (semantic-tag ',(car $2) 'put :rest ',(cdr $2) :value + ',(list $3)))) ((PUT put_name_list put_value_list) `(wisent-raw-tag - (semantic-tag ',(car $2) - 'put :rest ',(cdr $2) - :value ',$3)))) + (semantic-tag ',(car $2) 'put :rest ',(cdr $2) :value ',$3)))) (put_name_list ((BRACE_BLOCK) (mapcar #'semantic-tag-name - (semantic-parse-region - (car $region1) - (cdr $region1) - 'put_names 1)))) - (put_names - ((LBRACE) - nil) - ((RBRACE) - nil) - ((put_name) - (wisent-raw-tag - (semantic-tag $1 'put-name)))) - (put_name - ((SYMBOL)) - ((token_type))) + (semantic-parse-region (car $region1) (cdr $region1) + 'put_names 1)))) + (put_names ((LBRACE) nil) ((RBRACE) nil) + ((put_name) (wisent-raw-tag (semantic-tag $1 'put-name)))) + (put_name ((SYMBOL)) ((token_type))) (put_value_list ((BRACE_BLOCK) (mapcar #'semantic-tag-code-detail - (semantic-parse-region - (car $region1) - (cdr $region1) - 'put_values 1)))) - (put_values - ((LBRACE) - nil) - ((RBRACE) - nil) - ((put_value) - (wisent-raw-tag - (semantic-tag-new-code "put-value" $1)))) - (put_value - ((SYMBOL any_value) - (cons $1 $2))) + (semantic-parse-region (car $region1) (cdr $region1) + 'put_values 1)))) + (put_values ((LBRACE) nil) ((RBRACE) nil) + ((put_value) + (wisent-raw-tag (semantic-tag-new-code "put-value" $1)))) + (put_value ((SYMBOL any_value) (cons $1 $2))) (scopestart_decl ((SCOPESTART SYMBOL) - `(wisent-raw-tag - (semantic-tag ',$2 'scopestart)))) + `(wisent-raw-tag (semantic-tag ',$2 'scopestart)))) (quotemode_decl ((QUOTEMODE SYMBOL) - `(wisent-raw-tag - (semantic-tag ',$2 'quotemode)))) + `(wisent-raw-tag (semantic-tag ',$2 'quotemode)))) (start_decl ((START symbols) - `(wisent-raw-tag - (semantic-tag ',(car $2) - 'start :rest ',(cdr $2))))) + `(wisent-raw-tag (semantic-tag ',(car $2) 'start :rest ',(cdr $2))))) (keyword_decl ((KEYWORD SYMBOL string_value) - `(wisent-raw-tag - (semantic-tag ',$2 'keyword :value ',$3)))) + `(wisent-raw-tag (semantic-tag ',$2 'keyword :value ',$3)))) (token_decl ((TOKEN token_type_opt SYMBOL string_value) `(wisent-raw-tag - (semantic-tag ',$3 ',(if $2 'token 'keyword) - :type ',$2 :value ',$4))) + (semantic-tag ',$3 ',(if $2 'token 'keyword) :type ',$2 :value + ',$4))) ((TOKEN token_type_opt symbols) `(wisent-raw-tag - (semantic-tag ',(car $3) - 'token :type ',$2 :rest ',(cdr $3))))) - (token_type_opt - (nil) - ((token_type))) - (token_type - ((LT SYMBOL GT) - (progn $2))) + (semantic-tag ',(car $3) 'token :type ',$2 :rest ',(cdr $3))))) + (token_type_opt (nil) ((token_type))) + (token_type ((LT SYMBOL GT) (progn $2))) (type_decl ((TYPE token_type plist_opt) - `(wisent-raw-tag - (semantic-tag ',$2 'type :value ',$3)))) - (plist_opt - (nil) - ((plist))) - (plist - ((plist put_value) - (append - (list $2) - $1)) - ((put_value) - (list $1))) + `(wisent-raw-tag (semantic-tag ',$2 'type :value ',$3)))) + (plist_opt (nil) ((plist))) + (plist ((plist put_value) (append (list $2) $1)) + ((put_value) (list $1))) (use_name_list ((BRACE_BLOCK) (mapcar #'semantic-tag-name - (semantic-parse-region - (car $region1) - (cdr $region1) - 'use_names 1)))) - (use_names - ((LBRACE) - nil) - ((RBRACE) - nil) - ((SYMBOL) - (wisent-raw-tag - (semantic-tag $1 'use-name)))) + (semantic-parse-region (car $region1) (cdr $region1) + 'use_names 1)))) + (use_names ((LBRACE) nil) ((RBRACE) nil) + ((SYMBOL) (wisent-raw-tag (semantic-tag $1 'use-name)))) (use_macros_decl ((USE-MACROS SYMBOL use_name_list) `(wisent-raw-tag (semantic-tag "macro" 'macro :type ',$2 :value ',$3)))) - (string_value - ((STRING) - (read $1))) - (any_value - ((SYMBOL)) - ((STRING)) - ((PAREN_BLOCK)) - ((PREFIXED_LIST)) - ((SEXP))) - (symbols - ((lifo_symbols) - (nreverse $1))) - (lifo_symbols - ((lifo_symbols SYMBOL) - (cons $2 $1)) - ((SYMBOL) - (list $1))) + (string_value ((STRING) (read $1))) + (any_value ((SYMBOL)) ((STRING)) ((PAREN_BLOCK)) ((PREFIXED_LIST)) + ((SEXP))) + (symbols ((lifo_symbols) (nreverse $1))) + (lifo_symbols ((lifo_symbols SYMBOL) (cons $2 $1)) + ((SYMBOL) (list $1))) (nonterminal ((SYMBOL (setq semantic-grammar-wy--nterm $1 semantic-grammar-wy--rindx 0) COLON rules SEMI) - (wisent-raw-tag - (semantic-tag $1 'nonterminal :children $4)))) - (rules - ((lifo_rules) - (apply #'nconc - (nreverse $1)))) - (lifo_rules - ((lifo_rules OR rule) - (cons $3 $1)) - ((rule) - (list $1))) + (wisent-raw-tag (semantic-tag $1 'nonterminal :children $4)))) + (rules ((lifo_rules) (apply #'nconc (nreverse $1)))) + (lifo_rules ((lifo_rules OR rule) (cons $3 $1)) ((rule) (list $1))) (rule ((rhs) (let* ((nterm semantic-grammar-wy--nterm) - (rindx semantic-grammar-wy--rindx) - (rhs $1) - comps prec action elt) - (setq semantic-grammar-wy--rindx - (1+ semantic-grammar-wy--rindx)) + (rindx semantic-grammar-wy--rindx) (rhs $1) comps prec action + elt) + (setq semantic-grammar-wy--rindx (1+ semantic-grammar-wy--rindx)) (while rhs - (setq elt - (car rhs) - rhs - (cdr rhs)) + (setq elt (car rhs) rhs (cdr rhs)) (cond ((vectorp elt) (if prec (error "Duplicate %%prec in `%s:%d' rule" nterm rindx)) - (setq prec - (aref elt 0))) + (setq prec (aref elt 0))) ((consp elt) - (if - (or action comps) - (setq comps - (cons elt comps) - semantic-grammar-wy--rindx + (if (or action comps) + (setq comps (cons elt comps) semantic-grammar-wy--rindx (1+ semantic-grammar-wy--rindx)) - (setq action - (car elt)))) - (t - (setq comps - (cons elt comps))))) + (setq action (car elt)))) + (t (setq comps (cons elt comps))))) (wisent-cook-tag (wisent-raw-tag - (semantic-tag - (format "%s:%d" nterm rindx) - 'rule :type - (if comps "group" "empty") - :value comps :prec prec :expr action)))))) - (rhs - (nil) - ((rhs item) - (cons $2 $1)) - ((rhs action) - (cons - (list $2) - $1)) - ((rhs PREC item) - (cons - (vector $3) - $1))) - (action - ((PAREN_BLOCK)) - ((PREFIXED_LIST)) - ((BRACE_BLOCK) - (format "(progn\n%s)" - (let - ((s $1)) - (if - (string-match "^{[ \n ]*" s) - (setq s - (substring s - (match-end 0)))) - (if - (string-match "[ \n ]*}$" s) - (setq s - (substring s 0 - (match-beginning 0)))) - s)))) - (items - ((lifo_items) - (nreverse $1))) - (lifo_items - ((lifo_items item) - (cons $2 $1)) - ((item) - (list $1))) - (item - ((SYMBOL)) - ((CHARACTER)))) - (grammar prologue epilogue declaration nonterminal rule put_names put_values use_names)) + (semantic-tag (format "%s:%d" nterm rindx) 'rule :type + (if comps "group" "empty") :value comps :prec + prec :expr action)))))) + (rhs (nil) ((rhs item) (cons $2 $1)) + ((rhs action) (cons (list $2) $1)) + ((rhs PREC item) (cons (vector $3) $1))) + (action ((PAREN_BLOCK)) ((PREFIXED_LIST)) + ((BRACE_BLOCK) + (format "(progn\n%s)" + (let ((s $1)) + (if (string-match "^{[ \n ]*" s) + (setq s (substring s (match-end 0)))) + (if (string-match "[ \n ]*}$" s) + (setq s (substring s 0 (match-beginning 0)))) + s)))) + (items ((lifo_items) (nreverse $1))) + (lifo_items ((lifo_items item) (cons $2 $1)) ((item) (list $1))) + (item ((SYMBOL)) ((CHARACTER)))) + (grammar prologue epilogue declaration nonterminal rule put_names + put_values use_names)) "Parser table.") (defun semantic-grammar-wy--install-parser () @@ -438,53 +266,54 @@ ;; (define-lex-keyword-type-analyzer semantic-grammar-wy---keyword-analyzer "keyword analyzer for tokens." - "\\(\\sw\\|\\s_\\)+") + "\\(\\sw\\|\\s_\\)+" + ) (define-lex-regex-type-analyzer semantic-grammar-wy---regexp-analyzer "regexp analyzer for tokens." semantic-grammar-lex-c-char-re nil - 'CHARACTER) + 'CHARACTER + ) (define-lex-sexp-type-analyzer semantic-grammar-wy---sexp-analyzer "sexp analyzer for tokens." "\\s\"" - 'STRING) + 'STRING + ) (define-lex-block-type-analyzer semantic-grammar-wy---block-analyzer "block analyzer for tokens." "\\s(\\|\\s)" - '((("(" LPAREN PAREN_BLOCK) - ("{" LBRACE BRACE_BLOCK)) - (")" RPAREN) + '((("(" LPAREN PAREN_BLOCK) ("{" LBRACE BRACE_BLOCK)) (")" RPAREN) ("}" RBRACE)) ) (define-lex-string-type-analyzer semantic-grammar-wy---string-analyzer "string analyzer for tokens." "\\(\\s.\\|\\s$\\|\\s'\\)+" - '((GT . ">") - (LT . "<") - (OR . "|") - (SEMI . ";") - (COLON . ":")) - 'punctuation) + '((GT . ">") (LT . "<") (OR . "|") (SEMI . ";") (COLON . ":")) + 'punctuation + ) (define-lex-regex-type-analyzer semantic-grammar-wy---regexp-analyzer "regexp analyzer for tokens." ":?\\(\\sw\\|\\s_\\)+" '((PERCENT_PERCENT . "\\`%%\\'")) - 'SYMBOL) + 'SYMBOL + ) (define-lex-sexp-type-analyzer semantic-grammar-wy---sexp-analyzer "sexp analyzer for tokens." "\\s'\\s-*(" - 'PREFIXED_LIST) + 'PREFIXED_LIST + ) (define-lex-sexp-type-analyzer semantic-grammar-wy---sexp-analyzer "sexp analyzer for tokens." "\\=" - 'SEXP) + 'SEXP + ) ;;; Epilogue diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index cc791fa8453..ab791da3271 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -4899,6 +4899,7 @@ 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))) (autoload 'batch-native-compile "comp" "\ Perform batch native compilation of remaining command-line arguments. @@ -5003,7 +5004,7 @@ The variable `native-comp-async-jobs-number' specifies the number of (commands) to run simultaneously. (fn FILES &optional RECURSIVELY LOAD SELECTOR)") -(register-definition-prefixes "comp-run" '("comp-" "native-comp")) +(register-definition-prefixes "comp-run" '("comp-" "native-")) ;;; Generated autoloads from vc/compare-w.el @@ -9808,16 +9809,6 @@ displayed." t) ;;; Generated autoloads from eshell/em-extpipe.el -(defgroup eshell-extpipe nil "\ -Native shell pipelines. - -This module lets you construct pipelines that use your operating -system's shell instead of Eshell's own pipelining support. This -is especially relevant when executing commands on a remote -machine using Eshell's Tramp integration: using the remote -shell's pipelining avoids copying the data which will flow -through the pipeline to local Emacs buffers and then right back -again." :tag "External pipelines" :group 'eshell-module) (register-definition-prefixes "em-extpipe" '("eshell-")) @@ -9853,6 +9844,21 @@ again." :tag "External pipelines" :group 'eshell-module) ;;; Generated autoloads from eshell/em-script.el +(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'). + +Comments begin with `#'. + +(fn FILE &optional ARGS DESTINATION)") +(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 +top in order to make it into an executable script: + + #!/usr/bin/env -S emacs --batch -f eshell-batch-file") (register-definition-prefixes "em-script" '("eshell")) @@ -10415,7 +10421,7 @@ Look at CONFIG and try to expand GROUP. ;;; Generated autoloads from erc/erc.el -(push (purecopy '(erc 5 6 -4)) package--builtin-versions) +(push (purecopy '(erc 5 6)) package--builtin-versions) (dolist (symbol '( erc-sasl erc-spelling ; 29 erc-imenu erc-nicks)) ; 30 (custom-add-load symbol symbol)) @@ -17700,7 +17706,7 @@ where FILE is the file from which to load the image, and DATA is a 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 idication of the +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 determined for FILE or DATA by `create-image'. @@ -18868,6 +18874,7 @@ resume interrupted spell-checking of a buffer or region. Interactively, in Transient Mark mode when the mark is active, call `ispell-region' to check the active region for spelling errors. +Non-interactively, this happens if REGION is non-nil. Word syntax is controlled by the definition of the chosen dictionary, which is in `ispell-local-dictionary-alist' or `ispell-dictionary-alist'. @@ -18886,6 +18893,10 @@ quit spell session exited. (autoload 'ispell-pdict-save "ispell" "\ Check to see if the personal dictionary has been modified. If so, ask if it needs to be saved. +If NO-QUERY is non-nil, save the personal dictionary without asking. +Interactively, if `ispell-silently-savep' is non-nil, don't ask. +If FORCE-SAVE is non-nil, suggest to save the personal dictionary even +if not modified; this always happens interactively. (fn &optional NO-QUERY FORCE-SAVE)" t) (autoload 'ispell-help "ispell" "\ @@ -18894,23 +18905,23 @@ Display a list of the options available when a misspelling is encountered. Selections are: \\`0'..\\`9' Replace the word with a digit offered in the *Choices* buffer. -\\`SPC' Accept word this time. -\\`i' Accept word and insert into private dictionary. -\\`a' Accept word for this session. -\\`A' Accept word and place in `buffer-local dictionary'. -\\`r' Replace word with typed-in value. Rechecked. -\\`R' Replace word with typed-in value. Query-replaced in buffer. Rechecked. -\\`?' Show these commands. -\\`x' Exit spelling buffer. Move cursor to original point. -\\`X' Exit spelling buffer. Leaves cursor at the current point, and permits - the aborted check to be completed later. -\\`q' Quit spelling session (Kills ispell process). -\\`l' Look up typed-in replacement in alternate dictionary. Wildcards okay. -\\`u' Like \\`i', but the word is lower-cased first. -\\`m' Place typed-in value in personal dictionary, then recheck current word. -\\`C-l' Redraw screen. -\\`C-r' Recursive edit. -\\`C-z' Suspend Emacs or iconify frame.") +\\`SPC' Accept word this time. +\\`i' Accept word and insert into private dictionary. +\\`a' Accept word for this session. +\\`A' Accept word and place in `buffer-local dictionary'. +\\`r' Replace word with typed-in value. Rechecked. +\\`R' Replace word with typed-in value. Query-replaced in buffer. Rechecked. +\\`?' Show these commands. +\\`x' Exit spelling buffer. Move cursor to original point. +\\`X' Exit spelling buffer. Leaves cursor at the current point, and permits + the aborted check to be completed later. +\\`q' Quit spelling session (Kills ispell process). +\\`l' Look up typed-in replacement in alternate dictionary. Wildcards okay. +\\`u' Like \\`i', but the word is lower-cased first. +\\`m' Place typed-in value in personal dictionary, then recheck current word. +\\`C-l' Redraw screen. +\\`C-r' Recursive edit. +\\`C-z' Suspend Emacs or iconify frame.") (autoload 'ispell-kill-ispell "ispell" "\ Kill current Ispell process (so that you may start a fresh one). With NO-ERROR, just return non-nil if there was no Ispell running. @@ -18919,14 +18930,14 @@ With CLEAR, buffer session localwords are cleaned. (fn &optional NO-ERROR CLEAR)" t) (autoload 'ispell-change-dictionary "ispell" "\ Change to dictionary DICT for Ispell. -With a prefix arg, set it \"globally\", for all buffers. -Without a prefix arg, set it \"locally\", just for this buffer. +If ARG is non-nil (interactively, the prefix arg), set it \"globally\", +for all buffers. Otherwise, set it \"locally\", just for this buffer. -By just answering RET you can find out what the current dictionary is. +By just answering RET you can find out the name of the current dictionary. (fn DICT &optional ARG)" t) (autoload 'ispell-region "ispell" "\ -Interactively check a region for spelling errors. +Interactively check region between REG-START and REG-END for spelling errors. Leave the mark at the last misspelled word that the user was queried about. Return nil if spell session was terminated, otherwise returns shift offset @@ -19024,7 +19035,7 @@ in your init file: (add-hook \\='mail-send-hook #\\='ispell-message) (add-hook \\='mh-before-send-letter-hook #\\='ispell-message) -You can bind this to the key C-c i in GNUS or mail by adding to +You can bind this to a key in GNUS or mail by adding to `news-reply-mode-hook' or `mail-mode-hook' the following lambda expression: (lambda () (local-set-key \"\\C-ci\" \\='ispell-message))" t) (register-definition-prefixes "ispell" '("check-ispell-version" "ispell-")) @@ -22631,7 +22642,7 @@ Many aspects this mode can be customized using ;;; Generated autoloads from org/ob-lilypond.el -(register-definition-prefixes "ob-lilypond" '("lilypond-mode" "ob-lilypond-header-args" "org-babel-")) +(register-definition-prefixes "ob-lilypond" '("ob-lilypond-header-args" "org-babel-")) ;;; Generated autoloads from org/ob-lisp.el @@ -22726,7 +22737,7 @@ Many aspects this mode can be customized using ;;; Generated autoloads from org/ob-shell.el -(register-definition-prefixes "ob-shell" '("org-babel-")) +(register-definition-prefixes "ob-shell" '("ob-shell-async-" "org-babel-")) ;;; Generated autoloads from org/ob-sql.el @@ -22933,7 +22944,7 @@ Coloring: ;;; Generated autoloads from org/org.el -(push (purecopy '(org 9 6 15)) package--builtin-versions) +(push (purecopy '(org 9 7 4)) package--builtin-versions) (autoload 'org-babel-do-load-languages "org" "\ Load the languages defined in `org-babel-load-languages'. @@ -23011,10 +23022,10 @@ If the file does not exist, throw an error. (fn PATH &optional IN-EMACS LINE SEARCH)") (autoload 'org-open-at-point-global "org" "\ -Follow a link or a time-stamp like Org mode does. +Follow a link or a timestamp like Org mode does. Also follow links and emails as seen by `thing-at-point'. This command can be called in any mode to follow an external -link or a time-stamp that has Org mode syntax. Its behavior +link or a timestamp that has Org mode syntax. Its behavior is undefined when called on internal links like fuzzy links. Raise a user error when there is nothing to follow." t) (autoload 'org-offer-links-in-entry "org" "\ @@ -23463,7 +23474,7 @@ With `\\[universal-argument]' prefix ARG, switch to startup visibility. With a numeric prefix, show all headlines up to that level. (fn &optional ARG)" t) -(register-definition-prefixes "org-cycle" '("org-cycle-")) +(register-definition-prefixes "org-cycle" '("org-")) ;;; Generated autoloads from org/org-datetree.el @@ -23480,6 +23491,11 @@ 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 @@ -23697,7 +23713,7 @@ This function is intended to be used in `outline-search-function'. ;;; Generated autoloads from org/ox-ascii.el -(register-definition-prefixes "ox-ascii" '("org-ascii-")) +(register-definition-prefixes "ox-ascii" '("org-")) ;;; Generated autoloads from org/ox-beamer.el @@ -23707,7 +23723,7 @@ This function is intended to be used in `outline-search-function'. ;;; Generated autoloads from org/ox-html.el -(register-definition-prefixes "ox-html" '("org-html-")) +(register-definition-prefixes "ox-html" '("org-")) ;;; Generated autoloads from org/ox-icalendar.el @@ -23824,7 +23840,7 @@ Return PDF file's name. ;;; Generated autoloads from org/ox-md.el -(register-definition-prefixes "ox-md" '("org-md-")) +(register-definition-prefixes "ox-md" '("org-")) ;;; Generated autoloads from org/ox-odt.el @@ -23844,7 +23860,7 @@ Return PDF file's name. ;;; Generated autoloads from org/ox-texinfo.el -(register-definition-prefixes "ox-texinfo" '("org-texinfo-")) +(register-definition-prefixes "ox-texinfo" '("org-")) ;;; Generated autoloads from emacs-lisp/package.el @@ -24880,6 +24896,44 @@ 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 @@ -25728,7 +25782,7 @@ Open profile FILENAME. ;;; Generated autoloads from progmodes/project.el -(push (purecopy '(project 0 11 0)) package--builtin-versions) +(push (purecopy '(project 0 11 1)) package--builtin-versions) (autoload 'project-current "project" "\ Return the project instance in DIRECTORY, defaulting to `default-directory'. @@ -33201,6 +33255,54 @@ Ding and select the window at EVENT, then activate the mark. If word around EVENT; otherwise, set point to the location of EVENT. (fn EVENT)" t) +(autoload 'touch-screen-translate-touch "touch-screen" "\ +Translate touch screen events into a sequence of mouse events. +PROMPT is the prompt string given to `read-key-sequence', or nil +if this function is being called from the keyboard command loop. +Value is a new key sequence. + +Read the touch screen event within `current-key-remap-sequence' +and give it to `touch-screen-handle-touch'. Return any key +sequence signaled. + +If `touch-screen-handle-touch' does not signal for an event to be +returned after the last element of the key sequence is read, +continue reading touch screen events until +`touch-screen-handle-touch' signals. Return a sequence +consisting of the first event encountered that is not a touch +screen event. + +In addition to non-touchscreen events read, key sequences +returned may contain any one of the following events: + + (touchscreen-scroll WINDOW DX DY) + +where WINDOW specifies a window to scroll, and DX and DY are +integers describing how many pixels to be scrolled horizontally +and vertically, + + (touchscreen-hold POSN) + (touchscreen-drag POSN) + +where POSN is the position of the long-press or touchpoint +motion, + + (touchscreen-restart-drag POSN) + +where POSN is the position of the tap, + + (down-mouse-1 POSN) + (drag-mouse-1 POSN) + +where POSN is the position of the mouse button press or click, + + (mouse-1 POSN) + (mouse-2 POSN) + +where POSN is the position of the mouse click, either `mouse-2' +if POSN is on a link or a button, or `mouse-1' otherwise. + +(fn PROMPT)") (autoload 'touch-screen-track-tap "touch-screen" "\ Track a single tap starting from EVENT. EVENT should be a `touchscreen-begin' event. @@ -37465,7 +37567,7 @@ Default value of MODIFIERS is `shift-super'. ;;; Generated autoloads from window-tool-bar.el -(push (purecopy '(window-tool-bar 0 2)) package--builtin-versions) +(push (purecopy '(window-tool-bar 0 2 1)) package--builtin-versions) (autoload 'window-tool-bar-string "window-tool-bar" "\ Return a (propertized) string for the tool bar. @@ -37979,9 +38081,9 @@ run a specific program. The program must be a member of (provide 'loaddefs) ;; Local Variables: +;; no-byte-compile: t ;; version-control: never ;; no-update-autoloads: t -;; no-byte-compile: t ;; no-native-compile: t ;; coding: utf-8-emacs-unix ;; End: commit 82f0014273193d27c71a1fcb9be778c85cfa5e65 Author: Po Lu Date: Mon Jun 17 17:43:24 2024 +0800 Reinforce bitmap reconfiguration on Android * java/org/gnu/emacs/EmacsView.java (EmacsView) : New field in which to record whether the back buffer has received contents beyond those present at the last buffer swap. : Delete field. (onAttachedToWindow, onLayout, handleDirtyBitmap) (prepareForLayout): Rather, synchronize window dimensions with the view. (getCanvas, getBitmap): Do not reconfigure the back buffer bitmap if such outstanding data exists. (postSwapBuffers): New function. (swapBuffers): If such outstanding data exists and the back bufferis pending reconfiguration, recreate the back buffer and report exposure. * src/androidterm.c (handle_one_android_event): Fix indentation. diff --git a/java/org/gnu/emacs/EmacsView.java b/java/org/gnu/emacs/EmacsView.java index 78d1ef785da..2ea54217837 100644 --- a/java/org/gnu/emacs/EmacsView.java +++ b/java/org/gnu/emacs/EmacsView.java @@ -88,15 +88,15 @@ public final class EmacsView extends ViewGroup /* Whether or not a popup is active. */ private boolean popupActive; + /* Whether the back buffer has been updated since the last swap. */ + private boolean unswapped; + /* The current context menu. */ private EmacsContextMenu contextMenu; /* The last measured width and height. */ private int measuredWidth, measuredHeight; - /* Object acting as a lock for those values. */ - private Object dimensionsLock; - /* The serial of the last clip rectangle change. */ private long lastClipSerial; @@ -153,9 +153,6 @@ public final class EmacsView extends ViewGroup /* Add this view as its own global layout listener. */ getViewTreeObserver ().addOnGlobalLayoutListener (this); - - /* Create an object used as a lock. */ - this.dimensionsLock = new Object (); } private void @@ -164,12 +161,9 @@ public final class EmacsView extends ViewGroup Bitmap oldBitmap; int measuredWidth, measuredHeight; - synchronized (dimensionsLock) - { - /* Load measuredWidth and measuredHeight. */ - measuredWidth = this.measuredWidth; - measuredHeight = this.measuredHeight; - } + /* Load measuredWidth and measuredHeight. */ + measuredWidth = this.measuredWidth; + measuredHeight = this.measuredHeight; if (measuredWidth == 0 || measuredHeight == 0) return; @@ -231,8 +225,14 @@ public final class EmacsView extends ViewGroup public synchronized Bitmap getBitmap () { - if (bitmapDirty || bitmap == null) + /* Never alter the bitmap if modifications have been received that + are still to be copied to the front buffer, as this indicates + that redisplay is in the process of copying matrix contents to + the glass, and such events as generally prompt a complete + regeneration of the frame's contents might not be processed. */ + if (!unswapped && (bitmapDirty || bitmap == null)) handleDirtyBitmap (); + unswapped = true; return bitmap; } @@ -242,11 +242,12 @@ public final class EmacsView extends ViewGroup { int i; - if (bitmapDirty || bitmap == null) + if (!unswapped && (bitmapDirty || bitmap == null)) handleDirtyBitmap (); if (canvas == null) return null; + unswapped = true; /* Update clip rectangles if necessary. */ if (gc.clipRectID != lastClipSerial) @@ -266,14 +267,11 @@ public final class EmacsView extends ViewGroup return canvas; } - public void + public synchronized void prepareForLayout (int wantedWidth, int wantedHeight) { - synchronized (dimensionsLock) - { - measuredWidth = wantedWidth; - measuredHeight = wantedWidth; - } + measuredWidth = wantedWidth; + measuredHeight = wantedWidth; } @Override @@ -329,8 +327,8 @@ else if (MeasureSpec.getMode (heightMeasureSpec) == MeasureSpec.AT_MOST } /* Note that the monitor lock for the window must never be held from - within the lock for the view, because the window also locks the - other way around. */ + within that for the view, because the window acquires locks in the + opposite direction. */ @Override protected void @@ -346,7 +344,7 @@ else if (MeasureSpec.getMode (heightMeasureSpec) == MeasureSpec.AT_MOST count = getChildCount (); needExpose = false; - synchronized (dimensionsLock) + synchronized (this) { /* Load measuredWidth and measuredHeight. */ oldMeasuredWidth = measuredWidth; @@ -355,48 +353,48 @@ else if (MeasureSpec.getMode (heightMeasureSpec) == MeasureSpec.AT_MOST /* Set measuredWidth and measuredHeight. */ measuredWidth = right - left; measuredHeight = bottom - top; - } - /* If oldMeasuredHeight or oldMeasuredWidth are wrong, set changed - to true as well. */ + /* If oldMeasuredHeight or oldMeasuredWidth are wrong, set + changed to true as well. */ - if (right - left != oldMeasuredWidth - || bottom - top != oldMeasuredHeight) - changed = true; + if (right - left != oldMeasuredWidth + || bottom - top != oldMeasuredHeight) + changed = true; - /* Dirty the back buffer if the layout change resulted in the view - being resized. */ - - if (changed) - { - /* Expose the window upon a change in the view's size that - prompts the creation of a new bitmap. */ - explicitlyDirtyBitmap (); - needExpose = true; + /* Dirty the back buffer if the layout change resulted in the view + being resized. */ - /* This might return NULL if this view is not attached. */ - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) + if (changed) { - /* If a toplevel view is focused and isCurrentlyTextEditor - is enabled when the IME is hidden, clear - isCurrentlyTextEditor so it isn't shown again if the - user dismisses Emacs before returning. */ - rootWindowInsets = getRootWindowInsets (); - - if (isCurrentlyTextEditor - && rootWindowInsets != null - && isAttachedToWindow - && !rootWindowInsets.isVisible (WindowInsets.Type.ime ()) - /* N.B. that the keyboard is dismissed during gesture - navigation under Android 30, but the system is - quite temperamental regarding whether the window is - focused at that point. Ideally - isCurrentlyTextEditor shouldn't be reset in that - case, but detecting that situation appears to be - impossible. Sigh. */ - && (window == EmacsActivity.focusedWindow - && hasWindowFocus ())) - isCurrentlyTextEditor = false; + /* Expose the window upon a change in the view's size that + prompts the creation of a new bitmap. */ + bitmapDirty = needExpose = true; + + /* This might return NULL if this view is not attached. */ + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) + { + /* If a toplevel view is focused and + isCurrentlyTextEditor is enabled when the IME is + hidden, clear isCurrentlyTextEditor so it isn't shown + again if the user dismisses Emacs before + returning. */ + rootWindowInsets = getRootWindowInsets (); + + if (isCurrentlyTextEditor + && rootWindowInsets != null + && isAttachedToWindow + && !rootWindowInsets.isVisible (WindowInsets.Type.ime ()) + /* N.B. that the keyboard is dismissed during + gesture navigation under Android 30, but the + system is quite temperamental regarding whether + the window is focused at that point. Ideally + isCurrentlyTextEditor shouldn't be reset in that + case, but detecting that situation appears to be + impossible. Sigh. */ + && (window == EmacsActivity.focusedWindow + && hasWindowFocus ())) + isCurrentlyTextEditor = false; + } } } @@ -449,6 +447,33 @@ else if (child.getVisibility () != GONE) damageRegion.op (left, top, right, bottom, Region.Op.UNION); } + /* Complete deferred reconfiguration of the front buffer after a + buffer swap completes, and generate Expose events for the same. */ + + private void + postSwapBuffers () + { + if (!unswapped) + return; + + unswapped = false; + + /* If the bitmap is dirty, reconfigure the bitmap and + generate an Expose event to produce its contents. */ + + if ((bitmapDirty || bitmap == null) + /* Do not generate Expose events if handleDirtyBitmap will + not create a valid bitmap, or the consequent buffer swap + will produce another event, ad infinitum. */ + && isAttachedToWindow && measuredWidth != 0 + && measuredHeight != 0) + { + handleDirtyBitmap (); + EmacsNative.sendExpose (this.window.handle, 0, 0, + measuredWidth, measuredHeight); + } + } + /* This method is called from both the UI thread and the Emacs thread. */ @@ -467,7 +492,10 @@ else if (child.getVisibility () != GONE) /* Now see if there is a damage region. */ if (damageRegion.isEmpty ()) - return; + { + postSwapBuffers (); + return; + } /* And extract and clear the damage region. */ @@ -479,6 +507,7 @@ else if (child.getVisibility () != GONE) /* Transfer the bitmap to the surface view, then invalidate it. */ surfaceView.setBitmap (bitmap, damageRect); + postSwapBuffers (); } } @@ -758,13 +787,9 @@ else if (child.getVisibility () != GONE) was called. */ bitmapDirty = true; - synchronized (dimensionsLock) - { - /* Now expose the view contents again. */ - EmacsNative.sendExpose (this.window.handle, 0, 0, - measuredWidth, measuredHeight); - } - + /* Now expose the view contents again. */ + EmacsNative.sendExpose (this.window.handle, 0, 0, + measuredWidth, measuredHeight); super.onAttachedToWindow (); } diff --git a/src/androidterm.c b/src/androidterm.c index 730c832bb5b..837cc50bfa1 100644 --- a/src/androidterm.c +++ b/src/androidterm.c @@ -926,11 +926,11 @@ handle_one_android_event (struct android_display_info *dpyinfo, XSETFRAME (inev.ie.frame_or_window, f); } - if (f && FRAME_OUTPUT_DATA (f)->need_cursor_updates) - { - w = XWINDOW (f->selected_window); - android_set_preeditarea (w, w->cursor.x, w->cursor.y); - } + if (f && FRAME_OUTPUT_DATA (f)->need_cursor_updates) + { + w = XWINDOW (f->selected_window); + android_set_preeditarea (w, w->cursor.x, w->cursor.y); + } } goto OTHER; commit 6aa5068ac71cb1b8e46c299138f99fea44319146 Author: Po Lu Date: Mon Jun 17 12:11:25 2024 +0800 Improve treatment of touch screen input by rmc and its callers * lisp/emacs-lisp/rmc.el (read-multiple-choice--short-answers): Run touch screen event translation on touch screen events received, and respond to pinch, tap and scrolling gestures. * lisp/net/nsm.el (nsm-query-user): Disable use-dialog-box in the details window. * lisp/touch-screen.el (touch-screen-translate-touch): Autoload. diff --git a/lisp/emacs-lisp/rmc.el b/lisp/emacs-lisp/rmc.el index 378687c0326..883f8bf187f 100644 --- a/lisp/emacs-lisp/rmc.el +++ b/lisp/emacs-lisp/rmc.el @@ -189,7 +189,7 @@ Usage example: "%s (%s): " prompt (mapconcat (lambda (e) (cdr e)) altered-names ", "))) - tchar buf wrong-char answer) + tchar buf wrong-char answer command) (save-window-excursion (save-excursion (if show-help @@ -216,40 +216,76 @@ Usage example: (let ((cursor-in-echo-area t)) (read-event)) (error nil)))) - (setq answer (lookup-key query-replace-map (vector tchar) t)) - (setq tchar - (cond - ((eq answer 'recenter) - (recenter) t) - ((eq answer 'scroll-up) - (ignore-errors (scroll-up-command)) t) - ((eq answer 'scroll-down) - (ignore-errors (scroll-down-command)) t) - ((eq answer 'scroll-other-window) - (ignore-errors (scroll-other-window)) t) - ((eq answer 'scroll-other-window-down) - (ignore-errors (scroll-other-window-down)) t) - ((eq answer 'edit) - (save-match-data - (save-excursion - (message "%s" - (substitute-command-keys - "Recursive edit; type \\[exit-recursive-edit] to return to help screen")) - (recursive-edit)))) - (t tchar))) - (when (eq tchar t) - (setq wrong-char nil - tchar nil)) - ;; The user has entered an invalid choice, so display the - ;; help messages. - (when (and (not (eq tchar nil)) - (not (assq tchar choices))) - (setq wrong-char (not (memq tchar `(?? ,help-char))) - tchar nil) - (when wrong-char - (ding)) - (setq buf (rmc--show-help prompt help-string show-help - choices altered-names)))))) + (if (memq (car-safe tchar) '(touchscreen-begin + touchscreen-end + touchscreen-update)) + ;; Execute commands generally bound to certain touchscreen + ;; events. + (progn + (when (setq command + (let ((current-key-remap-sequence + (vector tchar))) + (touch-screen-translate-touch nil))) + (setq command (if (> (length command) 0) + (aref command 0) + nil)) + (setq tchar nil) + (cond + ((null command)) ; Read another event. + ((memq (car-safe command) '(mouse-1 mouse-2)) + ;; Display the on-screen keyboard if a tap should be + ;; registered. + (frame-toggle-on-screen-keyboard (selected-frame) + nil)) + ;; Respond to scroll and pinch events as if RMC were + ;; not in progress. + ((eq (car-safe command) 'touchscreen-scroll) + (funcall #'touch-screen-scroll command)) + ((eq (car-safe command) 'touchscreen-pinch) + (funcall #'touch-screen-pinch command)) + ;; Prevent other touchscreen-generated events from + ;; reaching the default conditional. + ((memq (or (and (symbolp command) command) + (car-safe command)) + '(touchscreen-hold touchscreen-drag + touchscreen-restart-drag)) + nil) + (t (setq tchar command))))) + (setq answer (lookup-key query-replace-map (vector tchar) t)) + (setq tchar + (cond + ((eq answer 'recenter) + (recenter) t) + ((eq answer 'scroll-up) + (ignore-errors (scroll-up-command)) t) + ((eq answer 'scroll-down) + (ignore-errors (scroll-down-command)) t) + ((eq answer 'scroll-other-window) + (ignore-errors (scroll-other-window)) t) + ((eq answer 'scroll-other-window-down) + (ignore-errors (scroll-other-window-down)) t) + ((eq answer 'edit) + (save-match-data + (save-excursion + (message + "%s" + (substitute-command-keys + "Recursive edit; type \\[exit-recursive-edit] to return to help screen")) + (recursive-edit)))) + (t tchar))) + (when (eq tchar t) + (setq wrong-char nil + tchar nil)) + ;; The user has entered an invalid choice, so display the + ;; help messages. + (when (and (not (eq tchar nil)) + (not (assq tchar choices))) + (setq wrong-char (not (memq tchar `(?? ,help-char))) + tchar nil) + (when wrong-char + (ding)) + (setq buf (rmc--show-help prompt help-string show-help + choices altered-names))))))) (when (buffer-live-p buf) (kill-buffer buf)) (assq tchar choices))) diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el index 830dc9372ab..ab655dbb13b 100644 --- a/lisp/net/nsm.el +++ b/lisp/net/nsm.el @@ -826,7 +826,10 @@ protocol." (?n "next" "Next certificate") (?p "previous" "Previous certificate") (?q "quit" "Quit details view"))) - (done nil)) + (done nil) + (old-use-dialog-box use-dialog-box) + (use-dialog-box use-dialog-box) + (use-dialog-box-override use-dialog-box-override)) (save-window-excursion ;; First format the certificate and warnings. (pop-to-buffer buffer) @@ -859,14 +862,18 @@ protocol." (read-multiple-choice "Continue connecting?" accept-choices))) (setq buf (if show-details cert-buffer buffer)) - (cl-case (car answer) (?q + (setq use-dialog-box old-use-dialog-box) ;; Exit the details window. (set-window-buffer (get-buffer-window cert-buffer) buffer) (setq show-details nil)) (?d + ;; Dialog boxes should be suppressed, as they + ;; obstruct the certificate details buffer. + (setq use-dialog-box nil + use-dialog-box-override nil) ;; Enter the details window. (set-window-buffer (get-buffer-window buffer) cert-buffer) (with-current-buffer cert-buffer diff --git a/lisp/touch-screen.el b/lisp/touch-screen.el index dd6bbf8ccce..9efbb59926e 100644 --- a/lisp/touch-screen.el +++ b/lisp/touch-screen.el @@ -1751,6 +1751,7 @@ functions undertaking event management themselves to call (put 'mouse-drag-region 'ignored-mouse-command t) +;;;###autoload (defun touch-screen-translate-touch (prompt) "Translate touch screen events into a sequence of mouse events. PROMPT is the prompt string given to `read-key-sequence', or nil commit 7be66d8223e49489b2803c0ff027f1824d774441 Author: Juri Linkov Date: Mon Jun 17 09:32:45 2024 +0300 * lisp/outline.el: Keep point on the same outline after revert. (outline-hidden-headings-paths): Return the current path as well. (outline-hidden-headings-restore-paths): Move point to the path that was current before reverting the buffer (bug#71466). (outline-revert-buffer-restore-visibility): Handle both values returned from outline-hidden-headings-paths. diff --git a/lisp/outline.el b/lisp/outline.el index 421fbfd6d1f..d579eb24a4c 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -1704,49 +1704,61 @@ LEVEL, decides of subtree visibility according to Every hash key is a list whose elements compose a complete path of headings descending from the top level down to the bottom level. This is useful to save the hidden outlines and restore them later -after reverting the buffer." - (let ((paths (make-hash-table :test #'equal)) - current-path) +after reverting the buffer. Also return the outline where point +was located before reverting the buffer." + (let* ((paths (make-hash-table :test #'equal)) + path current-path + (current-heading-p (outline-on-heading-p)) + (current-beg (when current-heading-p (pos-bol))) + (current-end (when current-heading-p (pos-eol)))) (outline-map-region (lambda () (let* ((level (funcall outline-level)) (heading (buffer-substring-no-properties (pos-bol) (pos-eol)))) - (while (and current-path (>= (cdar current-path) level)) - (pop current-path)) - (push (cons heading level) current-path) + (while (and path (>= (cdar path) level)) + (pop path)) + (push (cons heading level) path) (when (save-excursion (outline-end-of-heading) (seq-some (lambda (o) (eq (overlay-get o 'invisible) 'outline)) (overlays-at (point)))) - (setf (gethash (mapcar #'car current-path) paths) t)))) + (setf (gethash (mapcar #'car path) paths) t)) + (when (and current-heading-p (<= current-beg (point) current-end)) + (setq current-path (mapcar #'car path))))) (point-min) (point-max)) - paths)) + (list paths current-path))) -(defun outline-hidden-headings-restore-paths (paths) +(defun outline-hidden-headings-restore-paths (paths current-path) "Restore hidden outlines from a hash of hidden headings. This is useful after reverting the buffer to restore the outlines -hidden by `outline-hidden-headings-paths'." - (let (current-path outline-view-change-hook) +hidden by `outline-hidden-headings-paths'. Also restore point +on the same outline where point was before reverting the buffer." + (let (path current-point outline-view-change-hook) (outline-map-region (lambda () (let* ((level (funcall outline-level)) (heading (buffer-substring (pos-bol) (pos-eol)))) - (while (and current-path (>= (cdar current-path) level)) - (pop current-path)) - (push (cons heading level) current-path) - (when (gethash (mapcar #'car current-path) paths) - (outline-hide-subtree)))) - (point-min) (point-max)))) + (while (and path (>= (cdar path) level)) + (pop path)) + (push (cons heading level) path) + (when (gethash (mapcar #'car path) paths) + (outline-hide-subtree)) + (when (and current-path (equal current-path (mapcar #'car path))) + (setq current-point (point))))) + (point-min) (point-max)) + (when current-point (goto-char current-point)))) (defun outline-revert-buffer-restore-visibility () "Preserve visibility when reverting buffer under `outline-minor-mode'. This function restores the visibility of outlines after the buffer under `outline-minor-mode' is reverted by `revert-buffer'." (let ((paths (outline-hidden-headings-paths))) - (unless (hash-table-empty-p paths) + (unless (and (hash-table-empty-p (nth 0 paths)) + (null (nth 1 paths))) (lambda () - (outline-hidden-headings-restore-paths paths))))) + (outline-hidden-headings-restore-paths + (nth 0 paths) (nth 1 paths)))))) (defun outline-revert-buffer-rehighlight () "Rehighlight outlines when reverting buffer under `outline-minor-mode'. commit f18a915690c48119daaecf5b8684c46129496866 Author: Stefan Kangas Date: Sun Jun 16 22:16:36 2024 +0200 ; Translate comment to English * lisp/progmodes/php-ts-mode.el (php-ts-mode--parent-html-heuristic): Translate comment to English. diff --git a/lisp/progmodes/php-ts-mode.el b/lisp/progmodes/php-ts-mode.el index 030b97c31b0..8bb18dab3d5 100644 --- a/lisp/progmodes/php-ts-mode.el +++ b/lisp/progmodes/php-ts-mode.el @@ -497,7 +497,7 @@ characters of the current line." (if (search-forward "" end-html t 1) 0 (+ (point) php-ts-mode-indent-offset)))) - ;; forse è meglio usare bol, leggi la documentazione!!! + ;; Maybe it's better to use bol, read the documentation!!! (treesit-node-start parent)))) (defun php-ts-mode--array-element-heuristic (_node parent _bol &rest _) commit c0eefebabfee011f0ec7631d055e482e4965a24d Author: Stefan Kangas Date: Sun Jun 16 21:59:42 2024 +0200 ; Fix typos diff --git a/ChangeLog.3 b/ChangeLog.3 index 46fc57cd0c0..1398b9bcf53 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -11216,7 +11216,7 @@ Rename flymake--backend-state to flymake--state - The previous name was confusing and akward and dreadful to type and + The previous name was confusing and awkward and dreadful to type and read. * lisp/progmodes/flymake.el (flymake--state): Rename from @@ -28256,7 +28256,7 @@ We used to `bset_enable_multibyte_characters` while the buffer is not empty, putting the buffer temporarily in an inconsistent state. - Further simplifications along the way: Prefer re-using local var `histvar` + Further simplifications along the way: Prefer reusing local var `histvar` and let `insert` do the unibyte<->multibyte conversion if needed. 2021-04-20 Eli Zaretskii @@ -50574,7 +50574,7 @@ Make XEmacs entry in the FAQ more contemporary * doc/misc/efaq.texi (Difference between Emacs and XEmacs): Make - XEmacs entry in the FAQ more contemporary. Remove part about re-using + XEmacs entry in the FAQ more contemporary. Remove part about reusing XEmacs code; this is not likely to be relevant these days and in any case is not a frequently asked question. (Bug#45235) @@ -83494,7 +83494,7 @@ 6b297519b5 Fix cl-most-positive-float doc typo c36c5a3ded ; lisp/ldefs-boot.el: Update. 3876a60569 Fix a typo in calculator.el - 9e832ba91b * lisp/erc/erc.el: Add URL to the new ERC page on the Emac... + 9e832ba91b * lisp/erc/erc.el: Add URL to the new ERC page on the Emacs... # Conflicts: # etc/NEWS @@ -128371,7 +128371,7 @@ Merge from origin/emacs-26 - 9254885 (origin/emacs-26) Resurrect display-line-number-mode in clien... + 9254885 (origin/emacs-26) Resurrect display-line-number-mode in client... aecbbd5 * src/fns.c (Fmapconcat): Doc fix. (Bug#35710) 8e5fc38 Fix typo ee21b40 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'. (Bug#36... @@ -134042,7 +134042,7 @@ 9d7e08d (origin/emacs-26) Avoid false positives and false negatives o... 75b589c Fix markup related to quoting in Info - fd6ff29 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... + fd6ff29 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs... cd2204f Add a package: line to c-submit-bug-report. a992dca ; Remove empty NEWS sections ea67270 ; Add NEWS sections for 26.3 @@ -148868,7 +148868,7 @@ 2c8ea46 Revert "* etc/NEWS: Note setting make-cursor-line-fully-visib... f8df6f2 * etc/NEWS: Note setting make-cursor-line-fully-visible to ni... cdca208 Fix note about interactive advice (Bug#32905) - 508c40e Comple fix for Bug#32550 + 508c40e Complete fix for Bug#32550 2018-10-03 Glenn Morris @@ -157301,7 +157301,7 @@ Merge from origin/emacs-26 - 76f692e Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... + 76f692e Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs... 2018-06-02 Glenn Morris @@ -157310,7 +157310,7 @@ 90bea37 ; * etc/PROBLEMS: Fix fvwm version number in last commit af82d1f * etc/PROBLEMS: Document stickiness problem with FVWM (Bug#31... 4a3aed2 Update Emacs Lisp Intro to match current behavior - 21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... + 21f2247 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs... 3257085 Fix previous commit 6d23525 Fix typos in several manuals (Bug#31610) 9188291 Add detailed documentation about lock files @@ -159803,7 +159803,7 @@ ad731b0 ; * doc/lispref/display.texi (Temporary Displays): Fix typos. f1450e9 Complete documentation of syntax flags by adding `c' 6bdcaec Fix typos and minor wording issues in ELisp manual - febac27 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... + febac27 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs... 6c2e21e Avoid segfault in processes of type 'pipe' 60e10c5 Remove repetitions in documentation strings 208e752 * lisp/image.el (image-load-path): Doc fix. @@ -162780,7 +162780,7 @@ d523e4a Remove some unused spam.el variables 501808c Replace some obsolete aliases in code 19afff3 Replace some obsolete aliases in documentation - c797bc9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... + c797bc9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs... 0efe0bd Obsolete eshell-cmpl-suffix-list add48d2 More minor changes in the Glossary of the Emacs manual f6bd7e0 Revert last commit @@ -163219,7 +163219,7 @@ fd50238 (origin/emacs-26) * doc/lispref/streams.texi (Output Variable... 769ea57 Use "GTK+" where applicable in the manual 5e69219 Document print-escape-control-characters - c00fea9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... + c00fea9 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs... a2ab0d0 * doc/emacs/killing.texi (Rectangles): Don't use @key for cha... 6288c3d * lisp/emulation/viper.el: Unbreak it. bf3535e More fixes in the Emacs manual @@ -163800,7 +163800,7 @@ 593bbda Document comment-fill-column in the manual (Bug#11636) bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits. 69107f3 ; Fix doc typos related to indefinite articles - aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac... + aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emacs... 5906418 More fixes for the Emacs manual 9ab3df1 ; Fix doc typos related to indefinite articles 66a4e65 ; Fix doc typos related to indefinite articles @@ -174726,7 +174726,7 @@ 2018-10-01 Michael Albinus - Comple fix for Bug#32550 + Complete fix for Bug#32550 * lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay): Use `save-excursion'. This completes the fix of Bug#32550. @@ -217743,7 +217743,7 @@ baa8ba4 * lisp/subr.el (start-process): Doc fix. (Bug#24693) e535ca4 Fix display of vc-dir CVS file statuses in subdirectories 12da149 Update URL of MS-Windows optional DLLs - 2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... + 2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs... a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)... b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f... cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (B... @@ -220415,7 +220415,7 @@ 5ccd593 ; Fix typo in /etc/NEWS 96e3d16 * etc/NEWS: Mention the change in json-encode-string. 2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create... - 2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... + 2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs... 66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe... # Conflicts: @@ -228688,7 +228688,7 @@ 3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings. a1f221b Comint and compile no longer set EMACS 5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2... - a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... + a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs... c93ae7a Allow to customize names of executables used by grep.el f6497c6 Set locale encoding to UTF-8 when run from OS X GUI. 7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt diff --git a/ChangeLog.4 b/ChangeLog.4 index a9450fdba6c..fa55bc0fe55 100644 --- a/ChangeLog.4 +++ b/ChangeLog.4 @@ -7999,7 +7999,7 @@ Given an inlay hints at position POS, its attached to [POS, POS+1] if it's kind=1 (usually type hints) and [POS-1, POS] otherwise. For kind=1 hints, the 'cursor position of the first such overlay is also - tweaked, so that's it's less akward to edit around it. + tweaked, so that's it's less awkward to edit around it. * lisp/progmodes/eglot.el (eglot--before-change): Don't delete hints here. @@ -35893,7 +35893,7 @@ Merge from origin/emacs-28 395760dcd3 Update ChangeLog and AUTHORS for Emacs 28.2 - ddabb03a01 * doc/misc/idlwave.texi (Troubleshooting): Don't say "Emac... + ddabb03a01 * doc/misc/idlwave.texi (Troubleshooting): Don't say "Emacs... 724444f3d5 ; * doc/emacs/misc.texi (emacsclient Options): Fix typo. b96257162d Don't mention very old Emacs versions in docs @@ -56282,7 +56282,7 @@ 2022-06-14 Mattias Engdegård - Simplify byte-compiler assuming cconv normalisations + Simplify byte-compiler assuming cconv normalizations * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker) (byte-optimize-let-form, byte-optimize-letX): @@ -56296,7 +56296,7 @@ Make cconv work for dynamically bound code and always run it. This allows later stages to benefit from transformations and - normalisations in cconv. + normalizations in cconv. * lisp/emacs-lisp/bytecomp.el (byte-compile-preprocess): Always run cconv. @@ -104223,7 +104223,7 @@ Merge from origin/emacs-28 f1c9286 ; * doc/misc/org.org: fix capture context example - af67ce6 Merge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/emac... + af67ce6 Merge branch 'emacs-28' of git.savannah.gnu.org:/srv/git/emacs... 610680a Fix rendering of title-less tags in shr 2ba4ccf ; * lisp/files.el (make-nearby-temp-file): Doc fix. diff --git a/admin/codespell/codespell.dictionary b/admin/codespell/codespell.dictionary index 59065fbf8e2..df6085feac8 100644 --- a/admin/codespell/codespell.dictionary +++ b/admin/codespell/codespell.dictionary @@ -1,6 +1,5 @@ alis->alist, alias, alas, axis, alms, boostrap-clean->bootstrap-clean -brunches->branches defalis->defalias defalises->defaliases ecmacs->emacs @@ -8,10 +7,6 @@ ehsell->eshell emcs->emacs file-writeable-p->file-writable-p finis->finish -firs->first -hep->help least-favourite->least-favorite -lien->line -liens->lines mecas->emacs sehell->eshell, shell, diff --git a/admin/codespell/codespell.exclude b/admin/codespell/codespell.exclude index 1f036478965..f01302b7931 100644 --- a/admin/codespell/codespell.exclude +++ b/admin/codespell/codespell.exclude @@ -1611,3 +1611,76 @@ Optional DETECTIN is an autoload cons from `ede-detect-directory-for-project' '("\\(?:Entering\\|Leavin\\(g\\)\\) directory [`']\\(.+\\)'$" (2 . 1)) "dropping" "fillin" "from" "granularity" "hppp" "inwindow" (".G1" . ".G2") ; grap + (let ((tagret nil) + (setq tagret (cons ans tagret)) + (setq tagret (append ans tagret))) + tagret)) + (setq tagret ans) + (setq tagret (car ans))) + (cons objret tagret))) + (prevend (track-changes--state-end state)) + (setq end prevend) + (when (< endb prevend) + (let ((new-end (+ end (- prevend endb)))) + (cl-assert (= prevend (+ beg lenbefore))) + (cl-assert (<= beg prevbeg prevend endb)) + (- endb prevend))) + (- endb prevend))))) + ;; etc... whereas "real" declmods are valid for all types, buildin + outin = ina | inb | \\=`constant; + out = outin; + comin comstart) + (setq comin (point)) + (buffer-substring comstart comin)))) + (comment-string-strip (buffer-substring comstart comin) nil t)) + (buffer-substring (point) comin)) + (buffer-substring (line-beginning-position) comin)))) +;; designate them are: eqn (e), grap (g), pic (p), tbl (t), vgrind + FLUSHO and PENDIN. + fo: { [x: any]: any } = { + "\\<\\(?:\\(?:fals\\|tru\\)e\\)\\>") + (search-forward "tru") + (search-forward "Tru") + (" fo.ba@example.com" 6 email "fo.ba@example.com") + "t" "tr" "tru" "truE" "truee" + "f" "fa" "fal" "fals" "falsE" "falsee")) + int eventState, notIn; + notIn = (down ? eventState & ~lastButtonState + if ((notIn & (MotionEvent.BUTTON_PRIMARY + if ((notIn & MotionEvent.BUTTON_PRIMARY) != 0) + if ((notIn & MotionEvent.BUTTON_SECONDARY) != 0) + if ((notIn & MotionEvent.BUTTON_TERTIARY) != 0) + if ((notIn & MotionEvent.BUTTON_BACK) != 0) + if ((notIn & MotionEvent.BUTTON_FORWARD) != 0) + if ((notIn & MotionEvent.BUTTON_STYLUS_PRIMARY) != 0) + if ((notIn & MotionEvent.BUTTON_STYLUS_SECONDARY) != 0) +argument \\='general-category, is Decimal_Numbers (Nd). It returns + (let (compos comin) + (setq comin (point)))))) + (setq comin (point)))) + (let* ((comstart (buffer-substring compos comin)) + (te (float-time + (dt (- (if tend (min te tend) te) +2022-04-20 Jean Abou Samra (tiny change) +(string< "abc" "abd") +(string< "abd" "abc") +;; ("a") ("ab") ("abc") ("abd") ("abf") ("zab") ("acb") +;; `«(my-face)U:abd»'. +;; `«(my-fibonacci-property):(1 1 2 3 5 8):abd»'. + :eval (string-collate-lessp "abc" "abd")) + :eval (string-lessp "abc" "abd") + :eval (string-greaterp "abd" "abc") + :eval (string-collate-lessp "abc" "abd"))) + `(("abc" < "abd") + (abc < "abd") + (abc < abd) + ("abc" < ,(string-to-multibyte "abd")) + (,(string-to-multibyte "abc") < "abd") + (,(string-to-multibyte "abc") < ,(string-to-multibyte "abd")) + ("" . "a") ("a" . "b") ("A" . "a") ("abc" . "abd") +2004-05-05 Stephen Eglen +;; location: http://www.anc.ed.ac.uk/~stephen/emacs/ + :link '(url-link "https://www.anc.ed.ac.uk/~stephen/emacs/") + ((or (string-equal tag "anc") (string-equal tag "ancestor")) + ("ro" :default "Continuare de pe pagina precedentă") + ("ro" :default "Continuare pe pagina următoare") diff --git a/admin/codespell/codespell.ignore b/admin/codespell/codespell.ignore index 4f6135ca39a..02bd6d05838 100644 --- a/admin/codespell/codespell.ignore +++ b/admin/codespell/codespell.ignore @@ -1,4 +1,5 @@ acknowledgements +advices afile ake analogue diff --git a/admin/make-manuals b/admin/make-manuals index 477daa09a4c..833849922e5 100755 --- a/admin/make-manuals +++ b/admin/make-manuals @@ -95,7 +95,7 @@ tempfile="$(emacs_mktemp)" if [ -e $outdir ]; then ## Speed up repeat invocation. - echo "Re-using existing $outdir/ directory" + echo "Reusing existing $outdir/ directory" else diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index 4ddd84f470e..f3d12feefc6 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -334,7 +334,7 @@ stands for a key sequence that will invoke @var{command}, or @samp{M-x @item \@{@var{mapvar}@} stands for a summary of the keymap which is the value of the variable @var{mapvar}. The summary is made using @code{describe-bindings}. -The summary will normally exclude meny bindings, but if the +The summary will normally exclude menu bindings, but if the @var{include-menus} argument to @code{substitute-command-keys} is non-@code{nil}, the menu bindings will be included. diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 56ebc589960..381da21cebe 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -18973,7 +18973,7 @@ number between zero and one. It is equivalent to @samp{random(1.0)}. @kindex k a @pindex calc-random-again The @kbd{k a} (@code{calc-random-again}) command produces another random -number, re-using the most recent value of @expr{M}. With a numeric +number, reusing the most recent value of @expr{M}. With a numeric prefix argument @var{n}, it produces @var{n} more random numbers using that value of @expr{M}. diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index 3e353dc356d..fb1df473f75 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/modus-themes.org @@ -486,7 +486,7 @@ The reason we recommend ~load-theme~ instead of the other option of ~enable-theme~ is that the former does a kind of "reset" on the face specs. It quite literally loads (or reloads) the theme. Whereas the ~enable-theme~ function simply puts an already loaded theme to the top -of the list of enabled items, re-using whatever state was last loaded. +of the list of enabled items, reusing whatever state was last loaded. As such, ~load-theme~ reads all customizations that may happen during any given Emacs session: even after the initial setup of a theme. @@ -2821,7 +2821,7 @@ Reload the theme for changes to take effect. #+cindex: Remapping faces There are cases where we need to change the buffer-local attributes of a -face. This might be because we have our own minor mode that re-uses a +face. This might be because we have our own minor mode that reuses a face for a particular purpose, such as a line selection tool that activates ~hl-line-mode~, but we wish to keep it distinct from other buffers. This is where ~face-remap-add-relative~ can be applied and may diff --git a/doc/misc/org.org b/doc/misc/org.org index 5423cf59759..31431a6ffc9 100644 --- a/doc/misc/org.org +++ b/doc/misc/org.org @@ -16408,7 +16408,7 @@ The iCalendar format standard requires globally unique identifier---or UID---for each entry. The iCalendar export backend creates UIDs during export. To save a copy of the UID in the Org file set the variable ~org-icalendar-store-UID~. The backend looks for the =ID= -property of the entry for re-using the same UID for subsequent +property of the entry for reusing the same UID for subsequent exports. Since a single Org entry can result in multiple iCalendar diff --git a/java/Makefile.in b/java/Makefile.in index a7a9cabe135..941631b8411 100644 --- a/java/Makefile.in +++ b/java/Makefile.in @@ -261,8 +261,8 @@ install_temp: $(CROSS_BINS) $(CROSS_LIBS) $(RESOURCE_FILES) \ $(AM_V_SILENT) $(libsrc)/asset-directory-tool \ install_temp/assets install_temp/assets/directory-tree\ $(if $(ANDROID_SDK_8_OR_EARLIER),--api-8) -# If the package targets Android 2.2, move compressable and -# non-compressable assets to separate directories. +# If the package targets Android 2.2, move compressible and +# non-compressible assets to separate directories. $(AM_V_SILENT) \ if [ -z "${ANDROID_SDK_8_OR_EARLIER}" ]; then :; else \ echo "Moving large and gzipped files to separate directories...">&2;\ diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6 index 84253b2d079..80ca08fae2b 100644 --- a/lisp/ChangeLog.6 +++ b/lisp/ChangeLog.6 @@ -6276,7 +6276,7 @@ * vc.el (vc-dired-mode): Now a major mode derived from dired-mode. (vc-directory): Take DIRNAME as an argument. Ask for it in the minibuffer. Don't kill pre-existing vc-dired buffers - (dired now re-uses the right one). + (dired now reuses the right one). (vc-file-tree-walk): New argument DIRNAME. Updated all callers. (vc-dired-update): New function. `g' in vc-dired-mode calls it. (vc-dired-reformat-line): Handle different ls -l formats. diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 10c86571804..345687d1775 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -2497,7 +2497,7 @@ ATTRLIST is a list with elements of the form :face face :foreground color." (if (not faceinfo) ;; No attributes to apply, so just use an existing-face. face - ;; FIXME should we be using numbered temp-faces, re-using where poss? + ;; FIXME should we be using numbered temp-faces, reusing where poss? (setq temp-face (make-symbol (concat ":caltemp" diff --git a/lisp/cedet/semantic/complete.el b/lisp/cedet/semantic/complete.el index 3249f64cc6f..89c3dacf8df 100644 --- a/lisp/cedet/semantic/complete.el +++ b/lisp/cedet/semantic/complete.el @@ -913,7 +913,7 @@ tags.") (cache :initform nil :type (or null semanticdb-find-result-with-nil) :documentation "Cache of tags. -These tags are re-used during a completion session. +These tags are reused during a completion session. Sometimes these tags are cached between completion sessions.") (last-all-completions :initarg nil :type semanticdb-find-result-with-nil diff --git a/lisp/erc/ChangeLog.1 b/lisp/erc/ChangeLog.1 index f1605f70f3e..d63f7aa20c6 100644 --- a/lisp/erc/ChangeLog.1 +++ b/lisp/erc/ChangeLog.1 @@ -2404,7 +2404,7 @@ documentation. (erc-cmd-QUIT): Set the active buffer to be the server buffer, so that any QUIT-related messages go there. - (erc): Try to be more clever about re-using channel buffers when + (erc): Try to be more clever about reusing channel buffers when automatically re-connecting. Thanks to e1f for noticing. 2006-01-23 Michael Olson diff --git a/lisp/external-completion.el b/lisp/external-completion.el index b171e27014c..a9d394c61d4 100644 --- a/lisp/external-completion.el +++ b/lisp/external-completion.el @@ -126,7 +126,7 @@ EXPANDED-PATTERN." (pcase action (`metadata `(metadata (category . ,category) . ,metadata)) - ;; Note: the `--tryc' `--allc' suffixes are made akward on + ;; Note: the `--tryc' `--allc' suffixes are made awkward on ;; purpose, so it's easy to pick them apart from the jungle ;; of combinations of "try" and "all" and "completion" that ;; inhabit Emacs's completion logic. diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2 index 53f81862ddf..f8ce5630f26 100644 --- a/lisp/gnus/ChangeLog.2 +++ b/lisp/gnus/ChangeLog.2 @@ -18098,14 +18098,14 @@ 2000-11-05 Simon Josefsson * mml-smime.el (mml-smime-verify): Work in original multipart - buffert. + buffer. * mm-decode.el (mm-handle-multipart-original-buffer): New macro. (mm-handle-multipart-ctl-parameter): Ditto. (mm-alist-to-plist): New function. (mm-dissect-buffer): Store CTL parameters and copy original buffer for multiparts. - (mm-destroy-parts): Destroy multipart buffert. + (mm-destroy-parts): Destroy multipart buffer. (mm-remove-part): Ditto. * mml-smime.el (mml-smime-sign): Not used. diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el index 9e9a5f97fd4..e6c2b9e05c0 100644 --- a/lisp/jsonrpc.el +++ b/lisp/jsonrpc.el @@ -448,7 +448,7 @@ ignored." ;; ...finally, whatever may have happened to this sync ;; request, it might have been holding up any outer ;; "anxious" continuations. The following ensures we - ;; cll them. + ;; call them. (jsonrpc--continue connection id))))) (when (eq 'error (car retval)) (signal 'jsonrpc-error diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index fb723fb8878..7eb66bb062b 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -781,7 +781,7 @@ If nil, the value of `ange-ftp-netrc-default-user' is used. If that is nil too, then your login name is used. Once a connection to a given host has been initiated, the user name -and password information for that host are cached and re-used by +and password information for that host are cached and reused by ange-ftp. Use \\[ange-ftp-set-user] to change the cached values, since setting `ange-ftp-default-user' directly does not affect the cached information." diff --git a/lisp/org/ChangeLog.1 b/lisp/org/ChangeLog.1 index 74a62e00855..1cf159f19a2 100644 --- a/lisp/org/ChangeLog.1 +++ b/lisp/org/ChangeLog.1 @@ -9828,7 +9828,7 @@ to explicitly kill all agenda buffers. (org-agenda-run-series): Remove any old agenda markers in the buffer that is going to take the new block agenda. - (org-prepare-agenda): Reset markers before erasing the buffer anc + (org-prepare-agenda): Reset markers before erasing the buffer and running `org-agenda-mode', because after that the local variable `org-agenda-markers' will have gone away. (org-agenda-Quit): diff --git a/lisp/org/oc-basic.el b/lisp/org/oc-basic.el index 6e3142fa12b..e207a19977e 100644 --- a/lisp/org/oc-basic.el +++ b/lisp/org/oc-basic.el @@ -24,7 +24,7 @@ ;; The `basic' citation processor provides "activate", "follow", "export" and ;; "insert" capabilities. -;; "activate" capability re-uses default fontification, but provides additional +;; "activate" capability reuses default fontification, but provides additional ;; features on both correct and wrong keys according to the bibliography ;; defined in the document. diff --git a/lisp/org/org-faces.el b/lisp/org/org-faces.el index af7269bd15a..785fb22dbc0 100644 --- a/lisp/org/org-faces.el +++ b/lisp/org/org-faces.el @@ -683,7 +683,7 @@ month and 365.24 days for a year)." (defcustom org-n-level-faces (length org-level-faces) "The number of different faces to be used for headlines. Org mode defines 8 different headline faces, so this can be at most 8. -If it is less than 8, the level-1 face gets re-used for level N+1 etc." +If it is less than 8, the level-1 face gets reused for level N+1 etc." :type 'integer :group 'org-faces) diff --git a/lisp/org/ox.el b/lisp/org/ox.el index 35bbf84a0ca..6fa21be9063 100644 --- a/lisp/org/ox.el +++ b/lisp/org/ox.el @@ -4738,7 +4738,7 @@ matching DATUM before creating a new reference." ;; unique, e.g., there might be duplicate custom ID or ;; two headings with the same title in the file. ;; - ;; As a consequence, before re-using any reference to + ;; As a consequence, before reusing any reference to ;; an element or object, we check that it doesn't refer ;; to a previous element or object. (new (or (cl-some diff --git a/lisp/progmodes/bug-reference.el b/lisp/progmodes/bug-reference.el index 4a691e5bf67..88af92420b5 100644 --- a/lisp/progmodes/bug-reference.el +++ b/lisp/progmodes/bug-reference.el @@ -712,7 +712,7 @@ set already. This function sets the latter to nil buffer-locally, so that the auto-setup will always run. This is mostly intended for MUA modes like `rmail-mode' where the -same buffer is re-used for different contexts." +same buffer is reused for different contexts." (setq-local bug-reference-url-format nil) (bug-reference-mode)) diff --git a/lisp/progmodes/peg.el b/lisp/progmodes/peg.el index 938f8da910d..6dedb6e4895 100644 --- a/lisp/progmodes/peg.el +++ b/lisp/progmodes/peg.el @@ -311,7 +311,7 @@ EXPS is a list of rules/expressions that failed.") `(lambda ,args . ,body))) ;; Sometimes (with-peg-rules ... (peg-run (peg ...))) is too -;; longwinded for the task at hand, so `peg-parse' comes in handy. +;; long-winded for the task at hand, so `peg-parse' comes in handy. (defmacro peg-parse (&rest pexs) "Match PEXS at point. PEXS is a sequence of PEG expressions, implicitly combined with `and'. diff --git a/lisp/progmodes/php-ts-mode.el b/lisp/progmodes/php-ts-mode.el index 64138db9dc8..030b97c31b0 100644 --- a/lisp/progmodes/php-ts-mode.el +++ b/lisp/progmodes/php-ts-mode.el @@ -205,7 +205,7 @@ symbol." (defcustom php-ts-mode-indent-style 'psr2 "Style used for indentation. The selected style could be one of: -`PSR-2/PSR-12' - use PSR standards (PSR-2, PSR-12), thi is the default. +`PSR-2/PSR-12' - use PSR standards (PSR-2, PSR-12), this is the default. `PEAR' - use coding styles preferred for PEAR code and modules. `Drupal' - use coding styles preferred for working with Drupal projects. `WordPress' - use coding styles preferred for working with WordPress projects. @@ -242,7 +242,7 @@ Calls REPORT-FN directly." (kill-process php-ts-mode--flymake-process)) (let ((source (current-buffer)) (diagnostics-pattern (eval-when-compile - (rx bol (? "PHP ") ;; every dignostic line start with PHP + (rx bol (? "PHP ") ;; every diagnostic line start with PHP (group (or "Fatal" "Parse")) ;; 1: type " error:" (+ (syntax whitespace)) (group (+? nonl)) ;; 2: msg @@ -372,7 +372,7 @@ To set the default indent style globally, use `php-ts-mode' use five parsers, this function returns, for the current buffer, the ranges covered by each parser. -Usefull for debugging." +Useful for debugging." (let ((ranges) (parsers (treesit-parser-list nil nil t))) (if (not parsers) @@ -444,7 +444,7 @@ PARENT is its parent." (line-end-position)))))) (defun php-ts-mode--js-css-tag-bol (node _parent &rest _) - "Find the first non-space caracters of html tags