]> git.eshelyaron.com Git - emacs.git/commitdiff
Update quickurl.el
authorMark Oteiza <mvoteiza@udel.edu>
Wed, 9 Nov 2016 17:54:36 +0000 (12:54 -0500)
committerMark Oteiza <mvoteiza@udel.edu>
Wed, 9 Nov 2016 17:54:36 +0000 (12:54 -0500)
* lisp/net/quickurl.el (quickurl-format-function):
(quickurl-sort-function): Use named function.
(quickurl-list-mode-map): Remove lines that are extraneous now that the
parent mode is special-mode.
(quickurl-format-url, quickurl-sort-urls): New functions.
(quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
be used.
(quickurl-list-mode): Derive from special-mode.  Nix setting
buffer-read-only: special-mode does that.
(quickurl-list-populate-buffer): Use dolist instead.
(quickurl-list-quit): Use quit-window.  It looks like this was written
before the quit-window rewrite.  quit-window is very useful now.

lisp/net/quickurl.el

index bb9ce31307b9ad8ae09a629cf33684b7634702cb..773589af47e836963c31b9d1d32eb3a6e88f66c2 100644 (file)
   :type  'file
   :group 'quickurl)
 
-(defcustom quickurl-format-function (lambda (url) (format "<URL:%s>" (quickurl-url-url url)))
+(defcustom quickurl-format-function #'quickurl-format-url
   "Function to format the URL before insertion into the current buffer."
   :type  'function
   :group 'quickurl)
 
-(defcustom quickurl-sort-function (lambda (list)
-                                    (sort list
-                                          (lambda (x y)
-                                            (string<
-                                             (downcase (quickurl-url-description x))
-                                             (downcase (quickurl-url-description y))))))
+(defcustom quickurl-sort-function #'quickurl-sort-urls
   "Function to sort the URL list."
   :type  'function
   :group 'quickurl)
@@ -175,7 +170,6 @@ in your init file (after loading/requiring quickurl).")
 
 (defvar quickurl-list-mode-map
   (let ((map (make-sparse-keymap)))
-    (suppress-keymap map t)
     (define-key map "a"           #'quickurl-list-add-url)
     (define-key map [(control m)] #'quickurl-list-insert-url)
     (define-key map "u"           #'quickurl-list-insert-naked-url)
@@ -185,7 +179,6 @@ in your init file (after loading/requiring quickurl).")
     (define-key map [(control g)] #'quickurl-list-quit)
     (define-key map "q"           #'quickurl-list-quit)
     (define-key map [mouse-2]     #'quickurl-list-mouse-select)
-    (define-key map "?"           #'describe-mode)
     map)
   "Local keymap for a `quickurl-list-mode' buffer.")
 
@@ -253,7 +246,18 @@ returned."
 
 ;; Main code:
 
-(cl-defun quickurl-read (&optional buffer)
+(defun quickurl-format-url (url)
+  (format "<URL:%s>" (quickurl-url-url url)))
+
+(defun quickurl-sort-urls (list)
+  "Sort URLs in LIST according to their `quickurl-url-description'."
+  (sort list
+        (lambda (x y)
+          (string<
+           (downcase (quickurl-url-description x))
+           (downcase (quickurl-url-description y))))))
+
+(defun quickurl-read (&optional buffer)
   "`read' the URL list from BUFFER into `quickurl-urls'.
 
 BUFFER, if nil, defaults to current buffer.
@@ -298,7 +302,7 @@ Also display a `message' saying what the URL was unless SILENT is non-nil."
     (message "Found %s" (quickurl-url-url url))))
 
 ;;;###autoload
-(cl-defun quickurl (&optional lookup)
+(defun quickurl (&optional lookup)
   "Insert a URL based on LOOKUP.
 
 If not supplied LOOKUP is taken to be the word at point in the current
@@ -427,17 +431,14 @@ current buffer, this default action can be modified via
 
 ;; quickurl-list mode.
 
-(put 'quickurl-list-mode 'mode-class 'special)
-
 ;;;###autoload
-(define-derived-mode quickurl-list-mode fundamental-mode "quickurl list"
+(define-derived-mode quickurl-list-mode special-mode "Quickurl"
   "A mode for browsing the quickurl URL list.
 
 The key bindings for `quickurl-list-mode' are:
 
 \\{quickurl-list-mode-map}"
-  (setq buffer-read-only t
-        truncate-lines   t))
+  (setq truncate-lines t))
 
 ;;;###autoload
 (defun quickurl-list ()
@@ -459,14 +460,13 @@ The key bindings for `quickurl-list-mode' are:
            (fmt (format "%%-%ds %%s\n" (apply #'max sizes)))
            (inhibit-read-only t))
       (erase-buffer)
-      (cl-loop for url in quickurl-urls
-               do (let ((start (point)))
-                    (insert (format fmt (quickurl-url-description url)
-                                    (quickurl-url-url url)))
-                    (add-text-properties
-                     start (1- (point))
-                     '(mouse-face highlight
-                       help-echo "mouse-2: insert this URL"))))
+      (dolist (url quickurl-urls)
+        (let ((start (point)))
+          (insert (format fmt (quickurl-url-description url)
+                          (quickurl-url-url url)))
+          (add-text-properties
+           start (1- (point))
+           '(mouse-face highlight help-echo "mouse-2: insert this URL"))))
       (goto-char (point-min)))))
 
 (defun quickurl-list-add-url (word url comment)
@@ -477,9 +477,7 @@ The key bindings for `quickurl-list-mode' are:
 (defun quickurl-list-quit ()
   "Kill the buffer named `quickurl-list-buffer-name'."
   (interactive)
-  (kill-buffer quickurl-list-buffer-name)
-  (switch-to-buffer quickurl-list-last-buffer)
-  (delete-other-windows))
+  (quit-window t))
 
 (defun quickurl-list-mouse-select (event)
   "Select the URL under the mouse click."