]> code.delx.au - gnu-emacs/blobdiff - lisp/simple.el
Remove redundant forms from CC Mode for faster fontification
[gnu-emacs] / lisp / simple.el
index 3d25ec19ab26e616af67280f2690d2ed14168047..bc3e7b83b8d8b2e8a3fd4debc63d150340894562 100644 (file)
@@ -2848,18 +2848,6 @@ buffers that were changed during the last command.")
 
 If set to non-nil, this will effectively disable the timer.")
 
-(defvar-local undo-auto-disable-boundaries nil
-  "Disable the automatic addition of boundaries.
-
-If set to non-nil, `undo-boundary' will not be called
-automatically in a buffer either at the end of a command, or as a
-result of `undo-auto-current-boundary-timer'.
-
-When this is set to non-nil, it is important to ensure that
-`undo-boundary' is called frequently enough. Failure to do so
-will result in user-visible warnings that the situation is
-probably a bug.")
-
 (defvar undo-auto--this-command-amalgamating nil
   "Non-nil if `this-command' should be amalgamated.
 This variable is set to nil by `undo-auto--boundaries' and is set
@@ -2896,11 +2884,14 @@ REASON describes the reason that the boundary is being added; see
   "Check recently changed buffers and add a boundary if necessary.
 REASON describes the reason that the boundary is being added; see
 `undo-last-boundary' for more information."
+  ;; (Bug #23785) All commands should ensure that there is an undo
+  ;; boundary whether they have changed the current buffer or not.
+  (when (eq cause 'command)
+    (add-to-list 'undo-auto--undoably-changed-buffers (current-buffer)))
   (dolist (b undo-auto--undoably-changed-buffers)
           (when (buffer-live-p b)
             (with-current-buffer b
-              (unless undo-auto-disable-boundaries
-                (undo-auto--ensure-boundary cause)))))
+              (undo-auto--ensure-boundary cause))))
   (setq undo-auto--undoably-changed-buffers nil))
 
 (defun undo-auto--boundary-timer ()
@@ -2919,18 +2910,16 @@ REASON describes the reason that the boundary is being added; see
 
 This list is maintained by `undo-auto--undoable-change' and
 `undo-auto--boundaries' and can be affected by changes to their
-default values.
-
-See also `undo-auto--buffer-undoably-changed'.")
+default values.")
 
 (defun undo-auto--add-boundary ()
   "Add an `undo-boundary' in appropriate buffers."
   (undo-auto--boundaries
    (let ((amal undo-auto--this-command-amalgamating))
-     (setq undo-auto--this-command-amalgamating nil)
-     (if amal
-         'amalgamate
-       'command))))
+       (setq undo-auto--this-command-amalgamating nil)
+       (if amal
+           'amalgamate
+         'command))))
 
 (defun undo-auto-amalgamate ()
   "Amalgamate undo if necessary.
@@ -3765,6 +3754,7 @@ support pty association, if PROGRAM is nil."
 (define-derived-mode process-menu-mode tabulated-list-mode "Process Menu"
   "Major mode for listing the processes called by Emacs."
   (setq tabulated-list-format [("Process" 15 t)
+                              ("PID"      7 t)
                               ("Status"   7 t)
                               ("Buffer"  15 t)
                               ("TTY"     12 t)
@@ -3796,6 +3786,7 @@ Also, delete any process that is exited or signaled."
               (process-query-on-exit-flag p))
           (let* ((buf (process-buffer p))
                  (type (process-type p))
+                 (pid  (if (process-id p) (format "%d" (process-id p)) "--"))
                  (name (process-name p))
                  (status (symbol-name (process-status p)))
                  (buf-label (if (buffer-live-p buf)
@@ -3831,7 +3822,7 @@ Also, delete any process that is exited or signaled."
                                         (format " at %s b/s" speed)
                                       "")))))
                     (mapconcat 'identity (process-command p) " "))))
-            (push (list p (vector name status buf-label tty cmd))
+            (push (list p (vector name pid status buf-label tty cmd))
                   tabulated-list-entries))))))
 
 (defun process-menu-visit-buffer (button)