[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 142e5c66f3a 1/2: Merge from savannah/emacs-30
From: |
Po Lu |
Subject: |
master 142e5c66f3a 1/2: Merge from savannah/emacs-30 |
Date: |
Sat, 17 Aug 2024 09:54:03 -0400 (EDT) |
branch: master
commit 142e5c66f3a380ace7d70784b24ec171c410c3f1
Merge: 7811a7d38bb 6a512ab032e
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Merge from savannah/emacs-30
6a512ab032e Fix a typo in Eglot manual
7b752a93a46 Fix dumping of Lisp profiles
bfe07eca598 Fix 'apropos-library' for 'define-symbol-props'
5c1bd991396 Fix 'forward-comment' in 'toml-ts-mode'
e966dd5ee2c Document spell-checking of multiple languages
8a072d1f05b Apply --display kluge for PGTK too
---
doc/emacs/fixit.texi | 24 ++++++++++++++++++++++++
doc/misc/eglot.texi | 2 +-
lisp/apropos.el | 5 ++++-
lisp/profiler.el | 7 ++++++-
lisp/textmodes/toml-ts-mode.el | 2 +-
src/emacs.c | 4 ++--
src/lisp.h | 2 +-
7 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi
index af9ca5fcdf6..32763a09dd1 100644
--- a/doc/emacs/fixit.texi
+++ b/doc/emacs/fixit.texi
@@ -450,6 +450,30 @@ dictionary is specified by the variable
spelling program looks for a personal dictionary in a default
location, which is specific to each spell-checker.
+@cindex spell-checking different languages
+@cindex language for spell-checking
+ Usually, a dictionary used by a spell-checker is for a specific
+language. The default language is determined from your system's
+environment and locale. Both the standard dictionary and your personal
+dictionary should be changed if you want to spell-check text in a
+different language. You can use the @code{ispell-change-dictionary}
+command for that.
+
+@cindex spell-checking multi-lingual text
+@findex ispell-hunspell-add-multi-dic
+ Hunspell is special in that it supports spell-checking using several
+different dictionaries in parallel. To use this feature, invoke the
+@kbd{M-x ispell-hunspell-add-multi-dic} command before you start using
+Hunspell for a particular combination of dictionaries. This command
+prompts for the dictionary combination, which should be a
+comma-separated list of language-specific dictionary names, such as
+@samp{en_US,de_DE,ru_RU}. Thereafter, you can spell-check text which
+mixes these languages without changing the dictionaries each time.
+(Caveat: when several languages use the same script, it is possible that
+a word that is mis-spelled in one language is found as a valid spelling
+in the dictionary of another language; in that case, the mis-spelled
+word might be missed.)
+
@vindex ispell-complete-word-dict
A separate dictionary is used for word completion. The variable
@code{ispell-complete-word-dict} specifies the file name of this
diff --git a/doc/misc/eglot.texi b/doc/misc/eglot.texi
index ba7aeb448e5..fb5b618bd84 100644
--- a/doc/misc/eglot.texi
+++ b/doc/misc/eglot.texi
@@ -600,7 +600,7 @@ user, but automatically, as the result of starting an Eglot
session
for the buffer. However, this minor mode provides a hook variable
@code{eglot-managed-mode-hook} that can be used to customize the Eglot
management of the buffer. This hook is run both when the minor mode
-is turned on and when it's turned off; use the variable
+is turned on and when it's turned off; use the function
@code{eglot-managed-p} to tell if current buffer is still being
managed or not. When Eglot stops managing the buffer, this minor mode
is turned off, and all the settings that Eglot changed are restored to
diff --git a/lisp/apropos.el b/lisp/apropos.el
index 6c6cd0b593d..0655fecd0e8 100644
--- a/lisp/apropos.el
+++ b/lisp/apropos.el
@@ -734,7 +734,10 @@ the output includes key-bindings of commands."
;; FIXME: Print information about each individual method: both
;; its docstring and specializers (bug#21422).
('cl-defmethod (push (cadr x) provides))
- (_ (push (or (cdr-safe x) x) symbols))))
+ ;; FIXME: Add extension point (bug#72616).
+ (_ (let ((sym (or (cdr-safe x) x)))
+ (and sym (symbolp sym)
+ (push sym symbols))))))
(let ((apropos-pattern "") ;Dummy binding for apropos-symbols-internal.
(text
(concat
diff --git a/lisp/profiler.el b/lisp/profiler.el
index eb72f128c07..a5d62e20e3a 100644
--- a/lisp/profiler.el
+++ b/lisp/profiler.el
@@ -103,8 +103,13 @@
;;; Backtraces
+(defun profiler-fixup-entry (entry)
+ (if (symbolp entry)
+ entry
+ (substring-no-properties (help-fns-function-name entry))))
+
(defun profiler-fixup-backtrace (backtrace)
- (apply #'vector (mapcar #'help-fns-function-name backtrace)))
+ (apply #'vector (mapcar #'profiler-fixup-entry backtrace)))
;;; Logs
diff --git a/lisp/textmodes/toml-ts-mode.el b/lisp/textmodes/toml-ts-mode.el
index 1b621032f8a..3c4533a7fea 100644
--- a/lisp/textmodes/toml-ts-mode.el
+++ b/lisp/textmodes/toml-ts-mode.el
@@ -50,7 +50,7 @@
(modify-syntax-entry ?= "." table)
(modify-syntax-entry ?\' "\"" table)
(modify-syntax-entry ?# "<" table)
- (modify-syntax-entry ?\n "> b" table)
+ (modify-syntax-entry ?\n ">" table)
(modify-syntax-entry ?\^m "> b" table)
table)
"Syntax table for `toml-ts-mode'.")
diff --git a/src/emacs.c b/src/emacs.c
index 37c8b28fc2c..b0d1f2f53e8 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -191,7 +191,7 @@ bool inhibit_window_system;
data on the first attempt to change it inside asynchronous code. */
bool running_asynch_code;
-#if defined (HAVE_X_WINDOWS) || defined (HAVE_NS)
+#if defined (HAVE_X_WINDOWS) || defined (HAVE_PGTK) || defined (HAVE_NS)
/* If true, -d was specified, meaning we're using some window system. */
bool display_arg;
#endif
@@ -2074,7 +2074,7 @@ Using an Emacs configured with --with-x-toolkit=lucid
does not have this problem
{
int count_before = skip_args;
-#ifdef HAVE_X_WINDOWS
+#if defined (HAVE_X_WINDOWS) || defined (HAVE_PGTK)
char *displayname = 0;
/* Skip any number of -d options, but only use the last one. */
diff --git a/src/lisp.h b/src/lisp.h
index 8ac65ca429c..c8c6854f5f5 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -5199,7 +5199,7 @@ extern void syms_of_frame (void);
extern char **initial_argv;
extern int initial_argc;
extern char const *emacs_wd;
-#if defined (HAVE_X_WINDOWS) || defined (HAVE_NS)
+#if defined (HAVE_X_WINDOWS) || defined (HAVE_PGTK) || defined (HAVE_NS)
extern bool display_arg;
#endif
extern Lisp_Object decode_env_path (const char *, const char *, bool);