all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: martin rudalics <rudalics@gmx.at>
Cc: emacs-devel@gnu.org
Subject: Re: Add file-locals and dir-locals
Date: Sun, 19 Jul 2009 21:12:11 +0300	[thread overview]
Message-ID: <87tz187dac.fsf@mail.jurta.org> (raw)
In-Reply-To: <4A62F78A.7030201@gmx.at> (martin rudalics's message of "Sun, 19 Jul 2009 12:38:02 +0200")

> I don't quite catch the idea behind
>
> 		  (and (search-backward "Local Variables:" nil t)
> 		       (search-forward "Local Variables:" nil t)))
>
> Do you search the entire buffer here?

I had the same doubt that this is sub-ideal.  Thanks, fixed.

> Also I didn't find a functionality to remove the headers and trailers as
> soon as all settings have been removed.

I intentionally omitted this functionality because I think it should
leave a harmless empty placeholder for the user's convenience.

Below is the final patch that I find useful enough to commit.
I invite you and other developers to improve this further as you wish.

Index: etc/TODO
===================================================================
RCS file: /sources/emacs/emacs/etc/TODO,v
retrieving revision 1.205
diff -u -r1.205 TODO
--- etc/TODO	18 Jul 2009 21:04:15 -0000	1.205
+++ etc/TODO	19 Jul 2009 18:05:50 -0000
@@ -202,9 +202,6 @@
 ** Implement something better than the current Refill mode.  This
   probably needs some primitive support.
 
-** Add a command to make a "Local Variables" section in the current buffer
-  and/or add a variable to the list.
-
 ** Implement primitive and higher-level functions to allow filling
   properly with variable-pitch faces.
 
Index: etc/NEWS
===================================================================
RCS file: /sources/emacs/emacs/etc/NEWS,v
retrieving revision 1.2046
diff -c -r1.2046 NEWS
*** etc/NEWS	19 Jul 2009 00:29:52 -0000	1.2046
--- etc/NEWS	19 Jul 2009 18:05:32 -0000
***************
*** 58,63 ****
--- 58,72 ----
  `process-kill-buffer-query-function' from `kill-buffer-query-functions' or
  setting the appropriate process flag with `set-process-query-on-exit-flag'.
  
+ ** New command to add a file-local variable to the "Local Variables" list
+ in the current buffer is `add-file-local-variable'.  New command to remove
+ a file-local variable from the "Local Variables" list is
+ `delete-file-local-variable'.  New commands to add/remove
+ a directory-local variable to/from the .dir-locals.el file are
+ `add-dir-local-variable' and `delete-dir-local-variable'.  New commands to
+ copy file-local variables to directory-local variables and vice versa are
+ `copy-file-locals-to-dir-locals' and `copy-dir-locals-to-file-locals'.
+ 
  \f
  * Changes in Specialized Modes and Packages in Emacs 23.2
  
Index: lisp/files.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/files.el,v
retrieving revision 1.1059
diff -c -r1.1059 files.el
*** lisp/files.el	19 Jul 2009 16:55:16 -0000	1.1059
--- lisp/files.el	19 Jul 2009 18:04:44 -0000
***************
*** 3407,3412 ****
--- 3407,3699 ----
  	    (hack-local-variables-filter variables dir-name)))))))
  
  \f
+ ;;; Commands to add/delete file-local/directory-local variables.
+ 
+ (defun read-file-local-variable (prompt)
+   "Read file-local variable using PROMPT and completion.
+ 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)
+ 		       (symbol-name default)))
+     (setq variable
+ 	  (completing-read
+ 	   (if default
+ 	       (format "%s (default %s): " prompt default)
+ 	     (format "%s: " prompt))
+ 	   obarray
+ 	   (lambda (sym)
+ 	     (or (user-variable-p sym)
+ 		 (memq sym '(mode eval coding unibyte))))
+ 	   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)
+ 	       (and (string-match-p "-mode\\'" (symbol-name sym))
+ 		    (not (string-match-p "-minor-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)))
+       (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" (symbol-value variable))))))))
+ 
+ (defun read-file-local-variable-mode ()
+   "Read per-directory file-local variable's mode using completion.
+ Intended to be used in the `interactive' spec of
+ `add-dir-local-variable', `delete-dir-local-variable'."
+   (let* ((default (and (symbolp major-mode) (symbol-name major-mode)))
+ 	 (mode
+ 	  (completing-read
+ 	   (if default
+ 	       (format "Mode or subdirectory (default %s): " default)
+ 	     (format "Mode or subdirectory: "))
+ 	   obarray
+ 	   (lambda (sym)
+ 	     (and (string-match-p "-mode\\'" (symbol-name sym))
+ 		  (not (string-match-p "-minor-mode\\'" (symbol-name sym)))))
+ 	   nil nil nil default nil)))
+     (cond
+      ((equal mode "nil") nil)
+      ((and (stringp mode) (fboundp (intern mode))) (intern mode))
+      (t mode))))
+ 
+ (defun modify-file-local-variable (variable value op)
+   "Modify file-local VARIABLE in Local Variables depending on operation OP.
+ 
+ If OP is `add-or-replace' then delete all existing settings of
+ VARIABLE (except `eval') and add a new file-local VARIABLE with VALUE
+ to the Local Variables list.
+ 
+ If there is no Local Variables list in the current file buffer and OP
+ is not `delete' then this function adds the first line containing the
+ string `Local Variables:' and the last line containing the string `End:'.
+ 
+ If OP is `delete' then delete all existing settings of VARIABLE
+ from the Local Variables list ignoring the input argument VALUE."
+   (catch 'exit
+     (let ((startpos (point)) endpos replaced-p)
+       (unless enable-local-variables
+ 	(throw 'exit (message "File-local variables are disabled")))
+ 
+       ;; Look for "Local variables:" line in last page.
+       (goto-char (point-max))
+       (search-backward "\n\^L" (max (- (point-max) 3000) (point-min))
+ 		       'move)
+ 
+       ;; Add "Local variables:" list if not found.
+       (unless (let ((case-fold-search t))
+ 		(search-forward "Local Variables:" nil t))
+ 
+ 	;; Don't add "Local variables:" list for the deletion operation.
+ 	(when (eq op 'delete)
+ 	  (throw 'exit (progn (goto-char startpos)
+ 			      (message "Local Variables not found"))))
+ 
+ 	(goto-char (point-max))
+ 	(let ((comment-style 'plain)
+ 	      (comment-start (or comment-start ";;; ")))
+ 	  (comment-region
+ 	   (prog1 (setq startpos (point))
+ 	     (insert "\nLocal Variables:\nEnd:\n"))
+ 	   (point)))
+ 
+ 	(unless (let ((case-fold-search t))
+ 		  (goto-char startpos)
+ 		  (search-forward "Local Variables:" nil t))
+ 	  (throw 'exit (message "Can't add file-local variables"))))
+ 
+       ;; suffix is what comes after "local variables:" in its line.
+       ;; prefix is what comes before "local variables:" in its line.
+       (let* ((suffix (buffer-substring (point) (line-end-position)))
+ 	     (prefix (buffer-substring (line-beginning-position)
+ 				       (match-beginning 0)))
+ 	     (suffix-re (concat (regexp-quote suffix) "$"))
+ 	     (prefix-re (concat "^" (regexp-quote prefix))))
+ 
+ 	;; Find or add missing "End:".
+ 	(forward-line 1)
+ 	(setq startpos (point))
+ 	(save-excursion
+ 	  (unless (let ((case-fold-search t))
+ 		    (re-search-forward
+ 		     (concat prefix-re "[ \t]*End:[ \t]*" suffix-re)
+ 		     nil t))
+ 	    (save-excursion
+ 	      (insert (format "%sEnd:%s\n" prefix suffix))))
+ 	  (beginning-of-line)
+ 	  (setq endpos (point-marker)))
+ 
+ 	;; Find and delete all existing variable/value pairs.
+ 	(when (member op '(add-or-replace delete))
+ 	  (if (and (eq variable 'eval) (eq op 'add-or-replace))
+ 	      (goto-char endpos)
+ 	    (goto-char startpos)
+ 	    (while (re-search-forward
+ 		    (format "%s%S:.*%s" prefix-re variable suffix-re) endpos t)
+ 	      (delete-region (match-beginning 0) (1+ (match-end 0)))
+ 	      (setq replaced-p t))))
+ 
+ 	;; Add a new variable/value pair.  Add `mode' to the start, add new
+ 	;; variable to the end, and add a replaced variable to its last location.
+ 	(when (eq op 'add-or-replace)
+ 	  (cond
+ 	   ((eq variable 'mode) (goto-char startpos))
+ 	   ((null replaced-p) (goto-char endpos)))
+ 	  (insert (format "%s%S: %S%s\n" prefix variable value suffix)))))))
+ 
+ (defun add-file-local-variable (variable value)
+   "Add file-local VARIABLE with its VALUE to the Local Variables list.
+ 
+ This command deletes all existing settings of VARIABLE (except `eval')
+ and adds a new file-local VARIABLE with VALUE to the Local Variables list.
+ 
+ If there is no Local Variables list in the current file buffer
+ then this function adds the first line containing the string
+ `Local Variables:' and the last line containing the string `End:'."
+   (interactive
+    (let ((variable (read-file-local-variable "Add file-local variable")))
+      (list variable (read-file-local-variable-value variable))))
+   (modify-file-local-variable variable value 'add-or-replace))
+ 
+ (defun delete-file-local-variable (variable)
+   "Delete all settings of file-local VARIABLE from the Local Variables list."
+   (interactive
+    (list (read-file-local-variable "Delete file-local variable")))
+   (modify-file-local-variable variable nil 'delete))
+ 
+ (defun modify-dir-local-variable (mode variable value op)
+   "Modify directory-local VARIABLE in .dir-locals.el depending on operation OP.
+ 
+ If OP is `add-or-replace' then delete all existing settings of
+ VARIABLE (except `eval') and add a new directory-local VARIABLE with VALUE
+ to the MODE alist where MODE can be a mode name symbol or a subdirectory name.
+ 
+ If .dir-locals.el was not found and OP is not `delete' then create
+ this file in the current directory.
+ 
+ If OP is `delete' then delete all existing settings of VARIABLE
+ from the the MODE alist ignoring the input argument VALUE."
+   (catch 'exit
+     (let (replaced-p)
+       (unless enable-local-variables
+ 	(throw 'exit (message "Directory-local variables are disabled")))
+ 
+       (let ((variables-file (or (and (buffer-file-name)
+ 				     (not (file-remote-p (buffer-file-name)))
+ 				     (dir-locals-find-file (buffer-file-name)))
+ 				dir-locals-file))
+ 	    variables)
+ 
+ 	;; Don't create ".dir-locals.el" for the deletion operation.
+ 	(when (and (eq op 'delete)
+ 		   (not (file-exists-p variables-file)))
+ 	  (throw 'exit (message "File .dir-locals.el not found")))
+ 
+ 	(let ((auto-insert nil))
+ 	  (find-file variables-file))
+ 	(goto-char (point-min))
+ 
+ 	;; Read alist of directory-local variables.
+ 	(ignore-errors
+ 	  (delete-region
+ 	   (prog1 (point)
+ 	     (setq variables (let ((read-circle nil))
+ 			       (read (current-buffer)))))
+ 	   (point)))
+ 
+ 	;; Add or replace variable in alist of directory-local variables.
+ 	(let ((mode-assoc (assoc mode variables)))
+ 	  (if mode-assoc
+ 	      (setq variables
+ 		    (cons (cons mode
+ 				(if (eq op 'delete)
+ 				    (assq-delete-all variable (cdr mode-assoc))
+ 				  (cons
+ 				   (cons variable value)
+ 				   (if (eq variable 'eval)
+ 				       (cdr mode-assoc)
+ 				     (assq-delete-all variable (cdr mode-assoc))))))
+ 			  (assq-delete-all mode variables)))
+ 	    (setq variables
+ 		  (cons `(,mode . ((,variable . ,value)))
+ 			variables))))
+ 
+ 	;; Insert modified alist of directory-local variables.
+ 	(insert ";;; Directory Local Variables\n")
+ 	(insert ";;; See (info \"(emacs) Directory Variables\")\n\n")
+ 	(pp (sort variables
+ 		  (lambda (a b)
+ 		    (cond
+ 		     ((null (car a)) t)
+ 		     ((null (car b)) nil)
+ 		     ((and (symbolp (car a)) (stringp (car b))) t)
+ 		     ((and (symbolp (car b)) (stringp (car a))) nil)
+ 		     (t (string< (car a) (car b))))))
+ 	    (current-buffer))))))
+ 
+ (defun add-dir-local-variable (mode variable value)
+   "Add directory-local VARIABLE with its VALUE and MODE to .dir-locals.el."
+   (interactive
+    (let (variable)
+      (list
+       (read-file-local-variable-mode)
+       (setq variable (read-file-local-variable "Add directory-local variable"))
+       (read-file-local-variable-value variable))))
+   (modify-dir-local-variable mode variable value 'add-or-replace))
+ 
+ (defun delete-dir-local-variable (mode variable)
+   "Delete all MODE settings of file-local VARIABLE from .dir-locals.el."
+   (interactive
+    (list
+     (read-file-local-variable-mode)
+     (read-file-local-variable "Delete directory-local variable")))
+   (modify-dir-local-variable mode variable nil 'delete))
+ 
+ (defun copy-file-locals-to-dir-locals ()
+   "Copy file-local variables to .dir-locals.el."
+   (interactive)
+   (dolist (elt file-local-variables-alist)
+     (unless (assq (car elt) dir-local-variables-alist)
+       (add-dir-local-variable major-mode (car elt) (cdr elt)))))
+ 
+ (defun copy-dir-locals-to-file-locals ()
+   "Copy directory-local variables to the Local Variables list."
+   (interactive)
+   (dolist (elt dir-local-variables-alist)
+     (add-file-local-variable (car elt) (cdr elt))))
+ 
+ \f
  (defcustom change-major-mode-with-file-name t
    "Non-nil means \\[write-file] should set the major mode from the file name.
  However, the mode will not be changed if

-- 
Juri Linkov
http://www.jurta.org/emacs/




  reply	other threads:[~2009-07-19 18:12 UTC|newest]

Thread overview: 288+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-12 14:41 Blunderbuss ".dir-locals.el" raises everything in its path!! Alan Mackenzie
2009-07-12 16:39 ` Chong Yidong
2009-07-12 18:06   ` Alan Mackenzie
2009-07-12 18:30     ` David De La Harpe Golden
2009-07-12 21:39       ` Alan Mackenzie
2009-07-12 22:22         ` Lennart Borgman
2009-07-13  7:36           ` Alan Mackenzie
2009-07-13  7:50             ` Lennart Borgman
2009-07-17  0:18       ` Add file-locals and dir-locals (was: Blunderbuss ".dir-locals.el" raises everything in its path!!) Juri Linkov
2009-07-17  7:57         ` Add file-locals and dir-locals martin rudalics
2009-07-17  9:43           ` Juri Linkov
2009-07-18 13:48             ` martin rudalics
2009-07-18 21:54               ` Juri Linkov
2009-07-19 10:38                 ` martin rudalics
2009-07-19 18:12                   ` Juri Linkov [this message]
2009-07-20 12:30                     ` Leo
2009-07-22  0:21                       ` Juri Linkov
2009-07-22  3:49                         ` Leo
2009-08-04 23:59                           ` Juri Linkov
2009-08-05  1:57                             ` Leo
2009-08-05 21:52                               ` Juri Linkov
2009-08-05 23:14                                 ` Leo
2009-08-06 20:36                                   ` Juri Linkov
2009-08-07  1:18                                     ` Leo
2009-08-08  8:18                             ` Dan Nicolaescu
2009-08-08 11:28                               ` Juri Linkov
2009-08-08 19:31                                 ` Stefan Monnier
2009-08-08 20:43                                   ` Juri Linkov
2009-08-08 21:26                                     ` Leo
2009-08-08 21:45                                       ` Juri Linkov
2009-08-08 21:58                                         ` Drew Adams
2009-08-09  3:15                                           ` Eli Zaretskii
2009-08-09  8:29                                             ` Stephen J. Turnbull
2009-08-09  1:21                                     ` Stefan Monnier
2009-07-17 15:48         ` David Kastrup
2009-07-17 23:06           ` Juri Linkov
2009-07-12 18:37     ` Blunderbuss ".dir-locals.el" raises everything in its path!! Chong Yidong
2009-07-12 21:21       ` Alan Mackenzie
2009-07-12 21:33         ` Lennart Borgman
2009-07-12 21:45           ` Alan Mackenzie
2009-07-12 21:48             ` Lennart Borgman
2009-07-13  3:23               ` Stephen J. Turnbull
2009-07-13  3:51                 ` Lennart Borgman
2009-07-13  5:07             ` tomas
2009-07-13  3:23         ` Giorgos Keramidas
2009-07-13  7:16           ` Alan Mackenzie
2009-07-13  4:24         ` Chong Yidong
2009-07-13  4:37           ` Miles Bader
2009-07-13  6:22             ` Stephen J. Turnbull
2009-07-13  8:19               ` Alan Mackenzie
2009-07-13  8:45                 ` Miles Bader
2009-07-13 13:13                   ` Chong Yidong
2009-07-13 15:05                     ` Miles Bader
2009-07-13  9:18                 ` Ken Raeburn
2009-07-13 10:47                   ` Jason Rumney
2009-07-13 11:42                 ` Stephen J. Turnbull
2009-07-13 15:11                   ` Lennart Borgman
2009-07-13  8:25             ` Alan Mackenzie
2009-07-13  8:48               ` Miles Bader
2009-07-13  9:25                 ` Chad Brown
2009-07-13 20:03                   ` Juri Linkov
2009-07-13 21:15                     ` Lennart Borgman
2009-07-14  0:44                     ` Stefan Monnier
2009-07-16  0:30                       ` Juri Linkov
2009-07-16 13:53                         ` Stefan Monnier
2009-07-16 20:48                           ` Juri Linkov
2009-07-16 21:11                             ` Lennart Borgman
2009-07-17  3:01                             ` Stefan Monnier
2009-07-17  9:42                               ` Juri Linkov
2009-07-18 21:55                                 ` Juri Linkov
2009-07-13  9:26               ` Ken Raeburn
2009-07-13  2:08       ` Dan Nicolaescu
2009-07-13  5:09       ` Jason Rumney
2009-07-13  8:41         ` Alan Mackenzie
2009-07-14 16:22         ` Alan Mackenzie
2009-07-14 18:26           ` Stefan Monnier
2009-07-14 20:11           ` Patch: " Alan Mackenzie
2009-07-15  7:55             ` Jan Djärv
2009-07-15 19:00               ` Alan Mackenzie
2009-07-15 20:20                 ` Stefan Monnier
2009-07-15 20:49                 ` Chong Yidong
2009-07-18 12:51               ` Alan Mackenzie
2009-07-20  9:40                 ` Jan Djärv
2009-07-20 19:43                   ` Alan Mackenzie
2009-07-20 21:20                     ` Jan Djärv
2009-07-14  0:32       ` Stefan Monnier
2009-07-14  6:04         ` Stephen J. Turnbull
2009-07-14  6:58         ` Jan Djärv
2009-07-14 14:05           ` Davis Herring
2009-07-14 15:13             ` Alan Mackenzie
2009-07-14 15:45               ` Davis Herring
2009-07-14 19:47                 ` Miles Bader
2009-07-16  0:31                 ` Juri Linkov
2009-07-16 16:43                   ` Drew Adams
2009-07-16 18:38                     ` Stefan Monnier
2009-07-16 18:47                       ` Lennart Borgman
2009-07-16 20:59                         ` Juri Linkov
2009-07-16 21:19                           ` Drew Adams
2009-07-16 21:29                             ` Lennart Borgman
2009-07-16 22:00                               ` Drew Adams
2009-07-16 20:09                       ` Infrastructural complexity. [Was: Blunderbuss ".dir-locals.el" raises everything in its path!!] Alan Mackenzie
2009-07-16 20:36                         ` Lennart Borgman
2009-07-16 20:57                         ` Infrastructural complexity Juri Linkov
2009-07-16 21:28                           ` Chong Yidong
2009-07-16 21:33                             ` Lennart Borgman
2009-07-16 22:00                               ` Drew Adams
2009-07-16 22:14                                 ` Lennart Borgman
2009-07-16 22:25                                   ` Drew Adams
2009-07-16 22:30                                     ` Lennart Borgman
2009-07-16 22:38                                       ` Drew Adams
2009-07-16 22:43                                         ` Lennart Borgman
2009-07-16 22:49                                   ` Thomas Lord
2009-07-16 22:54                                     ` Lennart Borgman
2009-07-16 23:44                                       ` Thomas Lord
2009-07-17  0:30                                         ` Lennart Borgman
2009-07-17  1:18                                           ` Thomas Lord
2009-07-17  1:29                                             ` Lennart Borgman
2009-07-17  2:21                                               ` Thomas Lord
2009-07-17  2:24                                                 ` Lennart Borgman
2009-07-17  2:44                                                   ` Thomas Lord
2009-07-17  2:47                                                     ` Lennart Borgman
2009-07-17 17:41                                                       ` joakim
2009-07-17 18:46                                                         ` Chong Yidong
2009-07-17 20:13                                                           ` joakim
2009-07-17 23:02                                                           ` Thomas Lord
2009-07-17 23:49                                                             ` Chong Yidong
2009-07-18  0:29                                                               ` joakim
2009-07-20  2:38                                                               ` Thomas Lord
2009-07-20  4:59                                                                 ` Miles Bader
2009-07-20  7:31                                                                   ` Thomas Lord
2009-07-18  0:05                                                             ` joakim
2009-07-18  0:21                                                               ` Lennart Borgman
2009-07-18  0:36                                                                 ` Leo
2009-07-18 22:06                                                                   ` Juri Linkov
2009-07-19 13:21                                                                     ` Leo
2009-07-19 15:10                                                                       ` Miles Bader
2009-07-19 20:05                                                                       ` Thomas Lord
2009-07-18  8:18                                                                 ` joakim
2009-07-18 17:11                                                               ` Richard Stallman
2009-07-18 22:05                                                                 ` Juri Linkov
2009-07-19  0:07                                                                   ` Lennart Borgman
2009-07-19 18:23                                                                     ` Juri Linkov
2009-07-19 20:18                                                                       ` Thomas Lord
2009-07-19 20:57                                                                         ` Juri Linkov
2009-07-19 22:27                                                                           ` Thomas Lord
2009-07-20  0:00                                                                             ` Drew Adams
2009-07-19 21:56                                                                         ` Mathias Dahl
2009-07-19 22:21                                                                           ` Thomas Lord
2009-07-19 23:54                                                                             ` Drew Adams
2009-07-20  0:18                                                                               ` Thomas Lord
2009-07-19 23:58                                                                             ` Lennart Borgman
2009-07-20  0:50                                                                               ` Thomas Lord
2009-07-19 23:34                                                                           ` Drew Adams
2009-07-19 21:34                                                                       ` Lennart Borgman
2009-07-19  4:37                                                                   ` Richard Stallman
2009-07-19  1:14                                                                 ` Thomas Lord
2009-07-19  1:48                                                                   ` Lennart Borgman
2009-07-19  4:01                                                                     ` Thomas Lord
2009-07-20  5:45                                                                       ` 16 (Re: Infrastructural complexity.) Thomas Lord
2009-07-20  6:23                                                                         ` Thomas Lord
2009-07-20  9:09                                                                           ` Thomas Lord
2009-07-20  6:47                                                                         ` Lennart Borgman
2009-07-20  7:28                                                                           ` Thomas Lord
2009-07-20  7:34                                                                             ` Lennart Borgman
2009-07-20  7:38                                                                               ` Thomas Lord
2009-07-19 10:38                                                                   ` Infrastructural complexity martin rudalics
2009-07-19 11:12                                                                     ` joakim
2009-07-19 15:08                                                                     ` Miles Bader
2009-07-20  9:32                                                                       ` martin rudalics
2009-07-20 14:18                                                                         ` Miles Bader
2009-07-20 15:32                                                                           ` martin rudalics
2009-07-20 16:00                                                                             ` Chong Yidong
2009-07-20 16:30                                                                             ` Miles Bader
2009-07-20 19:02                                                                               ` martin rudalics
2009-07-20 22:08                                                                                 ` Miles Bader
2009-07-20 22:45                                                                                   ` Lennart Borgman
2009-07-20 23:00                                                                                   ` Thomas Lord
2009-07-21  9:39                                                                                   ` martin rudalics
2009-07-21 10:28                                                                                     ` Miles Bader
2009-07-21 13:26                                                                                       ` martin rudalics
2009-07-21 16:13                                                                                         ` Stefan Monnier
2009-07-21 17:17                                                                                           ` Thomas Lord
2009-07-21 17:25                                                                                           ` martin rudalics
2009-07-22 14:34                                                                                             ` Stefan Monnier
2009-07-22 14:59                                                                                               ` martin rudalics
2009-07-22 18:25                                                                                                 ` Stefan Monnier
2009-07-23  9:26                                                                                                   ` martin rudalics
2009-07-23 15:12                                                                                                     ` Stefan Monnier
2009-07-23 15:24                                                                                                       ` Lennart Borgman
2009-07-23 17:40                                                                                                       ` martin rudalics
2009-07-23 18:56                                                                                                         ` Thomas Lord
2009-07-23 19:13                                                                                                           ` joakim
2009-07-23 20:49                                                                                                         ` Stefan Monnier
2009-07-24  8:29                                                                                                           ` martin rudalics
2009-07-25  4:55                                                                                                             ` Richard Stallman
2009-07-25  8:54                                                                                                               ` martin rudalics
2009-07-25 14:48                                                                                                                 ` Stefan Monnier
2009-07-25 17:11                                                                                                                   ` martin rudalics
2009-07-26 14:15                                                                                                                     ` Stefan Monnier
2009-07-26 15:13                                                                                                                       ` martin rudalics
2009-07-21 17:06                                                                                       ` Thomas Lord
2009-07-22 10:12                                                                                         ` martin rudalics
2009-07-22 15:32                                                                                           ` Thomas Lord
2009-07-22 17:07                                                                                             ` Mathias Dahl
2009-07-21 16:59                                                                                     ` Thomas Lord
2009-07-21 17:25                                                                                       ` martin rudalics
2009-07-21 18:15                                                                                         ` Thomas Lord
2009-07-22 10:12                                                                                           ` martin rudalics
2009-07-22 16:28                                                                                             ` Thomas Lord
2009-07-22 18:23                                                                                               ` martin rudalics
2009-07-22 19:04                                                                                                 ` Thomas Lord
2009-07-23  9:24                                                                                                   ` martin rudalics
2009-07-23 18:51                                                                                                     ` Thomas Lord
2009-07-23 19:17                                                                                                       ` joakim
2009-07-23 19:49                                                                                                         ` Lennart Borgman
2009-07-23 20:35                                                                                                           ` joakim
2009-07-24  1:08                                                                                                             ` Stefan Monnier
2009-07-24  1:20                                                                                                               ` Thomas Lord
2009-07-24  8:28                                                                                                           ` martin rudalics
2009-07-24 11:21                                                                                                             ` Lennart Borgman
2009-07-24 12:10                                                                                                               ` martin rudalics
2009-07-24 14:20                                                                                                                 ` Lennart Borgman
2009-07-24 14:55                                                                                                                   ` AW: " klaus.berndl
2009-07-24 16:09                                                                                                                     ` martin rudalics
2009-07-24 18:37                                                                                                                     ` Thomas Lord
2009-07-25  4:16                                                                                                                       ` AW: " klaus.berndl
2009-07-25  8:06                                                                                                                         ` Miles Bader
2009-07-25 21:13                                                                                                                           ` Thomas Lord
2009-07-24 16:08                                                                                                                   ` martin rudalics
2009-07-24 16:16                                                                                                                     ` Lennart Borgman
2009-07-24 17:13                                                                                                                       ` martin rudalics
2009-07-25  1:27                                                                                                                         ` Lennart Borgman
2009-07-25  8:53                                                                                                                           ` martin rudalics
2009-07-24  8:28                                                                                                       ` martin rudalics
2009-07-24 18:31                                                                                                         ` Thomas Lord
2009-07-25  8:52                                                                                                           ` martin rudalics
2009-07-25 14:50                                                                                                             ` Stefan Monnier
2009-07-25 17:12                                                                                                               ` martin rudalics
2009-07-26 14:19                                                                                                                 ` Stefan Monnier
2009-07-26 15:14                                                                                                                   ` martin rudalics
2009-07-26 17:18                                                                                                                     ` Thomas Lord
2009-07-26 17:45                                                                                                                       ` martin rudalics
2009-07-26 18:34                                                                                                                         ` Thomas Lord
2009-07-27  6:40                                                                                                                           ` martin rudalics
     [not found]                                                                                                                             ` <1248710762.6165.28.camel@dell-desktop.example.co! ! m>
2009-07-27 16:06                                                                                                                             ` Thomas Lord
2009-07-27 16:53                                                                                                                               ` martin rudalics
2009-07-27 17:40                                                                                                                                 ` Drew Adams
     [not found]                                                                                                                                   ` <4A6DEC6! 4.10001@gmx.at>
     [not found]                                                                                                                                     ` <D86752FEC8404739B257327FE0FE8FE6@us.orac! ! le.com>
     [not found]                                                                                                                                   ` <4A6DEC6!4.10001@gmx.at>
2009-07-27 18:05                                                                                                                                   ` martin rudalics
2009-07-27 18:40                                                                                                                                     ` Drew Adams
2009-07-28  7:39                                                                                                                                       ` martin rudalics
2009-07-28 15:21                                                                                                                                         ` Drew Adams
2009-07-29  9:06                                                                                                                                           ` martin rudalics
2009-07-27 18:05                                                                                                                                 ` Thomas Lord
2009-07-28  7:38                                                                                                                                   ` martin rudalics
2009-07-28 15:18                                                                                                                                     ` Thomas Lord
2009-07-29  9:06                                                                                                                                       ` martin rudalics
2009-07-29 19:22                                                                                                                                         ` Thomas Lord
2009-07-30  9:07                                                                                                                                           ` martin rudalics
2009-07-30 17:01                                                                                                                                             ` Thomas Lord
2009-07-31  9:08                                                                                                                                               ` martin rudalics
2009-07-31 16:19                                                                                                                                                 ` Thomas Lord
2009-07-31 16:58                                                                                                                                                   ` martin rudalics
2009-07-31 17:53                                                                                                                                                     ` Thomas Lord
2009-07-22 19:05                                                                                                 ` Thomas Lord
2009-07-23  9:24                                                                                                   ` martin rudalics
2009-07-18 13:49                                                           ` martin rudalics
2009-07-16 21:48                             ` Juri Linkov
2009-07-18 13:48                               ` martin rudalics
2009-07-18 21:57                                 ` Juri Linkov
2009-07-19  0:09                                   ` Lennart Borgman
2009-07-19  5:00                                   ` Stefan Monnier
2009-07-19 10:38                                   ` martin rudalics
2009-07-19 13:06                                     ` Lennart Borgman
2009-07-19 18:31                                     ` Juri Linkov
2009-07-19 21:36                                       ` Lennart Borgman
2009-07-19 23:11                                         ` Juri Linkov
2009-07-19 23:52                                           ` Lennart Borgman
2009-07-20  9:32                                           ` martin rudalics
2009-07-20 14:22                                             ` Lennart Borgman
2009-07-20 18:29                                               ` Stefan Monnier
2009-07-19 23:14                                       ` Juri Linkov
2009-07-20  9:33                                       ` martin rudalics
2009-07-22  0:38                                         ` Juri Linkov
2009-07-22  2:24                                           ` Lennart Borgman
2009-07-22 10:12                                           ` martin rudalics
2009-07-22 14:36                                             ` Stefan Monnier
2009-07-14 18:21           ` Blunderbuss ".dir-locals.el" raises everything in its path!! Stefan Monnier
2009-07-13  0:02     ` Miles Bader

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87tz187dac.fsf@mail.jurta.org \
    --to=juri@jurta.org \
    --cc=emacs-devel@gnu.org \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.