emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master afbe7585c4 1/4: Don't reduce vocabulary in ja-dic.el by default


From: Eli Zaretskii
Subject: master afbe7585c4 1/4: Don't reduce vocabulary in ja-dic.el by default
Date: Fri, 10 Jun 2022 09:14:17 -0400 (EDT)

branch: master
commit afbe7585c448c79f0320839d272742968ee88a55
Author: Taiju HIGASHI <higashi@taiju.info>
Commit: Eli Zaretskii <eliz@gnu.org>

    Don't reduce vocabulary in ja-dic.el by default
    
    * configure.ac: Add the "--with-small-ja-dic" configure option.
    * leim/Makefile.in (${leimdir}/ja-dic/ja-dic.el): Change the build
    method depending on whether or not the --with-small-ja-dic option
    is specified.
    * lisp/international/ja-dic-cnv.el (skkdic-convert-okuri-nasi): Add
    the "no-reduction" optional argument.  When it is specified, then
    generate a Japanese dictionary without reduced vocabulary.
    (skkdic-convert): Add the "no-reduction" optional argument.
    (batch-skkdic-convert): Add the "--no-reduction" command line argument.
---
 configure.ac                     |  5 +++++
 leim/Makefile.in                 |  8 +++++++-
 lisp/international/ja-dic-cnv.el | 26 ++++++++++++++++++--------
 3 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/configure.ac b/configure.ac
index 313a1436b5..3e6eab94f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -491,6 +491,7 @@ OPTION_DEFAULT_ON([threads],[don't compile with elisp 
threading support])
 OPTION_DEFAULT_OFF([native-compilation],[compile with Emacs Lisp native 
compiler support])
 OPTION_DEFAULT_OFF([cygwin32-native-compilation],[use native compilation on 
32-bit Cygwin])
 OPTION_DEFAULT_ON([xinput2],[don't use version 2 of the X Input Extension for 
input])
+OPTION_DEFAULT_OFF([small-ja-dic],[generate a small-sized Japanese dictionary])
 
 AC_ARG_WITH([file-notification],[AS_HELP_STRING([--with-file-notification=LIB],
  [use a file notification library (LIB one of: yes, inotify, kqueue, gfile, 
w32, no)])],
@@ -6492,6 +6493,7 @@ AS_ECHO(["  Does Emacs use -lXaw3d?                       
          ${HAVE_XAW3D
   Which dumping strategy does Emacs use?                  ${with_dumping}
   Does Emacs have native lisp compiler?                   ${HAVE_NATIVE_COMP}
   Does Emacs use version 2 of the the X Input Extension?  ${HAVE_XINPUT2}
+  Should Emacs use a small-sized Japanese dictionary?     ${with_small_ja_dic}
 "])
 
 if test -n "${EMACSDATA}"; then
@@ -6590,6 +6592,9 @@ SUBDIR_MAKEFILES_IN=`echo " ${SUBDIR_MAKEFILES}" | sed -e 
's| | $(srcdir)/|g' -e
 
 AC_SUBST(SUBDIR_MAKEFILES_IN)
 
+SMALL_JA_DIC=$with_small_ja_dic
+AC_SUBST(SMALL_JA_DIC)
+
 dnl You might wonder (I did) why epaths.h is generated by running make,
 dnl rather than just letting configure generate it from epaths.in.
 dnl One reason is that the various paths are not fully expanded (see above);
diff --git a/leim/Makefile.in b/leim/Makefile.in
index 3b4216c0b8..29b9f3b2f8 100644
--- a/leim/Makefile.in
+++ b/leim/Makefile.in
@@ -32,6 +32,12 @@ leimdir = ${srcdir}/../lisp/leim
 
 EXEEXT = @EXEEXT@
 
+SMALL_JA_DIC = @SMALL_JA_DIC@
+JA_DIC_NO_REDUCTION_OPTION = --no-reduction
+ifeq ($(SMALL_JA_DIC), yes)
+       JA_DIC_NO_REDUCTION_OPTION =
+endif
+
 -include ${top_builddir}/src/verbose.mk
 
 # Prevent any settings in the user environment causing problems.
@@ -134,7 +140,7 @@ generate-ja-dic: ${leimdir}/ja-dic/ja-dic.el
 ${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L
        $(AM_V_GEN)$(RUN_EMACS) -batch -l ja-dic-cnv \
          --eval "(setq max-specpdl-size 5000)" \
-         -f batch-skkdic-convert -dir "$(leimdir)/ja-dic" "$<"
+         -f batch-skkdic-convert -dir "$(leimdir)/ja-dic" 
$(JA_DIC_NO_REDUCTION_OPTION) "$<"
 
 ${srcdir}/../lisp/language/pinyin.el: ${srcdir}/MISC-DIC/pinyin.map
        $(AM_V_GEN)${RUN_EMACS} -l titdic-cnv -f pinyin-convert $< $@
diff --git a/lisp/international/ja-dic-cnv.el b/lisp/international/ja-dic-cnv.el
index 1bbc664e75..0bad7dea0a 100644
--- a/lisp/international/ja-dic-cnv.el
+++ b/lisp/international/ja-dic-cnv.el
@@ -297,7 +297,7 @@
       (setq skkdic-okuri-nasi-entries-count (length skkdic-okuri-nasi-entries))
       (progress-reporter-done progress))))
 
-(defun skkdic-convert-okuri-nasi (skkbuf buf)
+(defun skkdic-convert-okuri-nasi (skkbuf buf &optional no-reduction)
   (with-current-buffer buf
     (insert ";; Setting okuri-nasi entries.\n"
            "(skkdic-set-okuri-nasi\n")
@@ -313,7 +313,9 @@
           (setq count (1+ count))
           (progress-reporter-update progress count)
          (if (setq candidates
-                   (skkdic-reduced-candidates skkbuf kana candidates))
+                    (if no-reduction
+                        candidates
+                        (skkdic-reduced-candidates skkbuf kana candidates)))
              (progn
                (insert "\"" kana)
                (while candidates
@@ -324,10 +326,12 @@
       (progress-reporter-done progress))
     (insert ")\n\n")))
 
-(defun skkdic-convert (filename &optional dirname)
+(defun skkdic-convert (filename &optional dirname no-reduction)
   "Generate Emacs Lisp file from Japanese dictionary file FILENAME.
 The format of the dictionary file should be the same as SKK dictionaries.
-Saves the output as `ja-dic-filename', in directory DIRNAME (if specified)."
+Saves the output as `ja-dic-filename', in directory DIRNAME (if specified).
+When NO-REDUCTION is t, then not reduce dictionary vocabulary.
+"
   (interactive "FSKK dictionary file: ")
   (let* ((skkbuf (get-buffer-create " *skkdic-unannotated*"))
         (buf (get-buffer-create "*skkdic-work*")))
@@ -388,7 +392,7 @@ Saves the output as `ja-dic-filename', in directory DIRNAME 
(if specified)."
        (skkdic-collect-okuri-nasi)
 
        ;; Convert okuri-nasi general entries.
-       (skkdic-convert-okuri-nasi skkbuf buf)
+       (skkdic-convert-okuri-nasi skkbuf buf no-reduction)
 
        ;; Postfix
        (with-current-buffer buf
@@ -420,15 +424,21 @@ To get complete usage, invoke:
        (message "To convert SKK-JISYO.L into skkdic.el:")
        (message "  %% emacs -batch -l ja-dic-cnv -f batch-skkdic-convert 
SKK-JISYO.L")
        (message "To convert SKK-JISYO.L into DIR/ja-dic.el:")
-       (message "  %% emacs -batch -l ja-dic-cnv -f batch-skkdic-convert -dir 
DIR SKK-JISYO.L"))
-    (let (targetdir filename)
+       (message "  %% emacs -batch -l ja-dic-cnv -f batch-skkdic-convert -dir 
DIR SKK-JISYO.L")
+        (message "To convert SKK-JISYO.L into skkdic.el with not reduce 
dictionary vocabulary:")
+        (message "  %% emacs -batch -l ja-dic-cnv -f batch-skkdic-convert 
--no-reduction SKK-JISYO.L"))
+    (let (targetdir filename no-reduction)
       (if (string= (car command-line-args-left) "-dir")
          (progn
            (setq command-line-args-left (cdr command-line-args-left))
            (setq targetdir (expand-file-name (car command-line-args-left)))
            (setq command-line-args-left (cdr command-line-args-left))))
+      (if (string= (car command-line-args-left) "--no-reduction")
+          (progn
+           (setq no-reduction t)
+           (setq command-line-args-left (cdr command-line-args-left))))
       (setq filename (expand-file-name (car command-line-args-left)))
-      (skkdic-convert filename targetdir)))
+      (skkdic-convert filename targetdir no-reduction)))
   (kill-emacs 0))
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]