Merge remote-tracking branch 'origin/master' into feature/android
This commit is contained in:
commit
2e644fc13c
21 changed files with 246 additions and 193 deletions
|
@ -75,9 +75,10 @@ General steps (for each step, check for possible errors):
|
|||
For the first pretest of a new major release, consider starting a
|
||||
new top-level ChangeLog.N file if the last versioned ChangeLog.N
|
||||
file is too large. A good point to start a new ChangeLog.N file
|
||||
is when the last one gets larger than 1.5 MiB. If so, start a new
|
||||
one by bumping N, and also update the line in top-level
|
||||
Makefile.in which says
|
||||
is when the last one gets larger than 5 MiB, or when you make the
|
||||
first pretest of a new major release, whichever happens later. If
|
||||
so, start a new ChangeLog.N file by bumping N, and also update the
|
||||
line in top-level Makefile.in which says
|
||||
|
||||
CHANGELOG_HISTORY_INDEX_MAX = N
|
||||
|
||||
|
|
|
@ -207,7 +207,8 @@ from lower-priority archives (@code{package-menu-toggle-hiding}).
|
|||
@findex package-menu-filter-by-archive
|
||||
Filter package list by archive (@code{package-menu-filter-by-archive}).
|
||||
This prompts for a package archive (e.g., @samp{gnu}), then shows only
|
||||
packages from that archive.
|
||||
packages from that archive. You can specify several archives by
|
||||
typing their names separated by commas.
|
||||
|
||||
@item / d
|
||||
@kindex / d @r{(Package Menu)}
|
||||
|
@ -222,7 +223,8 @@ matching that regexp.
|
|||
@findex package-menu-filter-by-keyword
|
||||
Filter package list by keyword (@code{package-menu-filter-by-keyword}).
|
||||
This prompts for a keyword (e.g., @samp{games}), then shows only
|
||||
packages with that keyword.
|
||||
packages with that keyword. You can specify several keywords by
|
||||
typing them separated by commas.
|
||||
|
||||
@item / N
|
||||
@kindex / N @r{(Package Menu)}
|
||||
|
@ -243,16 +245,19 @@ with names matching that regexp.
|
|||
@kindex / s @r{(Package Menu)}
|
||||
@findex package-menu-filter-by-status
|
||||
Filter package list by status (@code{package-menu-filter-by-status}).
|
||||
This prompts for one or more statuses (e.g., @samp{available}), then
|
||||
shows only packages with matching status.
|
||||
This prompts for one or more statuses (e.g., @samp{available},
|
||||
@pxref{Package Statuses}), then shows only packages with matching
|
||||
status. You can specify several status values by typing them
|
||||
separated by commas.
|
||||
|
||||
@item / v
|
||||
@kindex / v @r{(Package Menu)}
|
||||
@findex package-menu-filter-by-version
|
||||
Filter package list by version (@code{package-menu-filter-by-version}).
|
||||
This prompts first for one of the qualifiers @samp{<}, @samp{>} or
|
||||
@samp{=}, and then a package version, and shows packages that has a
|
||||
lower, equal or higher version than the one specified.
|
||||
This prompts first for one of the comparison symbols @samp{<},
|
||||
@samp{>} or @samp{=} and for a version string, and then shows packages
|
||||
whose versions are correspondingly lower, equal or higher than the
|
||||
version you typed.
|
||||
|
||||
@item / m
|
||||
@kindex / m @r{(Package Menu)}
|
||||
|
|
|
@ -2365,6 +2365,11 @@ this:
|
|||
(set-advertised-calling-convention
|
||||
'sit-for '(seconds &optional nodisp) "22.1")
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
The alternative to using this function is the
|
||||
@code{advertised-calling-convention} @code{declare} spec, see
|
||||
@ref{Declare Form}.
|
||||
@end defun
|
||||
|
||||
@node Inline Functions
|
||||
|
@ -2541,6 +2546,7 @@ Each element in @var{specs} should have the form @code{(@var{property}
|
|||
following effects:
|
||||
|
||||
@table @code
|
||||
@cindex @code{advertised-calling-convention} (@code{declare} spec)
|
||||
@item (advertised-calling-convention @var{signature} @var{when})
|
||||
This acts like a call to @code{set-advertised-calling-convention}
|
||||
(@pxref{Obsolete Functions}); @var{signature} specifies the correct
|
||||
|
@ -2566,6 +2572,7 @@ This is typically used for macros, though it works for functions too.
|
|||
Set the function's @code{interactive-only} property to @var{value}.
|
||||
@xref{The interactive-only property}.
|
||||
|
||||
@cindex @code{obsolete} (@code{declare} spec)
|
||||
@item (obsolete @var{current-name} @var{when})
|
||||
Mark the function or macro as obsolete, similar to a call to
|
||||
@code{make-obsolete} (@pxref{Obsolete Functions}). @var{current-name}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
% Reference Card for Org Mode
|
||||
\def\orgversionnumber{9.6.5}
|
||||
\def\orgversionnumber{9.6.6}
|
||||
\def\versionyear{2023} % latest update
|
||||
\input emacsver.tex
|
||||
|
||||
|
|
|
@ -3569,7 +3569,7 @@ lambda-expression."
|
|||
|
||||
;; Adding these functions causes many warnings;
|
||||
;; evaluate how many of them are false first.
|
||||
;;delq delete
|
||||
delq delete
|
||||
;;nconc plist-put
|
||||
)))
|
||||
(dolist (fn important-return-value-fns)
|
||||
|
|
|
@ -3732,6 +3732,7 @@ Prepare every function for final compilation and drive the C back-end."
|
|||
',native-comp-compiler-options
|
||||
native-comp-driver-options
|
||||
',native-comp-driver-options
|
||||
byte-compile-warnings ',byte-compile-warnings
|
||||
load-path ',load-path)
|
||||
,native-comp-async-env-modifier-form
|
||||
(message "Compiling %s..." ',output)
|
||||
|
@ -4004,6 +4005,7 @@ display a message."
|
|||
native-comp-driver-options
|
||||
load-path
|
||||
backtrace-line-length
|
||||
byte-compile-warnings
|
||||
;; package-load-list
|
||||
;; package-user-dir
|
||||
;; package-directory-list
|
||||
|
|
|
@ -386,6 +386,7 @@ FILE can be an Org file, indicated by its \".org\" extension,
|
|||
otherwise it's assumed to be an Info file."
|
||||
(let* ((pkg-name (package-desc-name pkg-desc))
|
||||
(default-directory (package-desc-dir pkg-desc))
|
||||
(docs-directory (expand-file-name (file-name-directory file)))
|
||||
(output (expand-file-name (format "%s.info" pkg-name)))
|
||||
clean-up)
|
||||
(when (string-match-p "\\.org\\'" file)
|
||||
|
@ -400,7 +401,9 @@ otherwise it's assumed to be an Info file."
|
|||
(erase-buffer)
|
||||
(cond
|
||||
((/= 0 (call-process "makeinfo" nil t nil
|
||||
"--no-split" file "-o" output))
|
||||
"-I" docs-directory
|
||||
"--no-split" file
|
||||
"-o" output))
|
||||
(message "Failed to build manual %s, see buffer %S"
|
||||
file (buffer-name)))
|
||||
((/= 0 (call-process "install-info" nil t nil
|
||||
|
@ -548,9 +551,11 @@ documentation and marking the package as installed."
|
|||
(package--reload-previously-loaded new-desc)))
|
||||
|
||||
;; Mark package as selected
|
||||
(package--save-selected-packages
|
||||
(cons (package-desc-name pkg-desc)
|
||||
package-selected-packages))
|
||||
(let ((name (package-desc-name pkg-desc)))
|
||||
(unless (memq name package-selected-packages)
|
||||
(package--save-selected-packages
|
||||
(cons name package-selected-packages))))
|
||||
|
||||
(package--quickstart-maybe-refresh)
|
||||
|
||||
;; Confirm that the installation was successful
|
||||
|
|
|
@ -3597,7 +3597,8 @@ The regexp is added to the list in the user option
|
|||
`package-hidden-regexps' and saved for future sessions.
|
||||
|
||||
To unhide a package, type
|
||||
`\\[customize-variable] RET package-hidden-regexps'.
|
||||
`\\[customize-variable] RET package-hidden-regexps', and then modify
|
||||
the regexp such that it no longer matches the package's name.
|
||||
|
||||
Type \\[package-menu-toggle-hiding] to toggle package hiding."
|
||||
(declare (interactive-only "change `package-hidden-regexps' instead."))
|
||||
|
@ -3624,7 +3625,9 @@ Type \\[package-menu-toggle-hiding] to toggle package hiding."
|
|||
|
||||
(defun package-menu-describe-package (&optional button)
|
||||
"Describe the current package.
|
||||
If optional arg BUTTON is non-nil, describe its associated package."
|
||||
The current package is the package at point.
|
||||
If optional arg BUTTON is non-nil, describe its associated
|
||||
package(s); this is always nil in interactive invocations."
|
||||
(interactive nil package-menu-mode)
|
||||
(let ((pkg-desc (if button (button-get button 'package-desc)
|
||||
(tabulated-list-get-id))))
|
||||
|
@ -3634,7 +3637,8 @@ If optional arg BUTTON is non-nil, describe its associated package."
|
|||
|
||||
;; fixme numeric argument
|
||||
(defun package-menu-mark-delete (&optional _num)
|
||||
"Mark a package for deletion and move to the next line."
|
||||
"Mark the current package for deletion and move to the next line.
|
||||
The current package is the package at point."
|
||||
(interactive "p" package-menu-mode)
|
||||
(package--ensure-package-menu-mode)
|
||||
(if (member (package-menu-get-status)
|
||||
|
@ -3643,7 +3647,8 @@ If optional arg BUTTON is non-nil, describe its associated package."
|
|||
(forward-line)))
|
||||
|
||||
(defun package-menu-mark-install (&optional _num)
|
||||
"Mark a package for installation and move to the next line."
|
||||
"Mark the current package for installation and move to the next line.
|
||||
The current package is the package at point."
|
||||
(interactive "p" package-menu-mode)
|
||||
(package--ensure-package-menu-mode)
|
||||
(if (member (package-menu-get-status) '("available" "avail-obso" "new" "dependency"))
|
||||
|
@ -3651,13 +3656,14 @@ If optional arg BUTTON is non-nil, describe its associated package."
|
|||
(forward-line)))
|
||||
|
||||
(defun package-menu-mark-unmark (&optional _num)
|
||||
"Clear any marks on a package and move to the next line."
|
||||
"Clear any marks on the current package and move to the next line.
|
||||
The current package is the package at point."
|
||||
(interactive "p" package-menu-mode)
|
||||
(package--ensure-package-menu-mode)
|
||||
(tabulated-list-put-tag " " t))
|
||||
|
||||
(defun package-menu-backup-unmark ()
|
||||
"Back up one line and clear any marks on that package."
|
||||
"Back up one line and clear any marks on that line's package."
|
||||
(interactive nil package-menu-mode)
|
||||
(package--ensure-package-menu-mode)
|
||||
(forward-line -1)
|
||||
|
@ -3695,15 +3701,15 @@ If optional arg BUTTON is non-nil, describe its associated package."
|
|||
(package--prettify-quick-help-key (cons desc 0))))
|
||||
|
||||
(defun package-menu-quick-help ()
|
||||
"Show short key binding help for `package-menu-mode'.
|
||||
The full list of keys can be viewed with \\[describe-mode]."
|
||||
"Show short help for key bindings in `package-menu-mode'.
|
||||
You can view the full list of keys with \\[describe-mode]."
|
||||
(interactive nil package-menu-mode)
|
||||
(package--ensure-package-menu-mode)
|
||||
(message (mapconcat #'package--prettify-quick-help-key
|
||||
package--quick-help-keys "\n")))
|
||||
|
||||
(defun package-menu-get-status ()
|
||||
"Return status text of package at point in Package Menu."
|
||||
"Return status description of package at point in Package Menu."
|
||||
(package--ensure-package-menu-mode)
|
||||
(let* ((id (tabulated-list-get-id))
|
||||
(entry (and id (assoc id tabulated-list-entries))))
|
||||
|
@ -3732,8 +3738,8 @@ consideration."
|
|||
(defun package-menu--find-upgrades ()
|
||||
"In Package Menu, return an alist of packages that can be upgraded.
|
||||
The alist has the same form as `package-alist', namely a list
|
||||
of (PKG . DESCS), but where DESCS is the `package-desc' object
|
||||
corresponding to the newer version."
|
||||
of elements of the form (PKG . DESCS), but where DESCS is the `package-desc'
|
||||
object corresponding to the newer version."
|
||||
(let (installed available upgrades)
|
||||
;; Build list of installed/available packages in this buffer.
|
||||
(dolist (entry tabulated-list-entries)
|
||||
|
@ -3784,10 +3790,10 @@ Implementation of `package-menu-mark-upgrades'."
|
|||
|
||||
(defun package-menu-mark-upgrades ()
|
||||
"Mark all upgradable packages in the Package Menu.
|
||||
For each installed package with a newer version available, place
|
||||
an (I)nstall flag on the available version and a (D)elete flag on
|
||||
the installed version. A subsequent \\[package-menu-execute]
|
||||
call will upgrade the package.
|
||||
For each installed package for which a newer version is available,
|
||||
place an (I)nstall flag on the available version and a (D)elete flag
|
||||
on the installed version. A subsequent \\[package-menu-execute] command will upgrade
|
||||
the marked packages.
|
||||
|
||||
If there's an async refresh operation in progress, the flags will
|
||||
be placed as part of `package-menu--post-refresh' instead of
|
||||
|
@ -3906,17 +3912,19 @@ packages list, respectively."
|
|||
(package--save-selected-packages package-selected-packages)))
|
||||
|
||||
(defun package-menu-execute (&optional noquery)
|
||||
"Perform marked Package Menu actions.
|
||||
"Perform Package Menu actions on marked packages.
|
||||
Packages marked for installation are downloaded and installed,
|
||||
packages marked for deletion are removed, and packages marked for
|
||||
upgrading are downloaded and upgraded.
|
||||
|
||||
If no packages are marked, the action taken depends on the state
|
||||
of the package under point. If it's not already installed, this
|
||||
command will install the package, and if it's installed, it will
|
||||
delete the package.
|
||||
of the current package, the one at point. If it's not already
|
||||
installed, this command will install the package; if it's installed,
|
||||
the command will delete the package.
|
||||
|
||||
Optional argument NOQUERY non-nil means do not ask the user to confirm."
|
||||
Optional argument NOQUERY non-nil means do not ask the user to
|
||||
confirm the installations/deletions; this is always nil in interactive
|
||||
invocations."
|
||||
(interactive nil package-menu-mode)
|
||||
(package--ensure-package-menu-mode)
|
||||
(let (install-list delete-list cmd pkg-desc)
|
||||
|
@ -4167,13 +4175,12 @@ the header line of the first column."
|
|||
(defun package-menu-filter-by-archive (archive)
|
||||
"Filter the \"*Packages*\" buffer by ARCHIVE.
|
||||
Display only packages from package archive ARCHIVE.
|
||||
ARCHIVE can be the name of a single archive (a string), or
|
||||
a list of archive names. If ARCHIVE is nil or an empty
|
||||
string, show all packages.
|
||||
|
||||
When called interactively, prompt for ARCHIVE, which can be a
|
||||
comma-separated string. If ARCHIVE is empty, show all packages.
|
||||
|
||||
When called from Lisp, ARCHIVE can be a string or a list of
|
||||
strings. If ARCHIVE is nil or the empty string, show all
|
||||
packages."
|
||||
When called interactively, prompt for ARCHIVE. To specify
|
||||
several archives, type their names separated by commas."
|
||||
(interactive (list (completing-read-multiple
|
||||
"Filter by archive (comma separated): "
|
||||
(mapcar #'car package-archives)))
|
||||
|
@ -4189,9 +4196,9 @@ packages."
|
|||
(concat "archive:" (string-join archives ",")))))
|
||||
|
||||
(defun package-menu-filter-by-description (description)
|
||||
"Filter the \"*Packages*\" buffer by DESCRIPTION regexp.
|
||||
Display only packages with a description that matches regexp
|
||||
DESCRIPTION.
|
||||
"Filter the \"*Packages*\" buffer by the regexp DESCRIPTION.
|
||||
Display only packages whose description matches the regexp
|
||||
given as DESCRIPTION.
|
||||
|
||||
When called interactively, prompt for DESCRIPTION.
|
||||
|
||||
|
@ -4208,14 +4215,16 @@ If DESCRIPTION is nil or the empty string, show all packages."
|
|||
|
||||
(defun package-menu-filter-by-keyword (keyword)
|
||||
"Filter the \"*Packages*\" buffer by KEYWORD.
|
||||
Display only packages with specified KEYWORD.
|
||||
Display only packages whose keywords match the specified KEYWORD.
|
||||
KEYWORD can be a string or a list of strings. If KEYWORD is nil
|
||||
or the empty string, show all packages.
|
||||
|
||||
When called interactively, prompt for KEYWORD, which can be a
|
||||
comma-separated string. If KEYWORD is empty, show all packages.
|
||||
In addition to package keywords, KEYWORD can include the name(s)
|
||||
of archive(s) and the package status, such as \"available\"
|
||||
or \"built-in\" or \"obsolete\".
|
||||
|
||||
When called from Lisp, KEYWORD can be a string or a list of
|
||||
strings. If KEYWORD is nil or the empty string, show all
|
||||
packages."
|
||||
When called interactively, prompt for KEYWORD. To specify several
|
||||
keywords, type them separated by commas."
|
||||
(interactive (list (completing-read-multiple
|
||||
"Keywords (comma separated): "
|
||||
(package-all-keywords)))
|
||||
|
@ -4233,8 +4242,8 @@ packages."
|
|||
'package-menu-filter #'package-menu-filter-by-keyword "27.1")
|
||||
|
||||
(defun package-menu-filter-by-name-or-description (name-or-description)
|
||||
"Filter the \"*Packages*\" buffer by NAME-OR-DESCRIPTION regexp.
|
||||
Display only packages with a name-or-description that matches regexp
|
||||
"Filter the \"*Packages*\" buffer by the regexp NAME-OR-DESCRIPTION.
|
||||
Display only packages whose name or description matches the regexp
|
||||
NAME-OR-DESCRIPTION.
|
||||
|
||||
When called interactively, prompt for NAME-OR-DESCRIPTION.
|
||||
|
@ -4255,8 +4264,8 @@ packages."
|
|||
(format "name-or-desc:%s" name-or-description))))
|
||||
|
||||
(defun package-menu-filter-by-name (name)
|
||||
"Filter the \"*Packages*\" buffer by NAME regexp.
|
||||
Display only packages with name that matches regexp NAME.
|
||||
"Filter the \"*Packages*\" buffer by the regexp NAME.
|
||||
Display only packages whose name matches the regexp NAME.
|
||||
|
||||
When called interactively, prompt for NAME.
|
||||
|
||||
|
@ -4274,13 +4283,11 @@ If NAME is nil or the empty string, show all packages."
|
|||
(defun package-menu-filter-by-status (status)
|
||||
"Filter the \"*Packages*\" buffer by STATUS.
|
||||
Display only packages with specified STATUS.
|
||||
STATUS can be a single status, a string, or a list of strings.
|
||||
If STATUS is nil or the empty string, show all packages.
|
||||
|
||||
When called interactively, prompt for STATUS, which can be a
|
||||
comma-separated string. If STATUS is empty, show all packages.
|
||||
|
||||
When called from Lisp, STATUS can be a string or a list of
|
||||
strings. If STATUS is nil or the empty string, show all
|
||||
packages."
|
||||
When called interactively, prompt for STATUS. To specify
|
||||
several possible status values, type them seperated by commas."
|
||||
(interactive (list (completing-read "Filter by status: "
|
||||
'("avail-obso"
|
||||
"available"
|
||||
|
@ -4309,12 +4316,12 @@ packages."
|
|||
|
||||
(defun package-menu-filter-by-version (version predicate)
|
||||
"Filter the \"*Packages*\" buffer by VERSION and PREDICATE.
|
||||
Display only packages with a matching version.
|
||||
Display only packages whose version satisfies the condition
|
||||
defined by VERSION and PREDICATE.
|
||||
|
||||
When called interactively, prompt for one of the qualifiers `<',
|
||||
`>' or `=', and a package version. Show only packages that has a
|
||||
lower (`<'), equal (`=') or higher (`>') version than the
|
||||
specified one.
|
||||
When called interactively, prompt for one of the comparison operators
|
||||
`<', `>' or `=', and for a version. Show only packages whose version
|
||||
is lower (`<'), equal (`=') or higher (`>') than the specified VERSION.
|
||||
|
||||
When called from Lisp, VERSION should be a version string and
|
||||
PREDICATE should be the symbol `=', `<' or `>'.
|
||||
|
@ -4352,7 +4359,8 @@ If VERSION is nil or the empty string, show all packages."
|
|||
(format "versions:%s%s" predicate version)))))
|
||||
|
||||
(defun package-menu-filter-marked ()
|
||||
"Filter \"*Packages*\" buffer by non-empty upgrade mark.
|
||||
"Filter \"*Packages*\" buffer by non-empty mark.
|
||||
Show only the packages that have been marked for installation or deletion.
|
||||
Unlike other filters, this leaves the marks intact."
|
||||
(interactive nil package-menu-mode)
|
||||
(package--ensure-package-menu-mode)
|
||||
|
|
|
@ -125,10 +125,10 @@ configured. Its value should be larger than that of the variable
|
|||
:type '(choice (const nil) number))
|
||||
|
||||
(defcustom erc-fill-spaced-commands '(PRIVMSG NOTICE)
|
||||
"Types of mesages to add space between on graphical displays.
|
||||
"Types of messages to add space between on graphical displays.
|
||||
Only considered when `erc-fill-line-spacing' is non-nil."
|
||||
:package-version '(ERC . "5.6") ; FIXME sync on release
|
||||
:type '(set integer symbol))
|
||||
:type '(repeat (choice integer symbol)))
|
||||
|
||||
(defvar-local erc-fill--function nil
|
||||
"Internal copy of `erc-fill-function'.
|
||||
|
|
|
@ -6157,26 +6157,28 @@ If that function has never been called, the value is 0.")
|
|||
"Minimum time, in seconds, before sending new lines via IRC.
|
||||
If the value is a number, `erc-send-current-line' signals an error
|
||||
if its previous invocation was fewer than this many seconds ago.
|
||||
This is useful so that if you accidentally enter large amounts of text
|
||||
into the ERC buffer, that text is not sent to the IRC server.
|
||||
|
||||
This option only concerns the rapid submission of successive
|
||||
lines of prompt input from an \"external\" source, such as GNU
|
||||
screen or a desktop-automation script. For example, typing
|
||||
|
||||
\\[kmacro-start-macro-or-insert-counter] \
|
||||
one \\`RET' two \\`RET' three \\`RET'
|
||||
\\[kmacro-end-or-call-macro] in the \"*scratch*\" buffer, \
|
||||
followed by a
|
||||
\\[kmacro-end-or-call-macro] again in a channel buffer,
|
||||
|
||||
will send \"one\" to the server, leave \"two\" at the prompt, and
|
||||
insert \"three\" in an \"overflow\" buffer. For suppression
|
||||
involving input yanked from the clipboard or the kill ring, see
|
||||
`erc-inhibit-multiline-input' and `erc-warn-about-blank-lines'.
|
||||
|
||||
If the value is nil, `erc-send-current-line' always considers any
|
||||
submitted line to be intentional."
|
||||
submitted line to be intentional.
|
||||
|
||||
This option mainly prevents text accidentally entered into Emacs
|
||||
from being sent to the server. Offending sources include
|
||||
terminal multiplexers, desktop-automation scripts, and anything
|
||||
capable of rapidly submitting successive lines of prompt input.
|
||||
For example, entering \"one\\ntwo\\nthree\\n\" will send \"one\"
|
||||
to the server, leave \"two\" at the prompt, and insert \"three\"
|
||||
into an \"overflow\" buffer. See `erc-inhibit-multiline-input'
|
||||
and `erc-warn-about-blank-lines' for suppression involving input
|
||||
yanked from the clipboard or the kill ring, which is a related
|
||||
but separate concern.
|
||||
|
||||
Users of terminal multiplexers, in particular, should look into
|
||||
support for \"bracketed pasting\", provided on the Emacs side by
|
||||
libraries like `xterm' (and usually enabled by default). When
|
||||
everything's working smoothly, Emacs transparently arranges for
|
||||
pasted text to appear on the kill ring, regardless of any
|
||||
read-only warnings you may encounter. And when point is in the
|
||||
prompt area, ERC automatically yanks that text for previewing but
|
||||
holds off on submitting it, for obvious reasons."
|
||||
:group 'erc
|
||||
:version "26.1"
|
||||
:type '(choice number (other :tag "disabled" nil)))
|
||||
|
|
|
@ -637,9 +637,9 @@ This is like `describe-bindings', but displays only Isearch keys."
|
|||
|
||||
(define-key map "\M-\t" 'isearch-complete)
|
||||
|
||||
;; Pass frame events transparently so they won't exit the search.
|
||||
;; In particular, if we have more than one display open, then a
|
||||
;; switch-frame might be generated by someone typing at another keyboard.
|
||||
;; Frame events should exit the search, because such frame events
|
||||
;; as `switch-frame’ and `delete-frame’ change the current buffer.
|
||||
;; See Bug#41338 for details.
|
||||
(define-key map [switch-frame] nil)
|
||||
(define-key map [delete-frame] nil)
|
||||
(define-key map [iconify-frame] nil)
|
||||
|
|
|
@ -3062,57 +3062,58 @@ PROPERTIES: The list properties specified in the `:properties' parameter
|
|||
Otherwise, return nil."
|
||||
(interactive)
|
||||
(let ((origin (point))) ;; `save-excursion' may not work when deleting.
|
||||
(save-excursion
|
||||
(beginning-of-line 1)
|
||||
(skip-chars-forward " \t")
|
||||
(when (looking-at org-clock-string)
|
||||
(let ((re (concat "[ \t]*" org-clock-string
|
||||
" *[[<]\\([^]>]+\\)[]>]\\(-+[[<]\\([^]>]+\\)[]>]"
|
||||
"\\([ \t]*=>.*\\)?\\)?"))
|
||||
ts te h m s neg)
|
||||
(cond
|
||||
((not (looking-at re))
|
||||
nil)
|
||||
((not (match-end 2))
|
||||
(when (and (equal (marker-buffer org-clock-marker) (current-buffer))
|
||||
(> org-clock-marker (point))
|
||||
(<= org-clock-marker (line-end-position)))
|
||||
;; The clock is running here
|
||||
(setq org-clock-start-time
|
||||
(org-time-string-to-time (match-string 1)))
|
||||
(org-clock-update-mode-line)))
|
||||
(t
|
||||
;; Prevent recursive call from `org-timestamp-change'.
|
||||
(cl-letf (((symbol-function 'org-clock-update-time-maybe) #'ignore))
|
||||
;; Update timestamps.
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 1)) ; opening timestamp
|
||||
(save-match-data (org-timestamp-change 0 'day)))
|
||||
;; Refresh match data.
|
||||
(looking-at re)
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 3)) ; closing timestamp
|
||||
(save-match-data (org-timestamp-change 0 'day))))
|
||||
;; Refresh match data.
|
||||
(looking-at re)
|
||||
(and (match-end 4) (delete-region (match-beginning 4) (match-end 4)))
|
||||
(end-of-line 1)
|
||||
(setq ts (match-string 1)
|
||||
te (match-string 3))
|
||||
(setq s (- (org-time-string-to-seconds te)
|
||||
(org-time-string-to-seconds ts))
|
||||
neg (< s 0)
|
||||
s (abs s)
|
||||
h (floor (/ s 3600))
|
||||
s (- s (* 3600 h))
|
||||
m (floor (/ s 60))
|
||||
s (- s (* 60 s)))
|
||||
(insert " => " (format (if neg "-%d:%02d" "%2d:%02d") h m))
|
||||
t)))))
|
||||
;; Move back to initial position, but never beyond updated
|
||||
;; clock.
|
||||
(unless (< (point) origin)
|
||||
(goto-char origin))))
|
||||
(prog1
|
||||
(save-excursion
|
||||
(beginning-of-line 1)
|
||||
(skip-chars-forward " \t")
|
||||
(when (looking-at org-clock-string)
|
||||
(let ((re (concat "[ \t]*" org-clock-string
|
||||
" *[[<]\\([^]>]+\\)[]>]\\(-+[[<]\\([^]>]+\\)[]>]"
|
||||
"\\([ \t]*=>.*\\)?\\)?"))
|
||||
ts te h m s neg)
|
||||
(cond
|
||||
((not (looking-at re))
|
||||
nil)
|
||||
((not (match-end 2))
|
||||
(when (and (equal (marker-buffer org-clock-marker) (current-buffer))
|
||||
(> org-clock-marker (point))
|
||||
(<= org-clock-marker (line-end-position)))
|
||||
;; The clock is running here
|
||||
(setq org-clock-start-time
|
||||
(org-time-string-to-time (match-string 1)))
|
||||
(org-clock-update-mode-line)))
|
||||
(t
|
||||
;; Prevent recursive call from `org-timestamp-change'.
|
||||
(cl-letf (((symbol-function 'org-clock-update-time-maybe) #'ignore))
|
||||
;; Update timestamps.
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 1)) ; opening timestamp
|
||||
(save-match-data (org-timestamp-change 0 'day)))
|
||||
;; Refresh match data.
|
||||
(looking-at re)
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 3)) ; closing timestamp
|
||||
(save-match-data (org-timestamp-change 0 'day))))
|
||||
;; Refresh match data.
|
||||
(looking-at re)
|
||||
(and (match-end 4) (delete-region (match-beginning 4) (match-end 4)))
|
||||
(end-of-line 1)
|
||||
(setq ts (match-string 1)
|
||||
te (match-string 3))
|
||||
(setq s (- (org-time-string-to-seconds te)
|
||||
(org-time-string-to-seconds ts))
|
||||
neg (< s 0)
|
||||
s (abs s)
|
||||
h (floor (/ s 3600))
|
||||
s (- s (* 3600 h))
|
||||
m (floor (/ s 60))
|
||||
s (- s (* 60 s)))
|
||||
(insert " => " (format (if neg "-%d:%02d" "%2d:%02d") h m))
|
||||
t)))))
|
||||
;; Move back to initial position, but never beyond updated
|
||||
;; clock.
|
||||
(unless (< (point) origin)
|
||||
(goto-char origin)))))
|
||||
|
||||
(defun org-clock-save ()
|
||||
"Persist various clock-related data to disk.
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
(defun org-release ()
|
||||
"The release version of Org.
|
||||
Inserted by installing Org mode or when a release is made."
|
||||
(let ((org-release "9.6.5"))
|
||||
(let ((org-release "9.6.6"))
|
||||
org-release))
|
||||
;;;###autoload
|
||||
(defun org-git-version ()
|
||||
"The Git version of Org mode.
|
||||
Inserted by installing Org or when a release is made."
|
||||
(let ((org-git-version "release_9.6.5-3-g2993f4"))
|
||||
(let ((org-git-version "release_9.6.6"))
|
||||
org-git-version))
|
||||
|
||||
(provide 'org-version)
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
;; URL: https://orgmode.org
|
||||
;; Package-Requires: ((emacs "26.1"))
|
||||
|
||||
;; Version: 9.6.5
|
||||
;; Version: 9.6.6
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
|
|
|
@ -920,7 +920,6 @@ Return nil if there is no name or if NODE is not a defun node."
|
|||
"struct_declaration"
|
||||
"enum_declaration"
|
||||
"interface_declaration"
|
||||
"class_declaration"
|
||||
"class_declaration")
|
||||
(treesit-node-text
|
||||
(treesit-node-child-by-field-name
|
||||
|
|
|
@ -5029,11 +5029,6 @@ the if condition."
|
|||
(not (python-syntax-comment-or-string-p))
|
||||
python-skeleton-autoinsert)))
|
||||
|
||||
(defun python--completion-predicate (_ buffer)
|
||||
(provided-mode-derived-p
|
||||
(buffer-local-value 'major-mode buffer)
|
||||
'python-mode))
|
||||
|
||||
(defmacro python-skeleton-define (name doc &rest skel)
|
||||
"Define a `python-mode' skeleton using NAME DOC and SKEL.
|
||||
The skeleton will be bound to python-skeleton-NAME and will
|
||||
|
@ -5042,7 +5037,7 @@ be added to `python-mode-skeleton-abbrev-table'."
|
|||
(let* ((name (symbol-name name))
|
||||
(function-name (intern (concat "python-skeleton-" name))))
|
||||
`(progn
|
||||
(put ',function-name 'completion-predicate #'python--completion-predicate)
|
||||
(function-put ',function-name 'command-modes '(python-base-mode))
|
||||
(define-abbrev python-mode-skeleton-abbrev-table
|
||||
,name "" ',function-name :system t)
|
||||
(setq python-skeleton-available
|
||||
|
@ -5069,7 +5064,7 @@ The skeleton will be bound to python-skeleton-NAME."
|
|||
`(< ,(format "%s:" name) \n \n
|
||||
> _ \n)))
|
||||
`(progn
|
||||
(put ',function-name 'completion-predicate #'ignore)
|
||||
(function-put ',function-name 'completion-predicate #'ignore)
|
||||
(define-skeleton ,function-name
|
||||
,(or doc
|
||||
(format "Auxiliary skeleton for %s statement." name))
|
||||
|
@ -6817,7 +6812,7 @@ implementations: `python-mode' and `python-ts-mode'."
|
|||
(add-to-list 'interpreter-mode-alist '("python[0-9.]*" . python-ts-mode))))
|
||||
|
||||
;;; Completion predicates for M-x
|
||||
;; Commands that only make sense when editing Python code
|
||||
;; Commands that only make sense when editing Python code.
|
||||
(dolist (sym '(python-add-import
|
||||
python-check
|
||||
python-fill-paragraph
|
||||
|
@ -6851,12 +6846,7 @@ implementations: `python-mode' and `python-ts-mode'."
|
|||
python-shell-send-defun
|
||||
python-shell-send-statement
|
||||
python-sort-imports))
|
||||
(put sym 'completion-predicate #'python--completion-predicate))
|
||||
|
||||
(defun python-shell--completion-predicate (_ buffer)
|
||||
(provided-mode-derived-p
|
||||
(buffer-local-value 'major-mode buffer)
|
||||
'python-mode 'inferior-python-mode))
|
||||
(function-put sym 'command-modes '(python-base-mode)))
|
||||
|
||||
;; Commands that only make sense in the Python shell or when editing
|
||||
;; Python code.
|
||||
|
@ -6871,8 +6861,8 @@ implementations: `python-mode' and `python-ts-mode'."
|
|||
python-shell-font-lock-turn-off
|
||||
python-shell-font-lock-turn-on
|
||||
python-shell-package-enable
|
||||
python-shell-completion-complete-or-indent ))
|
||||
(put sym 'completion-predicate #'python-shell--completion-predicate))
|
||||
python-shell-completion-complete-or-indent))
|
||||
(function-put sym 'command-modes '(python-base-mode inferior-python-mode)))
|
||||
|
||||
(provide 'python)
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
;; Reto also said in Apr 2021 that he preferred to keep the XEmacs
|
||||
;; compatibility code.
|
||||
|
||||
(defconst vhdl-version "3.38.1"
|
||||
(defconst vhdl-version "3.38.5"
|
||||
"VHDL Mode version number.")
|
||||
|
||||
(defconst vhdl-time-stamp "2015-03-12"
|
||||
|
@ -229,20 +229,20 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; [Error] Assignment error: variable is illegal target of signal assignment
|
||||
("ADVance MS" "vacom" "-work \\1" "make" "-f \\1"
|
||||
nil "valib \\1; vamap \\2 \\1" "./" "work/" "Makefile" "adms"
|
||||
("^\\s-+\\([0-9]+\\):\\s-+" nil 1 nil) ("^Compiling file \\(.+\\)" 1)
|
||||
("^\\s-+\\([0-9]+\\):\\s-+" nil 1 nil nil) ("^Compiling file \\(.+\\)" 1)
|
||||
("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif"
|
||||
"PACK/\\1.vif" "BODY/\\1.vif" upcase))
|
||||
;; Aldec
|
||||
;; COMP96 ERROR COMP96_0018: "Identifier expected." "test.vhd" 66 3
|
||||
("Aldec" "vcom" "-work \\1" "make" "-f \\1"
|
||||
nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "aldec"
|
||||
("^.* ERROR [^:]+: \".*\" \"\\([^ \t\n]+\\)\" \\([0-9]+\\) \\([0-9]+\\)" 1 2 3) ("" 0)
|
||||
("^.* ERROR [^:]+: \".*\" \"\\([^ \t\n]+\\)\" \\([0-9]+\\) \\([0-9]+\\)" 1 2 3 nil) ("" 0)
|
||||
nil)
|
||||
;; Cadence Leapfrog: cv -file test.vhd
|
||||
;; duluth: *E,430 (test.vhd,13): identifier (POSITIV) is not declared
|
||||
("Cadence Leapfrog" "cv" "-work \\1 -file" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "leapfrog"
|
||||
("^duluth: \\*E,[0-9]+ (\\([^ \t\n]+\\),\\([0-9]+\\)):" 1 2 nil) ("" 0)
|
||||
("^duluth: \\*E,[0-9]+ (\\([^ \t\n]+\\),\\([0-9]+\\)):" 1 2 nil nil) ("" 0)
|
||||
("\\1/entity" "\\2/\\1" "\\1/configuration"
|
||||
"\\1/package" "\\1/body" downcase))
|
||||
;; Cadence Affirma NC vhdl: ncvhdl test.vhd
|
||||
|
@ -250,7 +250,7 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; (PLL_400X_TOP) is not declared [10.3].
|
||||
("Cadence NC" "ncvhdl" "-work \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "ncvhdl"
|
||||
("^ncvhdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0)
|
||||
("^ncvhdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3 nil) ("" 0)
|
||||
("\\1/entity/pc.db" "\\2/\\1/pc.db" "\\1/configuration/pc.db"
|
||||
"\\1/package/pc.db" "\\1/body/pc.db" downcase))
|
||||
;; ghdl vhdl
|
||||
|
@ -258,21 +258,21 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; bad_counter.vhdl:13:14: operator "=" is overloaded
|
||||
("GHDL" "ghdl" "-i --workdir=\\1 --ieee=synopsys -fexplicit " "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "ghdl"
|
||||
("^ghdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0)
|
||||
("^ghdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3 nil) ("" 0)
|
||||
("\\1/entity" "\\2/\\1" "\\1/configuration"
|
||||
"\\1/package" "\\1/body" downcase))
|
||||
;; IBM Compiler
|
||||
;; 00 COACHDL* | [CCHDL-1]: File: adder.vhd, line.column: 120.6
|
||||
("IBM Compiler" "g2tvc" "-src" "precomp" "\\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "ibm"
|
||||
("^[0-9]+ COACHDL.*: File: \\([^ \t\n]+\\), *line.column: \\([0-9]+\\).\\([0-9]+\\)" 1 2 3) (" " 0)
|
||||
("^[0-9]+ COACHDL.*: File: \\([^ \t\n]+\\), *line.column: \\([0-9]+\\).\\([0-9]+\\)" 1 2 3 nil) (" " 0)
|
||||
nil)
|
||||
;; Ikos Voyager: analyze test.vhd
|
||||
;; analyze test.vhd
|
||||
;; E L4/C5: this library unit is inaccessible
|
||||
("Ikos" "analyze" "-l \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "ikos"
|
||||
("^E L\\([0-9]+\\)/C\\([0-9]+\\):" nil 1 2)
|
||||
("^E L\\([0-9]+\\)/C\\([0-9]+\\):" nil 1 2 nil)
|
||||
("^analyze +\\(.+ +\\)*\\(.+\\)$" 2)
|
||||
nil)
|
||||
;; ModelSim, Model Technology: vcom test.vhd
|
||||
|
@ -294,7 +294,7 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; test.vhd:34: error message
|
||||
("LEDA ProVHDL" "provhdl" "-w \\1 -f" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "provhdl"
|
||||
("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0)
|
||||
("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil nil) ("" 0)
|
||||
("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif"
|
||||
"PACK/\\1.vif" "BODY/BODY-\\1.vif" upcase))
|
||||
;; Quartus compiler
|
||||
|
@ -305,21 +305,21 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; Warning: VHDL Process Statement warning at dvi2sdi_tst.vhd(172): ...
|
||||
("Quartus" "make" "-work \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "quartus"
|
||||
("^\\(Error\\|Warning\\): .* \\([^ \t\n]+\\)(\\([0-9]+\\))" 2 3 nil) ("" 0)
|
||||
("^\\(Error\\|Warning\\): .* \\([^ \t\n]+\\)(\\([0-9]+\\))" 2 3 nil nil) ("" 0)
|
||||
nil)
|
||||
;; QuickHDL, Mentor Graphics: qvhcom test.vhd
|
||||
;; ERROR: test.vhd(24): near "dnd": expecting: END
|
||||
;; WARNING[4]: test.vhd(30): A space is required between ...
|
||||
("QuickHDL" "qvhcom" "-work \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "quickhdl"
|
||||
("^\\(ERROR\\|WARNING\\)[^:]*: \\([^ \t\n]+\\)(\\([0-9]+\\)):" 2 3 nil) ("" 0)
|
||||
("^\\(ERROR\\|WARNING\\)[^:]*: \\([^ \t\n]+\\)(\\([0-9]+\\)):" 2 3 nil nil) ("" 0)
|
||||
("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
|
||||
"\\1/_primary.dat" "\\1/body.dat" downcase))
|
||||
;; Savant: scram -publish-cc test.vhd
|
||||
;; test.vhd:87: _set_passed_through_out_port(IIR_Boolean) not defined for
|
||||
("Savant" "scram" "-publish-cc -design-library-name \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work._savant_lib/" "Makefile" "savant"
|
||||
("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0)
|
||||
("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil nil) ("" 0)
|
||||
("\\1_entity.vhdl" "\\2_secondary_units._savant_lib/\\2_\\1.vhdl"
|
||||
"\\1_config.vhdl" "\\1_package.vhdl"
|
||||
"\\1_secondary_units._savant_lib/\\1_package_body.vhdl" downcase))
|
||||
|
@ -327,39 +327,39 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; Error: CSVHDL0002: test.vhd: (line 97): Invalid prefix
|
||||
("Simili" "vhdlp" "-work \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "simili"
|
||||
("^\\(Error\\|Warning\\): \\w+: \\([^ \t\n]+\\): (line \\([0-9]+\\)): " 2 3 nil) ("" 0)
|
||||
("^\\(Error\\|Warning\\): \\w+: \\([^ \t\n]+\\): (line \\([0-9]+\\)): " 2 3 nil nil) ("" 0)
|
||||
("\\1/prim.var" "\\2/_\\1.var" "\\1/prim.var"
|
||||
"\\1/prim.var" "\\1/_body.var" downcase))
|
||||
;; Speedwave (Innoveda): analyze -libfile vsslib.ini -src test.vhd
|
||||
;; ERROR[11]::File test.vhd Line 100: Use of undeclared identifier
|
||||
("Speedwave" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "speedwave"
|
||||
("^ *ERROR\\[[0-9]+]::File \\([^ \t\n]+\\) Line \\([0-9]+\\):" 1 2 nil) ("" 0)
|
||||
("^ *ERROR\\[[0-9]+]::File \\([^ \t\n]+\\) Line \\([0-9]+\\):" 1 2 nil nil) ("" 0)
|
||||
nil)
|
||||
;; Synopsys, VHDL Analyzer (sim): vhdlan -nc test.vhd
|
||||
;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context.
|
||||
("Synopsys" "vhdlan" "-nc -work \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "synopsys"
|
||||
("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0)
|
||||
("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil nil) ("" 0)
|
||||
("\\1.sim" "\\2__\\1.sim" "\\1.sim" "\\1.sim" "\\1__.sim" upcase))
|
||||
;; Synopsys, VHDL Analyzer (syn): vhdlan -nc -spc test.vhd
|
||||
;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context.
|
||||
("Synopsys Design Compiler" "vhdlan" "-nc -spc -work \\1" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "synopsys_dc"
|
||||
("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0)
|
||||
("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil nil) ("" 0)
|
||||
("\\1.syn" "\\2__\\1.syn" "\\1.syn" "\\1.syn" "\\1__.syn" upcase))
|
||||
;; Synplify:
|
||||
;; @W:"test.vhd":57:8:57:9|Optimizing register bit count_x(5) to a constant 0
|
||||
("Synplify" "n/a" "n/a" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "synplify"
|
||||
("^@[EWN]:\"\\([^ \t\n]+\\)\":\\([0-9]+\\):\\([0-9]+\\):" 1 2 3) ("" 0)
|
||||
("^@[EWN]:\"\\([^ \t\n]+\\)\":\\([0-9]+\\):\\([0-9]+\\):" 1 2 3 nil) ("" 0)
|
||||
nil)
|
||||
;; Vantage: analyze -libfile vsslib.ini -src test.vhd
|
||||
;; Compiling "test.vhd" line 1...
|
||||
;; **Error: LINE 49 *** No aggregate value is valid in this context.
|
||||
("Vantage" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "vantage"
|
||||
("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil)
|
||||
("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil nil)
|
||||
("^ *Compiling \"\\(.+\\)\" " 1)
|
||||
nil)
|
||||
;; VeriBest: vc vhdl test.vhd
|
||||
|
@ -369,26 +369,26 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; [Error] Name BITA is unknown
|
||||
("VeriBest" "vc" "vhdl" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "veribest"
|
||||
("^ +\\([0-9]+\\): +[^ ]" nil 1 nil) ("" 0)
|
||||
("^ +\\([0-9]+\\): +[^ ]" nil 1 nil nil) ("" 0)
|
||||
nil)
|
||||
;; Viewlogic: analyze -libfile vsslib.ini -src test.vhd
|
||||
;; Compiling "test.vhd" line 1...
|
||||
;; **Error: LINE 49 *** No aggregate value is valid in this context.
|
||||
("Viewlogic" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "viewlogic"
|
||||
("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil)
|
||||
("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil nil)
|
||||
("^ *Compiling \"\\(.+\\)\" " 1)
|
||||
nil)
|
||||
;; Xilinx XST:
|
||||
;; ERROR:HDLParsers:164 - "test.vhd" Line 3. parse error
|
||||
("Xilinx XST" "xflow" "" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "xilinx"
|
||||
("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil) ("" 0)
|
||||
("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil nil) ("" 0)
|
||||
nil)
|
||||
;; Xilinx Vivado:
|
||||
;; ERROR: [VRFC 10-1412] syntax error near o_idle [test.vhd:23]
|
||||
("Xilinx Vivado" "xvhdl" "" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work" "Makefile" "vivado"
|
||||
nil "mkdir \\1" "./" "work/" "Makefile" "vivado"
|
||||
("^\\(?:\\(?1:ERROR\\)\\|\\(?2:WARNING\\)\\|\\(?3:INFO\\)\\): \\(.+\\) \\[\\(?4:[^ \t\n]+\\):\\(?5:[0-9]+\\)\\]" 4 5 nil (2 . 3)) ("" 0)
|
||||
("\\1/entity" "\\2/\\1" "\\1/configuration"
|
||||
"\\1/package" "\\1/body" downcase))
|
||||
|
@ -414,6 +414,13 @@ Error message:
|
|||
File subexp index: index of subexpression that matches the file name
|
||||
Line subexp index: index of subexpression that matches the line number
|
||||
Column subexp idx: index of subexpression that matches the column number
|
||||
Type subexp : message type, can be nil for a real error, 1 for warning
|
||||
or 0 for info. Type can also be detected using the form
|
||||
(WARNING . INFO). In that case this will be equivalent to
|
||||
1 if the WARNING’th subexpression matched or else
|
||||
equivalent to 0 if the INFO’th subexpression matched, or
|
||||
else equivalent to nil if neither of them matched. See
|
||||
also `compilation-error-regexp-alist'.
|
||||
File message:
|
||||
Regexp : regular expression to match a file name message
|
||||
File subexp index: index of subexpression that matches the file name
|
||||
|
@ -483,7 +490,14 @@ NOTE: Activate new error and file message regexps and reflect the new setting
|
|||
(integer :tag "Line subexp index")
|
||||
(choice :tag "Column subexp "
|
||||
(integer :tag "Index")
|
||||
(const :tag "No column number" nil)))
|
||||
(const :tag "No column number" nil))
|
||||
(choice :tag "Type "
|
||||
(const :tag "Info" 0)
|
||||
(const :tag "Warning" 1)
|
||||
(const :tag "Error" nil)
|
||||
(cons :tag "Type detection"
|
||||
(natnum :tag "Warning subexp index")
|
||||
(natnum :tag "Info subexp index "))))
|
||||
(list :tag "File message" :indent 4
|
||||
(regexp :tag "Regexp ")
|
||||
(integer :tag "File subexp index"))
|
||||
|
|
|
@ -4463,17 +4463,23 @@ whose `car' is BUFFER."
|
|||
'(nil (inhibit-switch-frame . t)))))
|
||||
(set-window-point win pos)))))))))
|
||||
|
||||
;; Implementation note: the next function intentionally tries to use
|
||||
;; the same signature as 'shell-command', although the 3rd arg is
|
||||
;; currently ignored, to allow us to implement support for specifying
|
||||
;; ERROR-BUFFER in the future.
|
||||
(defun async-shell-command (command &optional output-buffer error-buffer)
|
||||
"Execute string COMMAND asynchronously in background.
|
||||
|
||||
Like `shell-command', but adds `&' at the end of COMMAND
|
||||
to execute it asynchronously.
|
||||
|
||||
The output appears in the buffer whose name is stored in the
|
||||
variable `shell-command-buffer-name-async'. That buffer is in
|
||||
shell mode.
|
||||
The output appears in OUTPUT-BUFFER, which could be a buffer or
|
||||
the name of a buffer, and defaults to `shell-command-buffer-name-async'
|
||||
if nil or omitted. That buffer is in shell mode. Note that, unlike
|
||||
with `shell-command', OUTPUT-BUFFER can only be a buffer, a buffer's
|
||||
name (a string), or nil.
|
||||
|
||||
You can configure `async-shell-command-buffer' to specify what to do
|
||||
You can customize `async-shell-command-buffer' to specify what to do
|
||||
when the buffer specified by `shell-command-buffer-name-async' is
|
||||
already taken by another running shell command.
|
||||
|
||||
|
@ -4482,6 +4488,10 @@ configure `display-buffer-alist' to use the action
|
|||
`display-buffer-no-window' for the buffer given by
|
||||
`shell-command-buffer-name-async'.
|
||||
|
||||
Optional argument ERROR-BUFFER is for backward compatibility; it
|
||||
is ignored, and error output of the async command is always
|
||||
mingled with its regular output.
|
||||
|
||||
In Elisp, you will often be better served by calling `start-process'
|
||||
directly, since it offers more control and does not impose the use of
|
||||
a shell (with its need to quote arguments)."
|
||||
|
@ -4499,7 +4509,10 @@ a shell (with its need to quote arguments)."
|
|||
((eq major-mode 'dired-mode)
|
||||
(dired-get-filename nil t)))))
|
||||
(and filename (file-relative-name filename))))
|
||||
current-prefix-arg
|
||||
nil
|
||||
;; FIXME: the following argument is always ignored by 'shell-commnd',
|
||||
;; when the command is invoked asynchronously, except, perhaps, when
|
||||
;; 'default-directory' is remote.
|
||||
shell-command-default-error-buffer))
|
||||
(unless (string-match "&[ \t]*\\'" command)
|
||||
(setq command (concat command " &")))
|
||||
|
|
|
@ -1657,7 +1657,9 @@ After the tab is created, the hooks in
|
|||
(delete-other-windows)
|
||||
(if (eq tab-bar-new-tab-choice 'window)
|
||||
;; Create new unique window from remaining window
|
||||
(window-state-put (window-state-get))
|
||||
(progn
|
||||
(set-window-parameter nil 'window-side nil)
|
||||
(window-state-put (window-state-get)))
|
||||
;; Create a new window to get rid of old window parameters
|
||||
;; (e.g. prev/next buffers) of old window.
|
||||
(split-window) (delete-window))))
|
||||
|
|
|
@ -2424,7 +2424,10 @@ instead of emitting a warning."
|
|||
;; Check for each condition and set MSG.
|
||||
(catch 'term
|
||||
(when (not (treesit-available-p))
|
||||
(setq msg "tree-sitter library is not compiled with Emacs")
|
||||
(setq msg (if (fboundp 'treesit-node-p)
|
||||
;; Windows loads tree-sitter dynakically.
|
||||
"tree-sitter library is not available or failed to load"
|
||||
"Emacs is not compiled with tree-sitter library"))
|
||||
(throw 'term nil))
|
||||
(when (> (position-bytes (max (point-min) (1- (point-max))))
|
||||
treesit-max-buffer-size)
|
||||
|
|
|
@ -2704,11 +2704,12 @@ Hide the window (X11 semantics)
|
|||
{
|
||||
NSRect srcRect = NSMakeRect (x, from_y, width, height);
|
||||
NSPoint dest = NSMakePoint (x, to_y);
|
||||
NSRect destRect = NSMakeRect (x, from_y, width, height);
|
||||
EmacsView *view = FRAME_NS_VIEW (f);
|
||||
|
||||
[view copyRect:srcRect to:dest];
|
||||
#ifdef NS_IMPL_COCOA
|
||||
[view setNeedsDisplayInRect:srcRect];
|
||||
[view setNeedsDisplayInRect:destRect];
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue