[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What's missing in ELisp that makes people want to use cl-lib?
|
From: |
João Távora |
|
Subject: |
Re: What's missing in ELisp that makes people want to use cl-lib? |
|
Date: |
Thu, 9 Nov 2023 13:38:24 +0000 |
On Thu, Nov 9, 2023 at 12:34 PM João Távora <joaotavora@gmail.com> wrote:
> > The following is left as an exercise for the interested readers: take
> > a non-trivial piece of code that you never in your life have laid your
> > eyes upon, and decide what to do with a serious bug report about that
> > code, with or without a patch proposed by someone. A recent case in
> > point: bug#66970. Bonus points for doing this with code in a
> > programming language you don't command 110%, like C if you are mainly
> > a Lisp programmer or vice versa.
> I'll have a better look later.
At first sight, didn't seem terribly hard. I gave it some basic testing
seems to work like the OP in that bug would like it to. Could be a start
I guess. Let me know if you don't like the style.
diff --git a/lisp/leim/quail/hangul.el b/lisp/leim/quail/hangul.el
index 46a2e5a6ba2..c97362b1250 100644
--- a/lisp/leim/quail/hangul.el
+++ b/lisp/leim/quail/hangul.el
@@ -146,21 +146,26 @@ hangul-insert-character
(progn
(delete-region (region-beginning) (region-end))
(deactivate-mark)))
- (quail-delete-region)
- (let ((first (car queues)))
- (insert
- (hangul-character
- (+ (aref first 0) (hangul-djamo 'cho (aref first 0) (aref first 1)))
- (+ (aref first 2) (hangul-djamo 'jung (aref first 2) (aref first 3)))
- (+ (aref first 4) (hangul-djamo 'jong (aref first 4) (aref first 5))))))
- (move-overlay quail-overlay (overlay-start quail-overlay) (point))
- (dolist (queue (cdr queues))
- (insert
- (hangul-character
- (+ (aref queue 0) (hangul-djamo 'cho (aref queue 0) (aref queue 1)))
- (+ (aref queue 2) (hangul-djamo 'jung (aref queue 2) (aref queue 3)))
- (+ (aref queue 4) (hangul-djamo 'jong (aref queue 4) (aref queue 5)))))
- (move-overlay quail-overlay (1+ (overlay-start quail-overlay)) (point))))
+ (let* ((things-to-insert
+ (with-temp-buffer
+ (dolist (queue queues (mapcar #'identity (buffer-string)))
+ (insert
+ (hangul-character
+ (+ (aref queue 0) (hangul-djamo 'cho (aref queue 0)
(aref queue 1)))
+ (+ (aref queue 2) (hangul-djamo 'jung (aref queue 2)
(aref queue 3)))
+ (+ (aref queue 4) (hangul-djamo 'jong (aref queue 4)
(aref queue 5))))))))
+ (may-have-to-overwrite-p
+ (or (= (overlay-start quail-overlay) (overlay-end quail-overlay))
+ (cdr things-to-insert))))
+ (quail-delete-region)
+ (dolist (c things-to-insert)
+ (let ((last-command-event c)
+ (overwrite-mode (and overwrite-mode
+ may-have-to-overwrite-p
+ overwrite-mode)))
+ (self-insert-command 1)
+ (setq may-have-to-overwrite-p nil)))
+ (move-overlay quail-overlay (1- (point)) (point))))
(defun hangul-djamo (jamo char1 char2)
"Return the double Jamo index calculated from the arguments.
- Re: What's missing in ELisp that makes people want to use cl-lib?, (continued)
- Re: What's missing in ELisp that makes people want to use cl-lib?, Björn Bidar, 2023/11/08
- Re: What's missing in ELisp that makes people want to use cl-lib?, Alan Mackenzie, 2023/11/08
- Re: What's missing in ELisp that makes people want to use cl-lib?, Emanuel Berg, 2023/11/08
- Re: What's missing in ELisp that makes people want to use cl-lib?, Dmitry Gutov, 2023/11/08
- Re: What's missing in ELisp that makes people want to use cl-lib?, João Távora, 2023/11/08
- Re: What's missing in ELisp that makes people want to use cl-lib?, Emanuel Berg, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?, Alan Mackenzie, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?, João Távora, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?, Eli Zaretskii, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?, João Távora, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?,
João Távora <=
- Re: What's missing in ELisp that makes people want to use cl-lib?, Eli Zaretskii, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?, Emanuel Berg, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?, Eli Zaretskii, 2023/11/09
- Re: What's missing in ELisp that makes people want to use cl-lib?, Emanuel Berg, 2023/11/11
- Re: What's missing in ELisp that makes people want to use cl-lib?, Eli Zaretskii, 2023/11/11
- Re: What's missing in ELisp that makes people want to use cl-lib?, Emanuel Berg, 2023/11/11
- Re: What's missing in ELisp that makes people want to use cl-lib?, Eli Zaretskii, 2023/11/11
- Re: What's missing in ELisp that makes people want to use cl-lib?, Emanuel Berg, 2023/11/11
- Re: What's missing in ELisp that makes people want to use cl-lib?, Eli Zaretskii, 2023/11/11
- Re: What's missing in ELisp that makes people want to use cl-lib?, João Távora, 2023/11/09