* Re: 23.0.50; newsticker buffer doesn't refresh
2007-11-18 22:46 ` Richard Stallman
2007-11-18 23:00 ` David O'Toole
@ 2007-11-20 9:25 ` Toby Allsopp
2007-11-21 6:47 ` Toby Allsopp
2007-11-21 12:05 ` Richard Stallman
1 sibling, 2 replies; 8+ messages in thread
From: Toby Allsopp @ 2007-11-20 9:25 UTC (permalink / raw)
To: rms; +Cc: emacs-pretest-bug, rfrancoise, David O'Toole
[-- Attachment #1: Type: text/plain, Size: 1924 bytes --]
Richard Stallman <rms@gnu.org> writes:
> In the *newsticker* buffer that is now current, movement commands such as
> n or <down> appear to have no effect, but the effect becomes apparent
> following a C-l. Alos, the scroll bar is not rendered properly.
>
> I suspect that this is all caused by a single display bug.
> Can you help determine which change caused the bug to appear?
>
> This is the sort of thing on which various people can work in parallel.
>
> A binary search thru the versions since the last one known not
> to have this bug would do the job.
I have narrowed down the responsible change to between 2007-08-31 and
2007-09-01.
From src/ChangeLog:
--8<---------------cut here---------------start------------->8---
2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
* gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
* frame.h:
* frame.c (Qterm_environment_variable): Remove.
(syms_of_frame): Don't init and staticpro it.
* callproc.c (getenv_internal): Remove special case for $TERM.
* callproc.c (Vinitial_environment): New variable.
(set_initial_environment): Initialize it.
(syms_of_callproc): Declare it.
(child_setup): Don't mess with TERM via Qterm_environment_variable; the
TERM under which a process runs is never related to the TERM in which
Emacs is running.
--8<---------------cut here---------------end--------------->8---
I compiled a failing version using --with-x-toolkit=no and this resolved
the problem, so I suspect the gtkutil.c change.
I have attached the output of cvs diff -D 2007-08-31 -D 2007-09-01.
Hopefully this will help to identify what the problem is.
Oh, I should mention that I also tried HEAD again and the problem still
exists.
Regards,
Toby.
[-- Attachment #2: 2007-08-31--2007-09-01.diff --]
[-- Type: text/x-diff, Size: 29669 bytes --]
Index: etc/NEWS
===================================================================
RCS file: /sources/emacs/emacs/etc/NEWS,v
retrieving revision 1.1545
retrieving revision 1.1550
diff -u -r1.1545 -r1.1550
--- etc/NEWS 30 Aug 2007 05:09:07 -0000 1.1545
+++ etc/NEWS 31 Aug 2007 08:11:26 -0000 1.1550
@@ -191,6 +191,8 @@
and C-x C-q in wdired-mode exits it with asking a question about
saving changes.
+*** The new command `eshell/info' runs info in an eshell buffer.
+
\f
* Changes in Emacs 23.1 on non-free operating systems
@@ -212,6 +214,9 @@
** Changes related to multiple tty support.
+*** $TERM is now set to `dumb' for subprocesses. If you want to know the
+$TERM inherited by Emacs you will have to look inside initial-environment.
+
*** The `window-system' variable has been made frame-local. The new
`initial-window-system' variable contains the `window-system' value
for the first frame.
@@ -225,15 +230,23 @@
*** The function `make-frame-on-display' now works during a tty
session, and `make-frame-on-tty' works during a graphical session.
-*** New functions: frame-tty-name, frame-tty-type, delete-tty,
-suspend-tty, resume-tty, terminal-id, terminal-parameters,
-terminal-parameter, set-terminal-parameter,
-modify-terminal-parameters, environment, let-environment
+*** New functions: `delete-tty', `suspend-tty', `resume-tty'.
+
+*** New functions: `terminal-id', `terminal-parameters',
+`terminal-parameter', `set-terminal-parameter',
+`modify-terminal-parameters'.
+
+*** New functions: `environment', `let-environment'.
+
+*** New variables: `local-key-translation-map', `local-function-key-map'.
+These are in addition to the global key-translation-map and
+function-key-map variables that already existed.
+
+??? How do the new variables relate to the old ones?
-*** New variables: local-key-translation-map, local-function-key-map
+*** `initial-environment' holds the environment inherited from Emacs's parent.
-*** New frame parameters display-environment-variable and
-term-environment-variable.
+*** New frame parameter `display-environment-variable'.
*** The `keyboard-translate-table' variable and the terminal and
keyboard coding systems have been made terminal-local.
Index: lisp/ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.11658
retrieving revision 1.11666
diff -u -r1.11658 -r1.11666
--- lisp/ChangeLog 30 Aug 2007 09:48:05 -0000 1.11658
+++ lisp/ChangeLog 31 Aug 2007 10:13:35 -0000 1.11666
@@ -1,3 +1,41 @@
+2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
+
+ * term/x-win.el (x-gtk-stock-map): Add etc/images to keys.
+ (x-gtk-map-stock): Use two directory elements when matching
+ file name.
+
+2007-08-31 James Wright <james@chumsley.org>
+
+ * eshell/em-unix.el (eshell/info): New function.
+
+2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * frame.el (frame-initialize, make-frame):
+ * server.el (server-process-filter):
+ * faces.el (tty-set-up-initial-frame-faces): Don't set
+ term-environment-variable since it's not used any more.
+
+ * env.el (setenv): Don't treat $TERM specially.
+
+ * startup.el (normal-top-level): Set $TERM to `dumb' so that unless
+ stated otherwise, subprocesses do not send back escape sequences
+ corresponding to the terminal from which Emacs was started.
+
+2007-08-31 Thien-Thi Nguyen <ttn@gnuvola.org>
+
+ * calculator.el: Require cl for compilation.
+
+2007-08-30 Daniel Pfeiffer <occitan@esperanto.org>
+
+ * outline.el (outline-font-lock-levels): Comment out unused var.
+ (outline-font-lock-face): Wrap around face list to handle any
+ nesting depth gracefully.
+
+2007-08-30 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/ange-ftp.el: Add ange-ftp property to 'set-file-modes and
+ 'set-file-times.
+
2007-08-30 Carsten Dominik <dominik@science.uva.nl>
* textmodes/org.el (org-export-visible): Fix drawers before export.
@@ -14,8 +52,8 @@
(org-cycle): Docstring updated.
(org-todo-keyword-faces): New option.
(org-get-todo-face): New function.
- (org-set-font-lock-defaults, org-agenda-highlight-todo): Use
- `org-get-todo-face'.
+ (org-set-font-lock-defaults, org-agenda-highlight-todo):
+ Use `org-get-todo-face'.
(org-switch-to-buffer-other-window): New function.
(org-table-edit-field, org-table-show-reference)
(org-table-edit-formulas, org-add-log-note)
@@ -24,10 +62,10 @@
`switch-to-buffer-other-window' to make sure that the temporary
windows show up on the current frame.
(org-mhe-get-message-real-folder, org-batch-store-agenda-views)
- (org-get-entries-from-diary, org-replace-region-by-html): Don't
- allow pop-up frames.
- (org-agenda-get-deadlines, org-agenda-get-scheduled): Fixed
- problems with time-of-day.
+ (org-get-entries-from-diary, org-replace-region-by-html):
+ Don't allow pop-up frames.
+ (org-agenda-get-deadlines, org-agenda-get-scheduled):
+ Fix problems with time-of-day.
(org-export-get-title-from-subtree): New function.
(org-agenda-get-scheduled, org-agenda-get-deadlines): Fix problems
with listing items that are DONE.
@@ -37,15 +75,17 @@
(org-mode): Hide drawers on startup.
(org-get-todo-face): New function.
(org-todo-keyword-faces): New option.
+ (org-set-regexps-and-options): Use `org-remove-keyword-keys'.
+ (org-remove-keyword-keys): New function.
2007-08-30 Jari Aalto <jari.aalto@cante.net> (tiny change)
- * progmodes/grep.el (grep-find-ignored-directories): Add
- monotone _MTN bookkeeping directory in workspaces. Add
- RCS control directory. List items in alphabetical order.
+ * progmodes/grep.el (grep-find-ignored-directories):
+ Add monotone _MTN bookkeeping directory in workspaces.
+ Add RCS control directory. List items in alphabetical order.
* progmodes/grep.el (grep-files-aliases): Add cc alias.
- Sort items in alphabetical order. Fix parens.
+ Sort items in alphabetical order. Fix parens.
2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
@@ -2900,7 +2940,7 @@
* net/tramp-util.el:
* net/tramp-vc.el: Removed.
- * net/ange-ftp.el: Add ange-ftp property to 'start-file-process
+ * net/ange-ftp.el: Add ange-ftp property to 'start-file-process.
(ange-ftp-file-remote-p): Handle optional parameter CONNECTED.
* net/rcompile.el (remote-compile): Handle Tramp 2.1 arguments.
Index: lisp/calculator.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/calculator.el,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- lisp/calculator.el 26 Jul 2007 05:26:18 -0000 1.29
+++ lisp/calculator.el 31 Aug 2007 01:55:09 -0000 1.30
@@ -5,7 +5,7 @@
;; Author: Eli Barzilay <eli@barzilay.org>
;; Keywords: tools, convenience
-;; Time-stamp: <2006-02-06 13:36:00 ttn>
+;; Time-stamp: <2007-08-31 03:00:11 ttn>
;; This file is part of GNU Emacs.
@@ -47,6 +47,7 @@
;;; History:
;; I hate history.
+(eval-when-compile (require 'cl))
(eval-and-compile
(if (fboundp 'defgroup) nil
(defmacro defgroup (&rest forms) nil)
Index: lisp/env.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/env.el,v
retrieving revision 1.40
retrieving revision 1.42
diff -u -r1.40 -r1.42
--- lisp/env.el 29 Aug 2007 05:28:04 -0000 1.40
+++ lisp/env.el 31 Aug 2007 07:35:59 -0000 1.42
@@ -192,12 +192,10 @@
(setq process-environment (setenv-internal process-environment
variable value t))
(setq frame (frame-with-environment frame))
- (cond
- ((string-equal "TERM" variable)
- (set-frame-parameter frame 'term-environment-variable value))
+ (cond
((string-equal "DISPLAY" variable)
(set-frame-parameter frame 'display-environment-variable value))
- (t
+ (t
(setq process-environment (setenv-internal process-environment
variable value nil)))))
value)
@@ -316,5 +314,5 @@
(provide 'env)
-;;; arch-tag: b7d6a8f7-bc81-46db-8e39-8d721d4ed0b8
+;; arch-tag: b7d6a8f7-bc81-46db-8e39-8d721d4ed0b8
;;; env.el ends here
Index: lisp/faces.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/faces.el,v
retrieving revision 1.374
retrieving revision 1.375
diff -u -r1.374 -r1.375
--- lisp/faces.el 29 Aug 2007 05:28:06 -0000 1.374
+++ lisp/faces.el 31 Aug 2007 07:36:48 -0000 1.375
@@ -1933,8 +1933,6 @@
(let ((frame (selected-frame)))
(frame-set-background-mode frame)
(face-set-after-frame-default frame)
- (set-frame-parameter frame-initial-frame 'term-environment-variable
- (getenv "TERM"))
(set-frame-parameter frame-initial-frame 'display-environment-variable
(getenv "DISPLAY"))))
Index: lisp/frame.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/frame.el,v
retrieving revision 1.247
retrieving revision 1.248
diff -u -r1.247 -r1.248
--- lisp/frame.el 29 Aug 2007 05:28:04 -0000 1.247
+++ lisp/frame.el 31 Aug 2007 07:38:22 -0000 1.248
@@ -241,8 +241,6 @@
;; Copy the environment of the Emacs process into the new frame.
(set-frame-parameter frame-initial-frame 'environment
(frame-parameter terminal-frame 'environment))
- (set-frame-parameter frame-initial-frame 'term-environment-variable
- (getenv "TERM"))
(set-frame-parameter frame-initial-frame 'display-environment-variable
(getenv "DISPLAY"))
;; At this point, we know that we have a frame open, so we
@@ -731,14 +729,11 @@
;; Inherit the 'environment and 'client parameters.
(let ((env (frame-parameter oldframe 'environment))
(client (frame-parameter oldframe 'client))
- (termenv (frame-parameter oldframe 'term-environment-variable))
(displayenv (frame-parameter oldframe 'display-environment-variable)))
(if (not (framep env))
(setq env oldframe))
(if (and env (not (assq 'environment parameters)))
(set-frame-parameter frame 'environment env))
- (if (and termenv (not (assq 'term-environment-variable parameters)))
- (set-frame-parameter frame 'term-environment-variable termenv))
(if (and displayenv (not (assq 'display-environment-variable parameters)))
(set-frame-parameter frame 'display-environment-variable displayenv))
(if (and client (not (assq 'client parameters)))
Index: lisp/outline.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/outline.el,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- lisp/outline.el 26 Jul 2007 05:26:29 -0000 1.31
+++ lisp/outline.el 30 Aug 2007 21:39:20 -0000 1.32
@@ -215,8 +215,8 @@
[outline-1 outline-2 outline-3 outline-4
outline-5 outline-6 outline-7 outline-8])
-(defvar outline-font-lock-levels nil)
-(make-variable-buffer-local 'outline-font-lock-levels)
+;; (defvar outline-font-lock-levels nil)
+;; (make-variable-buffer-local 'outline-font-lock-levels)
(defun outline-font-lock-face ()
;; (save-excursion
@@ -241,9 +241,7 @@
(save-excursion
(goto-char (match-beginning 0))
(looking-at outline-regexp)
- (condition-case nil
- (aref outline-font-lock-faces (1- (funcall outline-level)))
- (error font-lock-warning-face))))
+ (aref outline-font-lock-faces (% (1- (funcall outline-level)) (length outline-font-lock-faces)))))
(defvar outline-view-change-hook nil
"Normal hook to be run after outline visibility changes.")
Index: lisp/server.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/server.el,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -r1.132 -r1.133
--- lisp/server.el 29 Aug 2007 05:28:04 -0000 1.132
+++ lisp/server.el 31 Aug 2007 07:37:33 -0000 1.133
@@ -766,8 +766,6 @@
(modify-frame-parameters frame params)
(set-frame-parameter frame 'display-environment-variable
(server-getenv-from env "DISPLAY"))
- (set-frame-parameter frame 'term-environment-variable
- (server-getenv-from env "TERM"))
(select-frame frame)
(server-client-set client 'frame frame)
(server-client-set client 'terminal (frame-terminal frame))
@@ -828,8 +826,6 @@
(set-frame-parameter frame 'display-environment-variable
(server-getenv-from env "DISPLAY"))
- (set-frame-parameter frame 'term-environment-variable
- (server-getenv-from env "TERM"))
(select-frame frame)
(server-client-set client 'frame frame)
(server-client-set client 'tty (terminal-name frame))
Index: lisp/startup.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/startup.el,v
retrieving revision 1.451
retrieving revision 1.452
diff -u -r1.451 -r1.452
--- lisp/startup.el 29 Aug 2007 05:28:06 -0000 1.451
+++ lisp/startup.el 31 Aug 2007 06:57:24 -0000 1.452
@@ -486,7 +486,12 @@
(run-hooks 'window-setup-hook))
(or menubar-bindings-done
(if (display-popup-menus-p)
- (precompute-menubar-bindings)))))))
+ (precompute-menubar-bindings)))))
+ ;; Subprocesses of Emacs do not have direct access to the terminal, so
+ ;; unless told otherwise they should only assume a dumb terminal.
+ ;; We are careful to do it late (after term-setup-hook), although the
+ ;; new multi-tty code does not use $TERM any more there anyway.
+ (setenv "TERM" "dumb")))
;; Precompute the keyboard equivalents in the menu bar items.
(defun precompute-menubar-bindings ()
Index: lisp/eshell/em-unix.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/eshell/em-unix.el,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- lisp/eshell/em-unix.el 26 Jul 2007 05:26:54 -0000 1.30
+++ lisp/eshell/em-unix.el 31 Aug 2007 08:08:37 -0000 1.31
@@ -168,6 +168,35 @@
(put 'eshell/man 'eshell-no-numeric-conversions t)
+(defun eshell/info (&rest args)
+ "Runs the info command in-frame with the same behaviour as command-line `info', ie:
+ 'info' => goes to top info window
+ 'info arg1' => IF arg1 is a file, then visits arg1
+ 'info arg1' => OTHERWISE goes to top info window and then menu item arg1
+ 'info arg1 arg2' => does action for arg1 (either visit-file or menu-item) and then menu item arg2
+ etc."
+ (require 'info)
+ (let ((file (cond
+ ((not (stringp (car args)))
+ nil)
+ ((file-exists-p (expand-file-name (car args)))
+ (expand-file-name (car args)))
+ ((file-exists-p (concat (expand-file-name (car args)) ".info"))
+ (concat (expand-file-name (car args)) ".info")))))
+
+ ;; If the first arg is a file, then go to that file's Top node
+ ;; Otherwise, go to the global directory
+ (if file
+ (progn
+ (setq args (cdr args))
+ (Info-find-node file "Top"))
+ (Info-directory))
+
+ ;; Treat all remaining args as menu references
+ (while args
+ (Info-menu (car args))
+ (setq args (cdr args)))))
+
(defun eshell-remove-entries (path files &optional top-level)
"From PATH, remove all of the given FILES, perhaps interactively."
(while files
Index: lisp/net/ange-ftp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/ange-ftp.el,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -r1.90 -r1.91
--- lisp/net/ange-ftp.el 6 Aug 2007 07:22:20 -0000 1.90
+++ lisp/net/ange-ftp.el 30 Aug 2007 19:58:28 -0000 1.91
@@ -4372,12 +4372,18 @@
;; Treat each name as its own truename.
(put 'file-truename 'ange-ftp 'identity)
+;; We must return non-nil in order to mask our inability to do the job.
+;; Otherwise there are errors when applied to the target file during
+;; copying from a (localhost) Tramp file.
+(put 'set-file-modes 'ange-ftp 'ignore)
+(put 'set-file-times 'ange-ftp 'ignore)
+
;; Turn off RCS/SCCS processing to save time.
;; This returns nil for any file name as argument.
(put 'vc-registered 'ange-ftp 'null)
;; We can handle process-file in a restricted way (just for chown).
-;; Nothing possible for start-file-process.
+;; Nothing possible for `start-file-process'.
(put 'process-file 'ange-ftp 'ange-ftp-process-file)
(put 'start-file-process 'ange-ftp 'ignore)
(put 'shell-command 'ange-ftp 'ange-ftp-shell-command)
Index: lisp/term/x-win.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/term/x-win.el,v
retrieving revision 1.207
retrieving revision 1.208
diff -u -r1.207 -r1.208
--- lisp/term/x-win.el 29 Aug 2007 06:00:11 -0000 1.207
+++ lisp/term/x-win.el 31 Aug 2007 10:13:26 -0000 1.208
@@ -401,6 +401,7 @@
(defconst x-pointer-ur-angle 148)
(defconst x-pointer-watch 150)
(defconst x-pointer-xterm 152)
+(defconst x-pointer-invisible 255)
\f
;;
;; Available colors
@@ -2578,27 +2579,27 @@
(defcustom x-gtk-stock-map
'(
- ("new" . "gtk-new")
- ("open" . "gtk-open")
- ("diropen" . "gtk-directory")
- ("close" . "gtk-close")
- ("save" . "gtk-save")
- ("saveas" . "gtk-save-as")
- ("undo" . "gtk-undo")
- ("cut" . "gtk-cut")
- ("copy" . "gtk-copy")
- ("paste" . "gtk-paste")
- ("search" . "gtk-find")
- ("print" . "gtk-print")
- ("preferences" . "gtk-preferences")
- ("help" . "gtk-help")
- ("left-arrow" . "gtk-go-back")
- ("right-arrow" . "gtk-go-forward")
- ("home" . "gtk-home")
- ("jump-to" . "gtk-jump-to")
- ("index" . "gtk-index")
- ("search" . "gtk-find")
- ("exit" . "gtk-quit"))
+ ("etc/images/new" . "gtk-new")
+ ("etc/images/open" . "gtk-open")
+ ("etc/images/diropen" . "gtk-directory")
+ ("etc/images/close" . "gtk-close")
+ ("etc/images/save" . "gtk-save")
+ ("etc/images/saveas" . "gtk-save-as")
+ ("etc/images/undo" . "gtk-undo")
+ ("etc/images/cut" . "gtk-cut")
+ ("etc/images/copy" . "gtk-copy")
+ ("etc/images/paste" . "gtk-paste")
+ ("etc/images/search" . "gtk-find")
+ ("etc/images/print" . "gtk-print")
+ ("etc/images/preferences" . "gtk-preferences")
+ ("etc/images/help" . "gtk-help")
+ ("etc/images/left-arrow" . "gtk-go-back")
+ ("etc/images/right-arrow" . "gtk-go-forward")
+ ("etc/images/home" . "gtk-home")
+ ("etc/images/jump-to" . "gtk-jump-to")
+ ("etc/images/index" . "gtk-index")
+ ("etc/images/search" . "gtk-find")
+ ("etc/images/exit" . "gtk-quit"))
"How icons for tool bars are mapped to Gtk+ stock items.
Emacs must be compiled with the Gtk+ toolkit for this to have any effect."
:version "23.1"
@@ -2607,10 +2608,10 @@
(defun x-gtk-map-stock (file)
"Map icon with file name FILE to a Gtk+ stock name, using `x-gtk-stock-map'."
- (let ((value (and file
- (assoc-string (file-name-sans-extension
- (file-name-nondirectory file))
- x-gtk-stock-map))))
+ (let* ((file-sans (file-name-sans-extension file))
+ (key (and (string-match "/\\([^/]+/[^/]+/[^/]+$\\)" file-sans)
+ (match-string 1 file-sans)))
+ (value (assoc-string (or key file-sans) x-gtk-stock-map)))
(and value (cdr value))))
;; arch-tag: f1501302-db8b-4d95-88e3-116697d89f78
Index: lisp/textmodes/org.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/textmodes/org.el,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -r1.150 -r1.151
--- lisp/textmodes/org.el 30 Aug 2007 09:48:23 -0000 1.150
+++ lisp/textmodes/org.el 30 Aug 2007 13:56:28 -0000 1.151
@@ -5,7 +5,7 @@
;; Author: Carsten Dominik <dominik at science dot uva dot nl>
;; Keywords: outlines, hypermedia, calendar, wp
;; Homepage: http://www.astro.uva.nl/~dominik/Tools/org/
-;; Version: 5.07
+;; Version: 5.08
;;
;; This file is part of GNU Emacs.
;;
@@ -3827,7 +3827,7 @@
kws0)
kwsa (if kwsa (append '((:startgroup)) kwsa '((:endgroup))))
hw (car kws1)
- dws (if sep (cdr sep) (last kws1))
+ dws (if sep (org-remove-keyword-keys (cdr sep)) (last kws1))
tail (list inter hw (car dws) (org-last dws)))
(add-to-list 'org-todo-heads hw 'append)
(push kws1 org-todo-sets)
@@ -3936,6 +3936,12 @@
(org-set-font-lock-defaults)))
+(defun org-remove-keyword-keys (list)
+ (mapcar (lambda (x)
+ (if (string-match "(.)$" x)
+ (substring x 0 (match-beginning 0))
+ x))
+ list))
;;; Some variables ujsed in various places
Index: src/ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/src/ChangeLog,v
retrieving revision 1.5813
retrieving revision 1.5816
diff -u -r1.5813 -r1.5816
--- src/ChangeLog 29 Aug 2007 22:19:43 -0000 1.5813
+++ src/ChangeLog 31 Aug 2007 10:17:15 -0000 1.5816
@@ -1,3 +1,23 @@
+2007-08-31 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
+
+2007-08-31 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * frame.h:
+ * frame.c (Qterm_environment_variable): Remove.
+ (syms_of_frame): Don't init and staticpro it.
+
+
+ * callproc.c (getenv_internal): Remove special case for $TERM.
+
+ * callproc.c (Vinitial_environment): New variable.
+ (set_initial_environment): Initialize it.
+ (syms_of_callproc): Declare it.
+ (child_setup): Don't mess with TERM via Qterm_environment_variable; the
+ TERM under which a process runs is never related to the TERM in which
+ Emacs is running.
+
2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
* config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
@@ -825,8 +845,7 @@
For consistency, run after_insert_file_functions iff something
got inserted. Move signal_after_change and update_compositions
after code running after_insert_file_functions. Make sure that
- undo_list doesn't record intermediate steps of the decoding
- process.
+ undo_list doesn't record intermediate steps of the decoding process.
2007-08-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
@@ -1015,8 +1034,8 @@
2007-07-17 Glenn Morris <rgm@gnu.org>
* abbrev.c (abbrev_check_chars): New function.
- (Fdefine_global_abbrev, Fdefine_mode_abbrev): Call
- abbrev_check_chars to check abbrev characters are word
+ (Fdefine_global_abbrev, Fdefine_mode_abbrev):
+ Call abbrev_check_chars to check abbrev characters are word
constituents. Doc fix.
2007-07-17 Stefan Monnier <monnier@iro.umontreal.ca>
Index: src/callproc.c
===================================================================
RCS file: /sources/emacs/emacs/src/callproc.c,v
retrieving revision 1.224
retrieving revision 1.227
diff -u -r1.224 -r1.227
--- src/callproc.c 29 Aug 2007 05:27:51 -0000 1.224
+++ src/callproc.c 31 Aug 2007 07:33:10 -0000 1.227
@@ -113,7 +113,7 @@
Lisp_Object Vshell_file_name;
-Lisp_Object Vprocess_environment;
+Lisp_Object Vprocess_environment, Vinitial_environment;
#ifdef DOS_NT
Lisp_Object Qbuffer_file_type;
@@ -1245,8 +1245,6 @@
{
char **env;
char *pwd_var;
- char *term_var;
- char *display_var;
#ifdef WINDOWSNT
int cpid;
HANDLE handles[3];
@@ -1330,7 +1328,6 @@
Lisp_Object local = selected_frame; /* get_frame_param (XFRAME (Fframe_with_environment (selected_frame)), */
/* Qenvironment); */
- Lisp_Object term;
Lisp_Object display;
new_length = 0;
@@ -1347,33 +1344,19 @@
new_length++;
#endif
- /* Add TERM and DISPLAY from the frame local values. */
- term = get_frame_param (XFRAME (local), Qterm_environment_variable);
- if (! NILP (term))
- new_length++;
-
+ /* Add DISPLAY from the frame local values. */
display = get_frame_param (XFRAME (local), Qdisplay_environment_variable);
if (! NILP (display))
new_length++;
/* new_length + 2 to include PWD and terminating 0. */
env = new_env = (char **) alloca ((new_length + 2) * sizeof (char *));
-
/* If we have a PWD envvar, pass one down,
but with corrected value. */
if (egetenv ("PWD"))
*new_env++ = pwd_var;
- if (! NILP (term))
- {
- int vlen = strlen ("TERM=") + strlen (SDATA (term)) + 1;
- char *vdata = (char *) alloca (vlen);
- strcpy (vdata, "TERM=");
- strcat (vdata, SDATA (term));
- new_env = add_env (env, new_env, vdata);
- }
-
- if (! NILP (display))
+ if (STRINGP (display))
{
int vlen = strlen ("DISPLAY=") + strlen (SDATA (display)) + 1;
char *vdata = (char *) alloca (vlen);
@@ -1387,8 +1370,7 @@
CONSP (tem) && STRINGP (XCAR (tem));
tem = XCDR (tem))
{
- if ((strcmp (SDATA (XCAR (tem)), "TERM") != 0)
- && (strcmp (SDATA (XCAR (tem)), "DISPLAY") != 0))
+ if (strcmp (SDATA (XCAR (tem)), "DISPLAY") != 0)
new_env = add_env (env, new_env, SDATA (XCAR (tem)));
}
@@ -1537,9 +1519,9 @@
Lisp_Object frame;
{
Lisp_Object scan;
- Lisp_Object term;
Lisp_Object display;
-
+
+ /* FIXME: Code duplication. */
if (NILP (frame))
{
@@ -1574,15 +1556,7 @@
frame = selected_frame;
}
- /* For TERM and DISPLAY first try to get the values from the frame. */
- term = get_frame_param (XFRAME (frame), Qterm_environment_variable);
- if (strcmp (var, "TERM") == 0)
- if (! NILP (term))
- {
- *value = (char *) SDATA (term);
- *valuelen = SBYTES (term);
- return 1;
- }
+ /* For DISPLAY first try to get the values from the frame. */
display = get_frame_param (XFRAME (frame), Qdisplay_environment_variable);
if (strcmp (var, "DISPLAY") == 0)
if (! NILP (display))
@@ -1833,7 +1807,6 @@
set_initial_environment ()
{
register char **envp;
- Lisp_Object env = Vprocess_environment;
#ifndef CANNOT_DUMP
if (initialized)
#endif
@@ -1842,6 +1815,9 @@
Vprocess_environment = Fcons (build_string (*envp),
Vprocess_environment);
store_frame_param (SELECTED_FRAME(), Qenvironment, Vprocess_environment);
+ /* Ideally, the `copy' shouldn't be necessary, but it seems it's frequent
+ to use `delete' and friends on process-environment. */
+ Vinitial_environment = Fcopy_sequence (Vprocess_environment);
}
}
@@ -1901,6 +1877,12 @@
This is used by `call-process-region'. */);
/* This variable is initialized in init_callproc. */
+ DEFVAR_LISP ("initial-environment", &Vinitial_environment,
+ doc: /* List of environment variables inherited from the parent process.
+Each element should be a string of the form ENVVARNAME=VALUE.
+The elements must normally be decoded (using `locale-coding-system') for use. */);
+ Vinitial_environment = Qnil;
+
DEFVAR_LISP ("process-environment", &Vprocess_environment,
doc: /* List of overridden environment variables for subprocesses to inherit.
Each element should be a string of the form ENVVARNAME=VALUE.
Index: src/frame.c
===================================================================
RCS file: /sources/emacs/emacs/src/frame.c,v
retrieving revision 1.345
retrieving revision 1.346
diff -u -r1.345 -r1.346
--- src/frame.c 29 Aug 2007 21:47:40 -0000 1.345
+++ src/frame.c 31 Aug 2007 07:34:50 -0000 1.346
@@ -111,7 +111,6 @@
Lisp_Object Qtty, Qtty_type;
Lisp_Object Qwindow_system;
Lisp_Object Qenvironment;
-Lisp_Object Qterm_environment_variable;
Lisp_Object Qdisplay_environment_variable;
Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth;
@@ -4357,8 +4356,6 @@
Qenvironment = intern ("environment");
staticpro (&Qenvironment);
- Qterm_environment_variable = intern ("term-environment-variable");
- staticpro (&Qterm_environment_variable);
Qdisplay_environment_variable = intern ("display-environment-variable");
staticpro (&Qdisplay_environment_variable);
Index: src/frame.h
===================================================================
RCS file: /sources/emacs/emacs/src/frame.h,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -r1.121 -r1.122
--- src/frame.h 29 Aug 2007 05:27:54 -0000 1.121
+++ src/frame.h 31 Aug 2007 07:33:44 -0000 1.122
@@ -780,7 +780,6 @@
extern Lisp_Object Qtty, Qtty_type;
extern Lisp_Object Qterminal, Qterminal_live_p;
extern Lisp_Object Qenvironment;
-extern Lisp_Object Qterm_environment_variable;
extern Lisp_Object Qdisplay_environment_variable;
extern struct frame *last_nonminibuf_frame;
Index: src/gtkutil.c
===================================================================
RCS file: /sources/emacs/emacs/src/gtkutil.c,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -r1.113 -r1.114
--- src/gtkutil.c 29 Aug 2007 05:27:55 -0000 1.113
+++ src/gtkutil.c 31 Aug 2007 10:17:02 -0000 1.114
@@ -3810,7 +3810,7 @@
GtkStockItem stock_item;
char *stock_name = NULL;
Lisp_Object rtl;
- GtkWidget *wbutton;
+ GtkWidget *wbutton = NULL;
GtkWidget *weventbox;
Lisp_Object func = intern ("x-gtk-map-stock");
[-- Attachment #3: Type: text/plain, Size: 142 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 8+ messages in thread