]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve support for entering quotation marks
authorRobert Pluim <rpluim@gmail.com>
Thu, 16 May 2024 14:25:24 +0000 (16:25 +0200)
committerEshel Yaron <me@eshelyaron.com>
Mon, 3 Jun 2024 14:33:14 +0000 (16:33 +0200)
* lisp/international/iso-transl.el (iso-transl-char-map): Add entries
for "low" single and double quotation marks.
(iso-transl-language-alist): Add convenient support for the official
German quoting style to the German language entry. It uses "low" double
quotes on the left, and *left* double quotes on the right.  Add support
for single guillemets to the French language entry.
* lisp/leim/quail/latin-post.el ("latin-postfix"): Add entries for
single, double and "low" Unicode quotation marks.  Add entries for
single guillemets.
* lisp/leim/quail/latin-pre.el ("latin-prefix"): And here.

* etc/NEWS: Announce the changes.

(Bug#70984)

(cherry picked from commit 0e811aba53f5cc3a8d8c13fa8922149f95e83da4)

etc/NEWS
lisp/international/iso-transl.el
lisp/leim/quail/latin-post.el
lisp/leim/quail/latin-pre.el

index 4502c6066c207a8158d68720d7aa8a091bd03e45..0286defec936411f93c899e34b59ef018ccffb2a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -573,6 +573,36 @@ These characters can now be input with 'C-x 8 a e' and 'C-x 8 A E',
 respectively, in addition to the existing translations 'C-x 8 / e' and
 'C-x 8 / E'.
 
+*** New 'C-x 8' key translations for "low" quotes "„", and "‚".
+These can now be entered with 'C-x , "' and 'C-x , ''.
+
+*** New German language 'C-x 8' key translations for quotation marks.
+The characters "„", "“", and "”" can now be entered with 'C-x 8 v',
+'C-x 8 b' and 'C-x 8 n'.  The single versions "‚", "‘", and "’" can now
+be entered with 'C-x 8 V', 'C-x 8 B' and 'C-x 8 N'.  These characters
+are used for the official German quoting style.  Using them requires
+activating German language support via 'iso-transl-set-language'.
+
+*** "latin-prefix" and "latin-postfix" quotation marks additions.
+These input methods can now produce single, double and "low" left and
+right quotation marks:
+
+    "‘", "’", "“", "”", "„", and "‚"
+
+by using "[", "]", and "," for "left", "right", and "low" respectively
+to modify "'" and """.
+
+*** "latin-prefix" and "latin-postfix" guillemets support.
+These input methods can now produce single guillemets "‹" and "›".  For
+"latin-prefix" use "~~<" and "~~>", for "latin-postfix" use "<~" and
+">~".  Double guillemets ("«" and "»") were already supported.
+
+*** New French language 'C-x 8' key translations for "‹" and "›".
+These characters can now be entered using 'C-x 8 ~ <' and 'C-x 8 ~ >'
+respectively, after activating French language support via
+'iso-transl-set-language'.  Double guillemets were already supported via
+'C-x 8 <' and 'C-x 8 >'
+
 \f
 * Changes in Specialized Modes and Packages in Emacs 30.1
 
index 67659f7c265b7822e63a88cd99069439966cb9bd..a3f2dfb9f9e3e67ef21ebdf30b8799bd6c8ff46e 100644 (file)
     ("*+"   . [?±])
     ("+"    . [?±])
     (",,"   . [?¸])
+    (",\""  . [?„])
+    (",'"   . [?‚])
     (",A"   . [?Ą])
     (",C"   . [?Ç])
     (",N"   . [?Ņ])
@@ -327,7 +329,9 @@ sequence VECTOR.  (VECTOR is normally one character long.)")
      ("u"  . [?ŭ]))
     ("French"
      ("C"  . [?Ç])
-     ("c"  . [?ç]))
+     ("c"  . [?ç])
+     ("~<" . [?‹])
+     ("~>" . [?›]))
     ("German"
      ("A"  . [?Ä])
      ("O"  . [?Ö])
@@ -336,6 +340,12 @@ sequence VECTOR.  (VECTOR is normally one character long.)")
      ("a"  . [?ä])
      ("o"  . [?ö])
      ("s"  . [?ß])
+     ("v"  . [?„])
+     ("b"  . [?“])
+     ("n"  . [?”])
+     ("V"  . [?‚])
+     ("B"  . [?‘])
+     ("N"  . [?’])
      ("u"  . [?ü]))
     ("Portuguese"
      ("C"  . [?Ç])
index 25e7c4a64a8c0fe21baa33081e307d483bf870ef..00851a94284dbabbc02afe66eeca88dc9bb05e38 100644 (file)
@@ -2302,6 +2302,9 @@ of characters from a single Latin-N charset.
   subscript  |    _    | 0_ -> ₀   1_ -> ₁   +_ -> ₊   -_ -> ₋
   others     |    /    | s/ -> ß   ?/ -> ¿   !/ -> ¡   // -> °   o/ -> œ
              |    /    | 2/ -> ½   3/ -> ¾   4/ -> ?¼
+             |    [    | \\='[ -> ‘  \"[ -> “
+             |    ]    | \\='] -> ’  \"] -> ”
+             |    ,    | \\=', -> ‚  \", -> „
              | various | << -> «   >> -> »   o_ -> º   a_ -> ª
 
 Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
@@ -2309,6 +2312,12 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
 
 ;; Fixme: ¦ § ¨ © ¬ ± ´ µ ¶ · ¸ × ÷
 (quail-define-rules
+ ("'[" ?‘)
+ ("']" ?’)
+ ("\"[" ?“)
+ ("\"]" ?”)
+ ("\"," ?„)
+ ("'," ?‚)
  ("2/" ?½)
  ("3/" ?¾)
  ("4/" ?¼)
@@ -2341,6 +2350,8 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
  ("//" ?°)
  ("<<" ?\«)
  (">>" ?\»)
+ ("<~" ?\‹)
+ (">~" ?\›)
  ("?/" ?¿)
  ("$/" ?£)
  ("$/" ?¤)
@@ -2532,6 +2543,12 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
  ("z~" ?ž)
  ("--" ?¯)
 
+ ("'[[" ["'["])
+ ("']]" ["']"])
+ ("\"[[" ["\"["])
+ ("\"]]" ["\"]"])
+ ("\",," ["\","])
+ ("',," ["',"])
  ("2//" ["2/"])
  ("3//" ["3/"])
  ("4//" ["4/"])
@@ -2564,6 +2581,8 @@ Doubling the postfix separates the letter and postfix: e.g. a\\='\\=' -> a\\='
  ("///" ["//"])
  ("<<<" ["<<"])
  (">>>" [">>"])
+ ("<~~" ["<~"])
+ (">~~" [">~"])
  ("?//" ["?/"])
  ("$//" ["$/"])
  ("A''" ["A'"])
index 91164df0c723f6d32b8a2d9e31d348aeeb57563a..b344a6304bb0bc3f8ad892017342086a81579a1b 100644 (file)
@@ -1107,6 +1107,9 @@ of characters from a single Latin-N charset.
     macron   |   -    | -a -> ā  -/e -> ǣ  -- -> ¯
   dot above  |   / .  | /g -> ġ   .g -> ġ
     misc     | \" ~ /  | \"s -> ß  ~d -> ð  ~t -> þ  /a -> å  /e -> æ  /o -> ø
+             |   [    | [\\=' -> ‘  [\" -> “
+             |   ]    | ]\\=' -> ’  ]\" -> ”
+             |   ,    | ,\\=' -> ‚  ,\" -> „
    symbol    |   ~    | ~> -> »  ~< -> «  ~! -> ¡  ~? -> ¿  ~~ -> ¸
    symbol    |  _ /   | _o -> º  _a -> ª  // -> °  /\\ -> ×  _y -> ¥
    symbol    |   ^    | ^r -> ®  ^t -> ™  ^c -> ©  ^1 -> ¹  ^2 -> ²  ^3 -> ³
@@ -1132,6 +1135,12 @@ of characters from a single Latin-N charset.
  ("-y" ?ȳ)
  ("' " ?')
  ("''" ?´)
+ ("['" ?‘)
+ ("]'" ?’)
+ ("[\"" ?“)
+ ("]\"" ?”)
+ (",\"" ?„)
+ (",'" ?‚)
  ("'A" ?Á)
  ("'E" ?É)
  ("'I" ?Í)
@@ -1295,8 +1304,10 @@ of characters from a single Latin-N charset.
  ("~-" ?­)
  ("~." ?·)
  ("~<" ?\«)
+ ("~~<" ?\‹)
  ("~=" ?¯)
  ("~>" ?\»)
+ ("~~>" ?\›)
  ("~?" ?¿)
  ("~A" ?Ã)
  ("~A" ?Ă)