emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r115852: * lisp/ielm.el (ielm-tab): Retarget.


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r115852: * lisp/ielm.el (ielm-tab): Retarget.
Date: Fri, 03 Jan 2014 05:10:57 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115852
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16224
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Fri 2014-01-03 00:10:52 -0500
message:
  * lisp/ielm.el (ielm-tab): Retarget.
  (ielm-map): Use ielm-tab for tab.
  (ielm-complete-filename): Use comint-filename-completion.
  (ielm-complete-symbol): Remove.
  (inferior-emacs-lisp-mode): Use lisp-completion-at-point instead and
  remove ielm-tab from completion-at-point-functions.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/ielm.el                   ielm.el-20091113204419-o5vbwnq5f7feedwu-770
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-01-03 04:40:30 +0000
+++ b/lisp/ChangeLog    2014-01-03 05:10:52 +0000
@@ -1,5 +1,12 @@
 2014-01-03  Stefan Monnier  <address@hidden>
 
+       * ielm.el (ielm-tab): Retarget.
+       (ielm-map): Use ielm-tab for tab.
+       (ielm-complete-filename): Use comint-filename-completion.
+       (ielm-complete-symbol): Remove.
+       (inferior-emacs-lisp-mode): Use lisp-completion-at-point instead and
+       remove ielm-tab from completion-at-point-functions (bug#16224).
+
        * emacs-lisp/pcase.el (pcase--split-equal, pcase--split-member):
        Beware signals raised by predicates (bug#16201).
 

=== modified file 'lisp/ielm.el'
--- a/lisp/ielm.el      2014-01-01 07:43:34 +0000
+++ b/lisp/ielm.el      2014-01-03 05:10:52 +0000
@@ -168,7 +168,7 @@
 
 (defvar ielm-map
   (let ((map (make-sparse-keymap)))
-    (define-key map "\t" 'completion-at-point)
+    (define-key map "\t" 'ielm-tab)
     (define-key map "\C-m" 'ielm-return)
     (define-key map "\e\C-m" 'ielm-return-for-effect)
     (define-key map "\C-j" 'ielm-send-input)
@@ -201,36 +201,19 @@
 
 ;;; Completion stuff
 
-(defun ielm-tab nil
-  "Possibly indent the current line as Lisp code."
+(defun ielm-tab ()
+  "Indent or complete."
   (interactive)
-  (when (or (eq (preceding-char) ?\n)
-            (eq (char-syntax (preceding-char)) ?\s))
-    (ielm-indent-line)
-    t))
+  (if (or (eq (preceding-char) ?\n)
+          (eq (char-syntax (preceding-char)) ?\s))
+      (ielm-indent-line)
+    (completion-at-point)))
 
-(defun ielm-complete-symbol nil
-  "Complete the Lisp symbol before point."
-  ;; A wrapper for completion-at-point that returns non-nil if
-  ;; completion has occurred
-  (let* ((btick (buffer-modified-tick))
-         (cbuffer (get-buffer "*Completions*"))
-         (ctick (and cbuffer (buffer-modified-tick cbuffer)))
-         (completion-at-point-functions '(lisp-completion-at-point)))
-    (completion-at-point)
-     ;; completion has occurred if:
-    (or
-     ;; the buffer has been modified
-     (not (= btick (buffer-modified-tick)))
-     ;; a completions buffer has been modified or created
-     (if cbuffer
-         (not (= ctick (buffer-modified-tick cbuffer)))
-       (get-buffer "*Completions*")))))
 
 (defun ielm-complete-filename nil
   "Dynamically complete filename before point, if in a string."
   (when (nth 3 (parse-partial-sexp comint-last-input-start (point)))
-    (comint-dynamic-complete-filename)))
+    (comint-filename-completion)))
 
 (defun ielm-indent-line nil
   "Indent the current line as Lisp code if it is not a prompt line."
@@ -557,8 +540,8 @@
   (setq comint-input-sender 'ielm-input-sender)
   (setq comint-process-echoes nil)
   (set (make-local-variable 'completion-at-point-functions)
-       '(ielm-tab comint-replace-by-expanded-history
-         ielm-complete-filename ielm-complete-symbol))
+       '(comint-replace-by-expanded-history
+         ielm-complete-filename lisp-completion-at-point))
   (set (make-local-variable 'ielm-prompt-internal) ielm-prompt)
   (set (make-local-variable 'comint-prompt-read-only) ielm-prompt-read-only)
   (setq comint-get-old-input 'ielm-get-old-input)


reply via email to

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