emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r113168: * lisp/files-x.el (read-file-local-variable


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r113168: * lisp/files-x.el (read-file-local-variable-value): Use read-from-minibuffer
Date: Tue, 25 Jun 2013 13:07:09 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113168
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14710
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Tue 2013-06-25 09:07:04 -0400
message:
  * lisp/files-x.el (read-file-local-variable-value): Use read-from-minibuffer
  for values and use read--expression for expressions.
  (read-file-local-variable): Avoid setq.
  (read-file-local-variable-mode): Use minor-mode-list.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/files-x.el                filesx.el-20091113204419-o5vbwnq5f7feedwu-10917
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-06-25 09:18:09 +0000
+++ b/lisp/ChangeLog    2013-06-25 13:07:04 +0000
@@ -1,3 +1,10 @@
+2013-06-25  Stefan Monnier  <address@hidden>
+
+       * files-x.el (read-file-local-variable-value): Use read-from-minibuffer
+       for values and use read--expression for expressions (bug#14710).
+       (read-file-local-variable): Avoid setq.
+       (read-file-local-variable-mode): Use minor-mode-list.
+
 2013-06-25  RĂ¼diger Sonderfeld  <address@hidden>
 
        * lisp/textmodes/bibtex.el (bibtex-generate-url-list): Add support
@@ -31,7 +38,7 @@
        * net/shr.el (shr-browse-url): Use an external browser if given a
        prefix.
 
-       * net/eww.el (eww-external-browser): Moved to shr.
+       * net/eww.el (eww-external-browser): Move to shr.
 
 2013-06-24  Ivan Kanis  <address@hidden>
 
@@ -119,8 +126,8 @@
 
 2013-06-21  Dmitry Gutov  <address@hidden>
 
-       * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
-       keyword-like methods on Kernel and Module with
+       * progmodes/ruby-mode.el (ruby-font-lock-keywords):
+       Highlight keyword-like methods on Kernel and Module with
        font-lock-builtin-face.
        (auto-mode-alist): Consolidate different entries into one regexp
        and add more *file-s.
@@ -606,8 +613,8 @@
 
 2013-06-19  Michael Albinus  <address@hidden>
 
-       * net/secrets.el (secrets-struct-secret-content-type): Replace
-       check of introspection data by a test call of "CreateItem".
+       * net/secrets.el (secrets-struct-secret-content-type):
+       Replace check of introspection data by a test call of "CreateItem".
        Some servers do not offer introspection.
 
 2013-06-19  Stefan Monnier  <address@hidden>

=== modified file 'lisp/files-x.el'
--- a/lisp/files-x.el   2013-06-18 20:38:43 +0000
+++ b/lisp/files-x.el   2013-06-25 13:07:04 +0000
@@ -38,11 +38,10 @@
 Intended to be used in the `interactive' spec of
 `add-file-local-variable', `delete-file-local-variable',
 `add-dir-local-variable', `delete-dir-local-variable'."
-  (let (default variable)
-    (setq default (variable-at-point))
-    (setq default (and (symbolp default) (boundp default)
+  (let* ((default (variable-at-point))
+         (default (and (symbolp default) (boundp default)
                       (symbol-name default)))
-    (setq variable
+         (variable
          (completing-read
           (if default
               (format "%s (default %s): " prompt default)
@@ -52,48 +51,46 @@
             (or (custom-variable-p sym)
                  (get sym 'safe-local-variable)
                 (memq sym '(mode eval coding unibyte))))
-          nil nil nil default nil))
+          nil nil nil default nil)))
     (and (stringp variable) (intern variable))))
 
 (defun read-file-local-variable-value (variable)
   "Read value of file-local VARIABLE using completion.
 Intended to be used in the `interactive' spec of
 `add-file-local-variable' and `add-dir-local-variable'."
-  (let (default value)
-    (cond
-     ((eq variable 'mode)
-      (setq default (and (symbolp major-mode) (symbol-name major-mode)))
-      (setq value
-           (completing-read
-            (if default
-                (format "Add %s with value (default %s): " variable default)
-              (format "Add %s with value: " variable))
-            obarray
-            (lambda (sym)
-              (string-match-p "-mode\\'" (symbol-name sym)))
-            nil nil nil default nil))
+  (cond
+   ((eq variable 'mode)
+    (let* ((default (and (symbolp major-mode) (symbol-name major-mode)))
+           (value
+            (completing-read
+             (if default
+                 (format "Add %s with value (default %s): " variable default)
+               (format "Add %s with value: " variable))
+             obarray
+             (lambda (sym)
+               (string-match-p "-mode\\'" (symbol-name sym)))
+             nil nil nil default nil)))
       (and (stringp value)
-          (intern (replace-regexp-in-string "-mode\\'" "" value))))
-     ((eq variable 'eval)
-      (let ((minibuffer-completing-symbol t))
-       (read-from-minibuffer (format "Add %s with expression: " variable)
-                             nil read-expression-map t
-                             'read-expression-history)))
-     ((eq variable 'coding)
-      (setq default (and (symbolp buffer-file-coding-system)
-                        (symbol-name buffer-file-coding-system)))
+           (intern (replace-regexp-in-string "-mode\\'" "" value)))))
+   ((eq variable 'eval)
+    (read--expression (format "Add %s with expression: " variable)))
+   ((eq variable 'coding)
+    (let ((default (and (symbolp buffer-file-coding-system)
+                        (symbol-name buffer-file-coding-system))))
       (read-coding-system
        (if default
-          (format "Add %s with value (default %s): " variable default)
-        (format "Add %s with value: " variable))
-       default))
-     (t
-      (read (read-string (format "Add %s with value: " variable)
-                        nil 'set-variable-value-history
-                        (format "%S"
-                                (cond ((eq variable 'unibyte) t)
-                                      ((boundp variable)
-                                       (symbol-value variable))))))))))
+           (format "Add %s with value (default %s): " variable default)
+         (format "Add %s with value: " variable))
+       default)))
+   (t
+    (let ((default (format "%S"
+                           (cond ((eq variable 'unibyte) t)
+                                 ((boundp variable)
+                                  (symbol-value variable)))))
+          (minibuffer-completing-symbol t))
+      (read-from-minibuffer (format "Add %s with value: " variable)
+                            nil read-expression-map t
+                            'set-variable-value-history)))))
 
 (defun read-file-local-variable-mode ()
   "Read per-directory file-local variable's mode using completion.
@@ -108,7 +105,9 @@
           obarray
           (lambda (sym)
             (and (string-match-p "-mode\\'" (symbol-name sym))
-                 (not (string-match-p "-minor-mode\\'" (symbol-name sym)))))
+                 (not (or (memq sym minor-mode-list)
+                           (string-match-p "-minor-mode\\'"
+                                           (symbol-name sym))))))
           nil nil nil default nil)))
     (cond
      ((equal mode "nil") nil)


reply via email to

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