From: Juri Linkov <juri@linkov.net>
To: No Wayman <iarchivedmywholelife@gmail.com>
Cc: 69312@debbugs.gnu.org
Subject: bug#69312: 30.0.50; [WISHLIST] dicitionary buffer should retain search information
Date: Sun, 25 Feb 2024 09:19:03 +0200 [thread overview]
Message-ID: <86o7c513ep.fsf@mail.linkov.net> (raw)
In-Reply-To: <8734thfarx.fsf@gmail.com> (No Wayman's message of "Sat, 24 Feb 2024 23:06:10 -0500")
[-- Attachment #1: Type: text/plain, Size: 852 bytes --]
>> @@ -1128,8 +1128,8 @@ dictionary-new-matching
>> (defun dictionary-do-matching (word dictionary strategy function)
>> "Search for WORD with STRATEGY in DICTIONARY and display them with
>> FUNCTION."
>> - (message "Lookup matching words for %s in %s using %s"
>> - word dictionary strategy)
>> + (insert (format-message "Lookup matching words for %s in %s using
>> %s\n"
>> + word dictionary strategy))
>> (dictionary-send-command
>> (concat "match " (dictionary-encode-charset dictionary "") " "
>> (dictionary-encode-charset strategy "") " \""
>
> This won't work. The buffer is in read-only mode, but even if that is
> inhibited, the string is overwritten by the call to the display function at
> the end:
>
>> (funcall function reply)
This means that we need more reformatting of error messages:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: dictionary-messages.patch --]
[-- Type: text/x-diff, Size: 3249 bytes --]
diff --git a/lisp/net/dictionary.el b/lisp/net/dictionary.el
index 1981b757017..e8ac9b679a0 100644
--- a/lisp/net/dictionary.el
+++ b/lisp/net/dictionary.el
@@ -787,7 +787,7 @@ dictionary-do-search
Optional argument NOMATCHING controls whether to suppress the display
of matching words."
- (message "Searching for %s in %s" word dictionary)
+ (insert (format-message "Searching for `%s' in `%s'\n" word dictionary))
(dictionary-send-command (concat "define "
(dictionary-encode-charset dictionary "")
" \""
@@ -799,13 +799,13 @@ dictionary-do-search
(if (dictionary-check-reply reply 552)
(progn
(unless nomatching
- (insert "Word not found")
+ (insert (format-message "Word `%s' not found\n" word))
(dictionary-do-matching
word
dictionary
"."
(lambda (reply)
- (insert ", maybe you are looking for one of these words\n\n")
+ (insert "Maybe you are looking for one of these words\n")
(dictionary-display-only-match-result reply)))
(dictionary-post-buffer)))
(if (dictionary-check-reply reply 550)
@@ -1128,8 +1128,8 @@ dictionary-new-matching
(defun dictionary-do-matching (word dictionary strategy function)
"Search for WORD with STRATEGY in DICTIONARY and display them with FUNCTION."
- (message "Lookup matching words for %s in %s using %s"
- word dictionary strategy)
+ (insert (format-message "Lookup matching words for `%s' in `%s' using `%s'\n"
+ word dictionary strategy))
(dictionary-send-command
(concat "match " (dictionary-encode-charset dictionary "") " "
(dictionary-encode-charset strategy "") " \""
@@ -1141,10 +1141,13 @@ dictionary-do-matching
(if (dictionary-check-reply reply 551)
(error "Strategy \"%s\" is invalid" strategy))
(if (dictionary-check-reply reply 552)
- (error (concat
- "No match for \"%s\" with strategy \"%s\" in "
- "dictionary \"%s\".")
- word strategy dictionary))
+ (let ((errmsg (format-message
+ (concat
+ "No match for `%s' with strategy `%s' in "
+ "dictionary `%s'.")
+ word strategy dictionary)))
+ (insert errmsg "\n")
+ (user-error errmsg)))
(unless (dictionary-check-reply reply 152)
(error "Unknown server answer: %s" (dictionary-reply reply)))
(funcall function reply)))
@@ -1271,7 +1274,7 @@ dictionary-lookup-definition
(interactive)
(let ((word (current-word)))
(unless word
- (error "No word at point"))
+ (user-error "No word at point"))
(dictionary-new-search (cons word dictionary-default-dictionary))))
(defun dictionary-previous ()
@@ -1311,7 +1314,8 @@ dictionary-mouse-popup-matching-words
(defun dictionary-popup-matching-words (&optional word)
"Display entries matching WORD or the current word if not given."
(interactive)
- (dictionary-do-matching (or word (current-word) (error "Nothing to search for"))
+ (dictionary-do-matching (or word (current-word)
+ (user-error "Nothing to search for"))
dictionary-default-dictionary
dictionary-default-popup-strategy
'dictionary-process-popup-replies))
next prev parent reply other threads:[~2024-02-25 7:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-22 18:39 bug#69312: 30.0.50; [WISHLIST] dicitionary buffer should retain search information No Wayman
2024-02-23 7:12 ` Juri Linkov
2024-02-23 15:29 ` No Wayman
2024-02-24 17:39 ` Juri Linkov
2024-02-25 4:06 ` No Wayman
2024-02-25 7:19 ` Juri Linkov [this message]
2024-03-02 17:31 ` Juri Linkov
2024-03-03 1:46 ` No Wayman
2024-03-03 7:50 ` Juri Linkov
2024-03-03 16:59 ` Juri Linkov
2024-03-03 17:16 ` No Wayman
2024-03-03 17:49 ` Juri Linkov
2024-03-03 20:59 ` No Wayman
2024-03-05 16:43 ` Juri Linkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86o7c513ep.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=69312@debbugs.gnu.org \
--cc=iarchivedmywholelife@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).