SHA256
1
0
forked from pool/emacs
Dr. Werner Fink 2012-06-28 09:17:09 +00:00 committed by Git OBS Bridge
parent be504f26fe
commit 95d0dbb2d2
26 changed files with 920 additions and 1725 deletions

View File

@ -1,16 +0,0 @@
--- lisp/mail/sendmail.el
+++ lisp/mail/sendmail.el 2007-05-15 18:28:59.121703192 +0200
@@ -48,12 +48,7 @@
:group 'sendmail
:version "22.1")
-(defcustom sendmail-program
- (cond
- ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
- ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
- ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail")
- (t "fakemail")) ;In ../etc, to interface to /bin/mail.
+(defcustom sendmail-program "/usr/sbin/sendmail"
"Program used to send messages."
:group 'mail
:type 'file)

View File

@ -1,58 +0,0 @@
--- lisp/loaddefs.el
+++ lisp/loaddefs.el 2010-08-12 15:38:16.235126810 +0000
@@ -25974,7 +25974,7 @@ as its \"correct\" spelling; then the qu
\(fn)" t nil)
-(make-obsolete 'spell-buffer 'ispell-buffer "23.1")
+(define-obsolete-function-alias 'spell-buffer 'ispell-buffer "23.1")
(autoload 'spell-word "spell" "\
Check spelling of word at or before point.
@@ -25983,7 +25983,7 @@ and `query-replace' the entire buffer to
\(fn)" t nil)
-(make-obsolete 'spell-word 'ispell-word "23.1")
+(define-obsolete-function-alias 'spell-word 'ispell-word "23.1")
(autoload 'spell-region "spell" "\
Like `spell-buffer' but applies only to region.
@@ -25993,7 +25993,7 @@ for example, \"word\".
\(fn START END &optional DESCRIPTION)" t nil)
-(make-obsolete 'spell-region 'ispell-region "23.1")
+(define-obsolete-function-alias 'spell-region 'ispell-region "23.1")
(autoload 'spell-string "spell" "\
Check spelling of string supplied as argument.
--- lisp/textmodes/spell.el
+++ lisp/textmodes/spell.el 2010-08-12 15:36:22.119126692 +0000
@@ -63,7 +63,7 @@ as its \"correct\" spelling; then the qu
(with-no-warnings
(spell-region (point-min) (point-max) "buffer")))
;;;###autoload
-(make-obsolete 'spell-buffer 'ispell-buffer "23.1")
+(define-obsolete-function-alias 'spell-buffer 'ispell-buffer "23.1")
;;;###autoload
(defun spell-word ()
@@ -82,7 +82,7 @@ and `query-replace' the entire buffer to
(with-no-warnings
(spell-region beg end (buffer-substring beg end)))))
;;;###autoload
-(make-obsolete 'spell-word 'ispell-word "23.1")
+(define-obsolete-function-alias 'spell-word 'ispell-word "23.1")
;;;###autoload
(defun spell-region (start end &optional description)
@@ -145,7 +145,7 @@ for example, \"word\"."
(query-replace-regexp (concat "\\b" (regexp-quote word) "\\b")
newword)))))))
;;;###autoload
-(make-obsolete 'spell-region 'ispell-region "23.1")
+(define-obsolete-function-alias 'spell-region 'ispell-region "23.1")
;;;###autoload
(defun spell-string (string)

View File

@ -1,82 +0,0 @@
--- lib-src/Makefile.in
+++ lib-src/Makefile.in 2009-08-10 18:11:16.653901806 +0200
@@ -232,6 +232,8 @@ LOADLIBES=LIBS_SYSTEM LIBS_MACHINE
the information in ../src/config.h. */
ALL_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
-I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
+ETAGS_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
+ -I. -I${srcdir} ${LDFLAGS} ${CPPFLAGS} ${CFLAGS}
LINK_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
-I. -I../src -I${srcdir} -I${srcdir}/../src ${LDFLAGS} ${CFLAGS}
CPP_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
@@ -380,21 +382,31 @@ getopt.h: getopt_.h
cp $(srcdir)/getopt_.h $@-t
mv $@-t $@
+#ifdef GETOPT_IN_LIBC
+GETOPTOBJS =
+GETOPTDEPS =
+#else
GETOPTOBJS = @GETOPTOBJS@
GETOPTDEPS = $(GETOPTOBJS) $(GETOPT_H)
getopt.o: ${srcdir}/getopt.c $(GETOPT_H) ${srcdir}/gettext.h
${CC} -c ${CPP_CFLAGS} ${srcdir}/getopt.c
getopt1.o: ${srcdir}/getopt1.c $(GETOPT_H)
${CC} -c ${CPP_CFLAGS} ${srcdir}/getopt1.c
+#endif
+#ifdef REGEXP_IN_LIBC
+REGEXPOBJ =
+REGEXPDEPS =
+#else
REGEXPOBJ = regex.o
REGEXPDEPS = $(REGEXPOBJ) $(srcdir)/../src/regex.h
+#endif
regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h ../src/config.h
${CC} -c ${BASE_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER ${srcdir}/../src/regex.c
etags${EXEEXT}: ${srcdir}/etags.c $(GETOPTDEPS) $(REGEXPDEPS) ../src/config.h
- $(CC) ${ALL_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o etags
+ $(CC) ${ETAGS_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o etags
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c $(GETOPTDEPS) ../src/config.h
$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" ${srcdir}/ebrowse.c $(GETOPTOBJS) $(LOADLIBES) -o ebrowse
@@ -402,7 +414,7 @@ ebrowse${EXEEXT}: ${srcdir}/ebrowse.c $(
/* We depend on etags to assure that parallel makes don\'t write two
etags.o files on top of each other. */
ctags${EXEEXT}: etags${EXEEXT}
- $(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o ctags
+ $(CC) ${ETAGS_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o ctags
profile${EXEEXT}: ${srcdir}/profile.c ../src/config.h
$(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile
--- lib-src/etags.c
+++ lib-src/etags.c 2001-10-24 18:13:46.000000000 +0200
@@ -93,7 +93,7 @@ char pot_etags_version[] = "@(#) pot rev
#endif
#ifdef HAVE_CONFIG_H
-# include <config.h>
+# include <../src/config.h>
/* On some systems, Emacs defines static as nothing for the sake
of unexec. We don't want that here since we don't use unexec. */
# undef static
--- src/s/gnu-linux.h
+++ src/s/gnu-linux.h 2009-08-10 18:12:23.537901415 +0200
@@ -275,5 +275,15 @@ along with GNU Emacs. If not, see <http
#endif
#endif
+/* we also have getopt and regex in the GNU C-library. */
+#define REGEXP_IN_LIBC
+#define GETOPT_IN_LIBC
+
+/* Use system malloc from glibc and memory mappging */
+#if !defined(__ia64__)
+# define SYSTEM_MALLOC
+# define USE_MMAP_FOR_BUFFERS
+#endif
+
/* arch-tag: 6244ea2a-abd0-44ec-abec-ff3dcc9afea9
(do not change this comment) */

View File

@ -1,27 +0,0 @@
--- configure.in
+++ configure.in 2007-05-15 18:09:41.000000000 +0200
@@ -426,7 +426,8 @@ dnl see the `changequote' comment above.
;;
## Macintosh PowerPC
- powerpc*-*-linux-gnu* )
+ ppc*-*-linux* | \
+ powerpc*-*-linux* )
machine=macppc opsys=gnu-linux
;;
--- src/m/macppc.h
+++ src/m/macppc.h 2009-08-11 14:38:16.442402126 +0200
@@ -42,6 +42,12 @@ along with GNU Emacs. If not, see <http
/* NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> says this is needed
For MkLinux/LinuxPPC. */
+#ifdef __powerpc64__
+#ifndef _ARCH_PPC64
+#define _ARCH_PPC64
+#endif
+#endif
+
#ifdef GNU_LINUX
#define LINKER $(CC) -nostdlib
/* s/gnu-linux.h defines this to `-z nocombreloc' which does not work here

View File

@ -1,158 +0,0 @@
--- src/Makefile.in
+++ src/Makefile.in 2010-10-18 14:26:59.211926181 +0000
@@ -960,6 +960,13 @@ ${libsrc}make-docfile${EXEEXT}:
buildobj.h: Makefile
echo "#define BUILDOBJ \"${obj} ${otherobj} " "\"" > buildobj.h
+/* On the alpha the elf dumper is kind of broken... */
+#if defined(__linux__) && defined(__alpha__)
+LINK_SCRIPT = -Wl,-T,${srcdir}/elf64alpha.x
+#else
+LINK_SCRIPT =
+#endif /* alpha linux */
+
temacs${EXEEXT}: $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT}
#ifdef NS_IMPL_GNUSTEP
$(CC) -rdynamic YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \
@@ -969,7 +976,7 @@ temacs${EXEEXT}: $(LOCALCPP) $(STARTFILE
#else
$(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \
-o temacs ${STARTFILES} ${obj} ${otherobj} \
- ${LIBES}
+ ${LIBES} $(LINK_SCRIPT)
#endif
/* We do not use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
--- src/elf64alpha.x
+++ src/elf64alpha.x 2001-10-24 15:03:54.000000000 +0000
@@ -0,0 +1,130 @@
+OUTPUT_FORMAT("elf64-alpha", "elf64-alpha", "elf64-alpha")
+OUTPUT_ARCH(alpha)
+ENTRY(__start)
+SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib);
+SEARCH_DIR(/usr/alphaev5-unknown-linux-gnu/lib);
+
+SECTIONS
+{
+ /* Read-only sections, merged into text segment: */
+ . = 0x120000000 + SIZEOF_HEADERS;
+ .interp : { *(.interp) }
+ .hash : { *(.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+ .gnu.version : { *(.gnu.version) }
+ .gnu.version_d : { *(.gnu.version_d) }
+ .gnu.version_r : { *(.gnu.version_r) }
+ .rel.text :
+ { *(.rel.text) *(.rel.gnu.linkonce.t*) }
+ .rela.text :
+ { *(.rela.text) *(.rela.gnu.linkonce.t*) }
+ .rel.data :
+ { *(.rel.data) *(.rel.gnu.linkonce.d*) }
+ .rela.data :
+ { *(.rela.data) *(.rela.gnu.linkonce.d*) }
+ .rel.rodata :
+ { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
+ .rela.rodata :
+ { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
+ .rel.got : { *(.rel.got) }
+ .rela.got : { *(.rela.got) }
+ .rel.ctors : { *(.rel.ctors) }
+ .rela.ctors : { *(.rela.ctors) }
+ .rel.dtors : { *(.rel.dtors) }
+ .rela.dtors : { *(.rela.dtors) }
+ .rel.init : { *(.rel.init) }
+ .rela.init : { *(.rela.init) }
+ .rel.fini : { *(.rel.fini) }
+ .rela.fini : { *(.rela.fini) }
+ .rel.bss : { *(.rel.bss) }
+ .rela.bss : { *(.rela.bss) }
+ .rel.plt : { *(.rel.plt) }
+ .rela.plt : { *(.rela.plt) }
+ .init : { *(.init) } =0x47ff041f
+ .text :
+ {
+ *(.text)
+ *(.stub)
+ /* .gnu.warning sections are handled specially by elf32.em. */
+ *(.gnu.warning)
+ *(.gnu.linkonce.t*)
+ } =0x47ff041f
+ _etext = .;
+ PROVIDE (etext = .);
+ .fini : { *(.fini) } =0x47ff041f
+ .rodata : { *(.rodata) *(.gnu.linkonce.r*) }
+ .rodata1 : { *(.rodata1) }
+ .reginfo : { *(.reginfo) }
+ /* Adjust the address for the data segment. We want to adjust up to
+ the same address within the page on the next page up. */
+ . = ALIGN(0x100000) + (. & (0x100000 - 1));
+ .ctors :
+ {
+ *(.ctors)
+ }
+ .dtors :
+ {
+ *(.dtors)
+ }
+ .plt : { *(.plt) }
+ .got : { *(.got.plt) *(.got) }
+ .dynamic : { *(.dynamic) }
+ .data :
+ {
+ *(.data)
+ *(.sdata)
+ *(.gnu.linkonce.d*)
+ CONSTRUCTORS
+ }
+ /* We want the small data sections together, so single-instruction offsets
+ can access them all, and initialized data all before uninitialized, so
+ we can shorten the on-disk segment size. */
+ _edata = .;
+ PROVIDE (edata = .);
+ __bss_start = .;
+ .bss :
+ {
+ *(.sbss) *(.scommon)
+ *(.dynbss)
+ *(.bss)
+ *(COMMON)
+ }
+ . = ALIGN(64 / 8);
+ _end = . ;
+ PROVIDE (end = .);
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section so we begin them at 0. */
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+ /* SGI/MIPS DWARF 2 extensions */
+ .debug_weaknames 0 : { *(.debug_weaknames) }
+ .debug_funcnames 0 : { *(.debug_funcnames) }
+ .debug_typenames 0 : { *(.debug_typenames) }
+ .debug_varnames 0 : { *(.debug_varnames) }
+ /* These must appear regardless of . */
+}

View File

@ -1,377 +0,0 @@
BNC#740447 - VUL-0: CEDET/Emacs global-ede-mode file loading vulnerability
--- lisp/cedet/ede/auto.el
+++ lisp/cedet/ede/auto.el 2012-01-10 11:31:40.027645193 +0000
@@ -58,6 +58,13 @@ associated with a single object class, b
:initform t
:documentation
"Non-nil if this is an option when a user creates a project.")
+ (safe-p :initarg :safe-p
+ :initform t
+ :documentation
+ "Non-nil if the project load files are \"safe\".
+An unsafe project is one that loads project variables via Emacs
+Lisp code. A safe project is one that loads project variables by
+scanning files without loading Lisp code from them.")
)
"Class representing minimal knowledge set to run preliminary EDE functions.
When more advanced functionality is needed from a project type, that projects
@@ -69,13 +76,15 @@ type is required and the load function u
:name "Make" :file 'ede/proj
:proj-file "Project.ede"
:load-type 'ede-proj-load
- :class-sym 'ede-proj-project)
+ :class-sym 'ede-proj-project
+ :safe-p nil)
(ede-project-autoload "edeproject-automake"
:name "Automake" :file 'ede/proj
:proj-file "Project.ede"
:initializers '(:makefile-type Makefile.am)
:load-type 'ede-proj-load
- :class-sym 'ede-proj-project)
+ :class-sym 'ede-proj-project
+ :safe-p nil)
(ede-project-autoload "automake"
:name "automake" :file 'ede/project-am
:proj-file "Makefile.am"
@@ -84,6 +93,8 @@ type is required and the load function u
:new-p nil))
"List of vectors defining how to determine what type of projects exist.")
+(put 'ede-project-class-files 'risky-local-variable t)
+
;;; EDE project-autoload methods
;;
(defmethod ede-project-root ((this ede-project-autoload))
@@ -122,6 +133,19 @@ Return nil if the project file does not
(when (and f (file-exists-p f))
f)))
+(defmethod ede-auto-load-project ((this ede-project-autoload) dir)
+ "Load in the project associated with THIS project autoload description.
+THIS project description should be valid for DIR, where the project will
+be loaded."
+ ;; Last line of defense: don't load unsafe projects.
+ (when (not (or (oref this :safe-p)
+ (ede-directory-safe-p dir)))
+ (error "Attempt to load an unsafe project (bug elsewhere in EDE)"))
+ ;; Things are good - so load the project.
+ (let ((o (funcall (oref this load-type) dir)))
+ (when (not o)
+ (error "Project type error: :load-type failed to create a project"))
+ (ede-add-project-to-global-list o)))
(provide 'ede/auto)
--- lisp/cedet/ede/simple.el
+++ lisp/cedet/ede/simple.el 2012-01-10 11:28:14.131146968 +0000
@@ -50,7 +50,8 @@
:name "Simple" :file 'ede/simple
:proj-file 'ede-simple-projectfile-for-dir
:load-type 'ede-simple-load
- :class-sym 'ede-simple-project)
+ :class-sym 'ede-simple-project
+ :safe-p nil)
t)
(defcustom ede-simple-save-directory "~/.ede"
--- lisp/cedet/ede.el
+++ lisp/cedet/ede.el 2012-01-10 11:28:24.623644845 +0000
@@ -94,6 +94,42 @@ target willing to take the file. 'never
:group 'ede
:type 'sexp) ; make this be a list of options some day
+(defcustom ede-project-directories nil
+ "Directories in which EDE may search for project files.
+If the value is t, EDE may search in any directory.
+
+If the value is a function, EDE calls that function with one
+argument, the directory name; the function should return t iff
+EDE should look for project files in the directory.
+
+Otherwise, the value should be a list of fully-expanded directory
+names. EDE searches for project files only in those directories.
+If you invoke the commands \\[ede] or \\[ede-new] on a directory
+that is not listed, Emacs will offer to add it to the list.
+
+Any other value disables searching for EDE project files."
+ :group 'ede
+ :type '(choice (const :tag "Any directory" t)
+ (repeat :tag "List of directories"
+ (directory))
+ (function :tag "Predicate"))
+ :version "23.3"
+ :risky t)
+
+(defun ede-directory-safe-p (dir)
+ "Return non-nil if DIR is a safe directory to load projects from.
+Projects that do not load a project definition as Emacs Lisp code
+are safe, and can be loaded automatically. Other project types,
+such as those created with Project.ede files, are safe only if
+specified by `ede-project-directories'."
+ (setq dir (directory-file-name (expand-file-name dir)))
+ ;; Load only if allowed by `ede-project-directories'.
+ (or (eq ede-project-directories t)
+ (and (functionp ede-project-directories)
+ (funcall ede-project-directories dir))
+ (and (listp ede-project-directories)
+ (member dir ede-project-directories))))
+
;;; Management variables
@@ -419,24 +455,42 @@ provided `global-ede-mode' is enabled."
Sets buffer local variables for EDE."
(let* ((ROOT nil)
(proj (ede-directory-get-open-project default-directory
- 'ROOT)))
+ 'ROOT))
+ (projauto nil))
+
(when (or proj ROOT
- (ede-directory-project-p default-directory t))
+ ;; If there is no open project, look up the project
+ ;; autoloader to see if we should initialize.
+ (setq projauto (ede-directory-project-p default-directory t)))
+
+ (when (and (not proj) projauto)
+
+ ;; No project was loaded, but we have a project description
+ ;; object. This means that we can check if it is a safe
+ ;; project to load before requesting it to be loaded.
+
+ (when (or (oref projauto safe-p)
+ ;; The project style is not safe, so check if it is
+ ;; in `ede-project-directories'.
+ (let ((top (ede-toplevel-project default-directory)))
+ (ede-directory-safe-p top)))
- (when (not proj)
- ;; @todo - this could be wasteful.
- (setq proj (ede-load-project-file default-directory 'ROOT)))
+ ;; The project is safe, so load it in.
+ (setq proj (ede-load-project-file default-directory 'ROOT))))
- (setq ede-object (ede-buffer-object (current-buffer)
+ ;; Only initialize EDE state in this buffer if we found a project.
+ (when proj
+
+ (setq ede-object (ede-buffer-object (current-buffer)
'ede-object-project))
- (setq ede-object-root-project
- (or ROOT (ede-project-root ede-object-project)))
+ (setq ede-object-root-project
+ (or ROOT (ede-project-root ede-object-project)))
- (if (and (not ede-object) ede-object-project)
- (ede-auto-add-to-target))
+ (if (and (not ede-object) ede-object-project)
+ (ede-auto-add-to-target))
- (ede-apply-target-options))))
+ (ede-apply-target-options)))))
(defun ede-reset-all-buffers (onoff)
"Reset all the buffers due to change in EDE.
@@ -555,13 +609,73 @@ of objects with the `ede-want-file-p' me
;;; Interactive method invocations
;;
-(defun ede (file)
- "Start up EDE on something.
-Argument FILE is the file or directory to load a project from."
- (interactive "fProject File: ")
- (if (not (file-exists-p file))
- (ede-new file)
- (ede-load-project-file (file-name-directory file))))
+(defun ede (dir)
+ "Start up EDE for directory DIR.
+If DIR has an existing project file, load it.
+Otherwise, create a new project for DIR."
+ (interactive
+ ;; When choosing a directory to turn on, and we see some directory here,
+ ;; provide that as the default.
+ (let* ((top (ede-toplevel-project default-directory))
+ (promptdflt (or top default-directory)))
+ (list (read-directory-name "Project directory: "
+ promptdflt promptdflt t))))
+ (unless (file-directory-p dir)
+ (error "%s is not a directory" dir))
+ (when (ede-directory-get-open-project dir)
+ (error "%s already has an open project associated with it" dir))
+
+ ;; Check if the directory has been added to the list of safe
+ ;; directories. It can also add the directory to the safe list if
+ ;; the user chooses.
+ (if (ede-check-project-directory dir)
+ (progn
+ ;; If there is a project in DIR, load it, otherwise do
+ ;; nothing.
+ (ede-load-project-file dir)
+
+ ;; Check if we loaded anything on the previous line.
+ (if (ede-current-project dir)
+
+ ;; We successfully opened an existing project. Some open
+ ;; buffers may also be referring to this project.
+ ;; Resetting all the buffers will get them to also point
+ ;; at this new open project.
+ (ede-reset-all-buffers 1)
+
+ ;; ELSE
+ ;; There was no project, so switch to `ede-new' which is how
+ ;; a user can select a new kind of project to create.
+ (let ((default-directory (expand-file-name dir)))
+ (call-interactively 'ede-new))))
+
+ ;; If the proposed directory isn't safe, then say so.
+ (error "%s is not an allowed project directory in `ede-project-directories'"
+ dir)))
+
+(defun ede-check-project-directory (dir)
+ "Check if DIR should be in `ede-project-directories'.
+If it is not, try asking the user if it should be added; if so,
+add it and save `ede-project-directories' via Customize.
+Return nil iff DIR should not be in `ede-project-directories'."
+ (setq dir (directory-file-name (expand-file-name dir))) ; strip trailing /
+ (or (eq ede-project-directories t)
+ (and (functionp ede-project-directories)
+ (funcall ede-project-directories dir))
+ ;; If `ede-project-directories' is a list, maybe add it.
+ (when (listp ede-project-directories)
+ (or (member dir ede-project-directories)
+ (when (y-or-n-p (format "`%s' is not listed in `ede-project-directories'.
+Add it to the list of allowed project directories? "
+ dir))
+ (push dir ede-project-directories)
+ ;; If possible, save `ede-project-directories'.
+ (if (or custom-file user-init-file)
+ (let ((coding-system-for-read nil))
+ (customize-save-variable
+ 'ede-project-directories
+ ede-project-directories)))
+ t)))))
(defun ede-new (type &optional name)
"Create a new project starting of project type TYPE.
@@ -596,6 +710,11 @@ Optional argument NAME is the name to gi
(error "Cannot create project in non-existent directory %s" default-directory))
(when (not (file-writable-p default-directory))
(error "No write permissions for %s" default-directory))
+ (unless (ede-check-project-directory default-directory)
+ (error "%s is not an allowed project directory in `ede-project-directories'"
+ default-directory))
+ ;; Make sure the project directory is loadable in the future.
+ (ede-check-project-directory default-directory)
;; Create the project
(let* ((obj (object-assoc type 'name ede-project-class-files))
(nobj (let ((f (oref obj file))
@@ -629,6 +748,10 @@ Optional argument NAME is the name to gi
(ede-add-subproject pp nobj)
(ede-commit-project pp)))
(ede-commit-project nobj))
+ ;; Once the project is created, load it again. This used to happen
+ ;; lazily, but with project loading occurring less often and with
+ ;; security in mind, this is now the safe time to reload.
+ (ede-load-project-file default-directory)
;; Have the menu appear
(setq ede-minor-mode t)
;; Allert the user
@@ -651,11 +774,16 @@ ARGS are additional arguments to pass to
(defun ede-rescan-toplevel ()
"Rescan all project files."
(interactive)
- (let ((toppath (ede-toplevel-project default-directory))
- (ede-deep-rescan t))
- (project-rescan (ede-load-project-file toppath))
- (ede-reset-all-buffers 1)
- ))
+ (if (not (ede-directory-get-open-project default-directory))
+ ;; This directory isn't open. Can't rescan.
+ (error "Attempt to rescan a project that isn't open")
+
+ ;; Continue
+ (let ((toppath (ede-toplevel-project default-directory))
+ (ede-deep-rescan t))
+
+ (project-rescan (ede-load-project-file toppath))
+ (ede-reset-all-buffers 1))))
(defun ede-new-target (&rest args)
"Create a new target specific to this type of project file.
@@ -891,7 +1019,7 @@ Optional ROOTRETURN will return the root
;; Do the load
;;(message "EDE LOAD : %S" file)
(let* ((file dir)
- (path (expand-file-name (file-name-directory file)))
+ (path (file-name-as-directory (expand-file-name dir)))
(pfc (ede-directory-project-p path))
(toppath nil)
(o nil))
@@ -920,13 +1048,11 @@ Optional ROOTRETURN will return the root
;; See if it's been loaded before
(setq o (object-assoc (ede-dir-to-projectfile pfc toppath) 'file
ede-projects))
- (if (not o)
- ;; If not, get it now.
- (let ((ede-constructing pfc))
- (setq o (funcall (oref pfc load-type) toppath))
- (when (not o)
- (error "Project type error: :load-type failed to create a project"))
- (ede-add-project-to-global-list o)))
+
+ ;; If not open yet, load it.
+ (unless o
+ (let ((ede-constructing pfc))
+ (setq o (ede-auto-load-project pfc toppath))))
;; Return the found root project.
(when rootreturn (set rootreturn o))
@@ -980,13 +1106,7 @@ Optional argument OBJ is an object to fi
(and root
(ede-find-subproject-for-directory root updir))
;; Try the all structure based search.
- (ede-directory-get-open-project updir)
- ;; Load up the project file as a last resort.
- ;; Last resort since it uses file-truename, and other
- ;; slow features.
- (and (ede-directory-project-p updir)
- (ede-load-project-file
- (file-name-as-directory updir))))))))))
+ (ede-directory-get-open-project updir))))))))
(defun ede-current-project (&optional dir)
"Return the current project file.
@@ -1000,11 +1120,7 @@ If optional DIR is provided, get the pro
;; No current project.
(when (not ans)
(let* ((ldir (or dir default-directory)))
- (setq ans (ede-directory-get-open-project ldir))
- (or ans
- ;; No open project, if this dir pass project-p, then load.
- (when (ede-directory-project-p ldir)
- (setq ans (ede-load-project-file ldir))))))
+ (setq ans (ede-directory-get-open-project ldir))))
;; Return what we found.
ans))
@@ -1059,12 +1175,13 @@ If TARGET belongs to a subproject, retur
"Return the project which is the parent of TARGET.
It is recommended you track the project a different way as this function
could become slow in time."
- ;; @todo - use ede-object-project as a starting point.
- (let ((ans nil) (projs ede-projects))
- (while (and (not ans) projs)
- (setq ans (ede-target-in-project-p (car projs) target)
- projs (cdr projs)))
- ans))
+ (or ede-object-project
+ ;; If not cached, derive it from the current directory of the target.
+ (let ((ans nil) (projs ede-projects))
+ (while (and (not ans) projs)
+ (setq ans (ede-target-in-project-p (car projs) target)
+ projs (cdr projs)))
+ ans)))
(defmethod ede-find-target ((proj ede-project) buffer)
"Fetch the target in PROJ belonging to BUFFER or nil."

View File

@ -1,24 +0,0 @@
--- src/m/ibms390x.h
+++ src/m/ibms390x.h 2011-07-11 11:51:06.080426771 +0000
@@ -78,7 +78,9 @@ NOTE-END */
working alloca function and it should be used. Undefine it if an
assembler-language alloca in the file alloca.s should be used. */
+#ifndef HAVE_ALLOCA
#define HAVE_ALLOCA
+#endif
/* On the 64 bit architecture, we can use 60 bits for addresses */
@@ -88,7 +90,10 @@ NOTE-END */
/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
-#define XPNTR(a) XUINT (a)
+#undef DATA_SEG_BITS
+#ifdef USE_LISP_UNION_TYPE
+#undef USE_LISP_UNION_TYPE
+#endif
#undef START_FILES
#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o

View File

@ -1,45 +0,0 @@
--- configure.in
+++ configure.in 2011-11-22 14:37:39.195146873 +0000
@@ -2376,11 +2376,13 @@ AC_CHECK_FUNCS(getpt)
# That is because we have not set up to link ncurses in lib-src.
# It's better to believe a function is not available
# than to expect to find it in ncurses.
-AC_CHECK_LIB(ncurses, tparm)
+for lib in tinfo ncurses ; do
+ AC_CHECK_LIB($lib, tparm)
+done
case "$opsys" in
netbsd)
- AC_SEARCH_LIBS(tputs, [ncurses terminfo termcap])
+ AC_SEARCH_LIBS(tputs, [tinfo ncurses ncursesw terminfo termcap])
if test $ac_cv_search_tputs = -lterminfo; then
AC_DEFINE(TERMINFO, 1, [Define to 1 if you use terminfo instead of termcap.])
fi
--- src/config.in
+++ src/config.in 2011-11-22 14:34:49.199647061 +0000
@@ -388,6 +388,9 @@ along with GNU Emacs. If not, see <http
/* Define to 1 if you have the `ncurses' library (-lncurses). */
#undef HAVE_LIBNCURSES
+/* Define to 1 if you have the `tinfo' library (-ltinfo). */
+#undef HAVE_LIBTINFO
+
/* Define to 1 if using libotf. */
#undef HAVE_LIBOTF
--- src/s/gnu-linux.h
+++ src/s/gnu-linux.h 2011-11-22 14:36:11.327146051 +0000
@@ -230,8 +230,12 @@ along with GNU Emacs. If not, see <http
#ifdef HAVE_LIBNCURSES
#define TERMINFO
+#ifdef HAVE_LIBTINFO
+#define LIBS_TERMCAP -ltinfo
+#else
#define LIBS_TERMCAP -lncurses
#endif
+#endif
#define UNEXEC unexelf.o

View File

@ -1,14 +0,0 @@
--- src/xgselect.c
+++ src/xgselect.c 2012-05-24 11:07:45.793270370 +0000
@@ -60,6 +60,11 @@ xg_select (max_fds, rfds, wfds, efds, ti
xfree (gfds);
gfds = xmalloc (sizeof (*gfds) * gfds_size);
}
+ else if (!gfds)
+ {
+ gfds_size = 1;
+ gfds = xmalloc (sizeof (*gfds));
+ }
n_gfds = g_main_context_query (context,
G_PRIORITY_LOW,

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86dcab9a3046ecb2bd1ebdb1f15157cc60e4ded6ef0d7950bbbfc027d7c2e6ee
size 38684207

View File

@ -0,0 +1,29 @@
--- lisp/obsolete/spell.el
+++ lisp/obsolete/spell.el 2012-06-27 11:54:27.600009491 +0000
@@ -64,7 +64,7 @@ as its \"correct\" spelling; then the qu
(with-no-warnings
(spell-region (point-min) (point-max) "buffer")))
;;;###autoload
-(make-obsolete 'spell-buffer 'ispell-buffer "23.1")
+(define-obsolete-function-alias 'spell-buffer 'ispell-buffer "23.1")
;;;###autoload
(defun spell-word ()
@@ -83,7 +83,7 @@ and `query-replace' the entire buffer to
(with-no-warnings
(spell-region beg end (buffer-substring beg end)))))
;;;###autoload
-(make-obsolete 'spell-word 'ispell-word "23.1")
+(define-obsolete-function-alias 'spell-word 'ispell-word "23.1")
;;;###autoload
(defun spell-region (start end &optional description)
@@ -141,7 +141,7 @@ for example, \"word\"."
(query-replace-regexp (concat "\\b" (regexp-quote word) "\\b")
newword)))))))
;;;###autoload
-(make-obsolete 'spell-region 'ispell-region "23.1")
+(define-obsolete-function-alias 'spell-region 'ispell-region "23.1")
;;;###autoload
(defun spell-string (string)

View File

@ -1,5 +1,5 @@
--- src/frame.c
+++ src/frame.c 2010-10-18 13:34:00.000427490 +0000
+++ src/frame.c 2012-06-26 16:09:59.692010311 +0000
@@ -21,6 +21,9 @@ along with GNU Emacs. If not, see <http
#include <stdio.h>
@ -7,6 +7,6 @@
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#endif
#include <errno.h>
#include <limits.h>
#include <setjmp.h>
#include "lisp.h"
#include "character.h"

58
emacs-24.1-glibc.patch Normal file
View File

@ -0,0 +1,58 @@
--- lib-src/Makefile.in
+++ lib-src/Makefile.in 2012-06-14 11:41:22.208010103 +0000
@@ -307,14 +307,16 @@ test-distrib${EXEEXT}: ${srcdir}/test-di
../lib/libgnu.a: ../src/config.h
cd ../lib && $(MAKE) libgnu.a
+REGEXPOBJ =
+#REGEXPOBJ = regex.o
regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h ../src/config.h
${CC} -c ${CPP_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \
${srcdir}/../src/regex.c
-etags${EXEEXT}: ${srcdir}/etags.c regex.o ../src/config.h
+etags${EXEEXT}: ${srcdir}/etags.c $(REGEXPOBJ) ../src/config.h
$(CC) ${ALL_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" \
-DVERSION="\"${version}\"" ${srcdir}/etags.c \
- regex.o $(LOADLIBES) -o etags
+ $(REGEXPOBJ) $(LOADLIBES) -o etags
ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h ../src/config.h
$(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" \
@@ -325,7 +330,7 @@ ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${
ctags${EXEEXT}: etags${EXEEXT}
$(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" \
-DVERSION="\"${version}\"" ${srcdir}/etags.c \
- regex.o $(LOADLIBES) -o ctags
+ $(REGEXPOBJ) $(LOADLIBES) -o ctags
profile${EXEEXT}: ${srcdir}/profile.c ../src/config.h
$(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile
--- lib-src/etags.c
+++ lib-src/etags.c 2012-06-26 16:03:43.356510061 +0000
@@ -92,7 +92,7 @@ char pot_etags_version[] = "@(#) pot rev
#endif
#ifdef HAVE_CONFIG_H
-# include <config.h>
+# include <../src/config.h>
/* This is probably not necessary any more. On some systems, config.h
used to define static as nothing for the sake of unexec. We don't
want that here since we don't use unexec. None of these systems
--- src/s/gnu-linux.h
+++ src/s/gnu-linux.h 2012-06-26 16:05:56.116010465 +0000
@@ -159,3 +159,14 @@ along with GNU Emacs. If not, see <http
} while (0)
#endif
#endif
+
+/* we have regex in the GNU C-library. */
+#define REGEXP_IN_LIBC
+
+/* Use system malloc from glibc and memory mappging */
+#if !defined(__ia64__)
+# define SYSTEM_MALLOC
+# define USE_MMAP_FOR_BUFFERS
+#endif
+
+

View File

@ -1,12 +1,12 @@
--- src/xmenu.c
+++ src/xmenu.c 2007-05-15 18:25:35.960111766 +0200
@@ -1140,8 +1140,8 @@ for instance using the window manager, t
+++ src/xmenu.c 2012-06-26 17:12:22.856009442 +0000
@@ -316,8 +316,8 @@ for instance using the window manager, t
#else
{
Lisp_Object title;
- char *error_name;
- const char *error_name;
- Lisp_Object selection;
+ char *error_name = NULL;
+ const char *error_name = NULL;
+ Lisp_Object selection = Qnil;
int specpdl_count = SPECPDL_INDEX ();

36
emacs-24.1-ppc64.patch Normal file
View File

@ -0,0 +1,36 @@
--- configure.in
+++ configure.in 2012-06-26 16:30:51.496510306 +0000
@@ -420,7 +420,8 @@ case "${canonical}" in
case ${canonical} in
alpha*) machine=alpha ;;
s390x-*) machine=ibms390x ;;
- powerpc*) machine=macppc ;;
+ powerpc*|ppc*)
+ machine=macppc ;;
sparc*) machine=sparc ;;
ia64*) machine=ia64 ;;
m68k*) machine=m68k ;;
@@ -1050,7 +1051,7 @@ if test "x$crt_files" != x; then
test -e /usr/lib64/crtn.o && CRT_DIR=/usr/lib64
;;
- powerpc64-*-linux-gnu* | sparc64-*-linux-gnu*) CRT_DIR=/usr/lib64 ;;
+ powerpc64-*-linux-gnu* | ppc64-*-linux-gnu* | sparc64-*-linux-gnu*) CRT_DIR=/usr/lib64 ;;
esac
case "$opsys" in
--- src/m/macppc.h
+++ src/m/macppc.h 2012-06-26 16:31:30.584509749 +0000
@@ -17,6 +17,12 @@ GNU General Public License for more deta
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
+#ifdef __powerpc64__
+#ifndef _ARCH_PPC64
+#define _ARCH_PPC64
+#endif
+#endif
+
#ifdef _ARCH_PPC64
#ifndef _LP64
#define _LP64

View File

@ -1,7 +1,7 @@
--- lisp/ldefs-boot.el
+++ lisp/ldefs-boot.el 2009-08-10 16:21:22.000000000 +0000
@@ -21525,9 +21525,9 @@ With prefix argument \\[universal-prefix
;;;;;; 41642))
+++ lisp/ldefs-boot.el 2012-06-26 16:26:01.900010474 +0000
@@ -23074,9 +23074,9 @@ With prefix argument ARG, restart the Pr
;;;;;; 65510))
;;; Generated autoloads from ps-bdf.el
-(defvar bdf-directory-list (if (memq system-type '(ms-dos windows-nt)) (list (expand-file-name "fonts/bdf" installation-directory)) '("/usr/local/share/emacs/fonts/bdf")) "\
@ -14,7 +14,7 @@
--- lisp/ps-bdf.el
+++ lisp/ps-bdf.el 2009-08-10 16:21:47.000000000 +0000
@@ -45,9 +45,9 @@
@@ -42,9 +42,9 @@
(defcustom bdf-directory-list
(if (memq system-type '(ms-dos windows-nt))
(list (expand-file-name "fonts/bdf" installation-directory))

View File

@ -1,6 +1,6 @@
--- lisp/ps-mule.el
+++ lisp/ps-mule.el 2009-08-11 14:41:44.493901698 +0200
@@ -183,6 +183,8 @@ See also the variable `ps-font-info-data
+++ lisp/ps-mule.el 2009-08-11 12:41:44.000000000 +0000
@@ -182,6 +182,8 @@ See also the variable `ps-font-info-data
(defconst ps-mule-font-info-database-latin
'((iso-8859-1
@ -10,11 +10,11 @@
"Sample setting of `ps-mule-font-info-database' to use latin fonts.")
--- lisp/textmodes/ispell.el
+++ lisp/textmodes/ispell.el 2007-05-15 18:20:20.000000000 +0200
@@ -1298,10 +1298,18 @@ Protects against bogus binding of `enabl
(defun ispell-get-extended-character-mode ()
(nth 6 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
(assoc ispell-current-dictionary ispell-dictionary-alist))))
+++ lisp/textmodes/ispell.el 2012-06-26 16:37:56.424010429 +0000
@@ -1339,10 +1339,18 @@ Protects against bogus binding of `enabl
nil ;; in pipe mode. Disable extended-char-mode
(nth 6 (or (assoc ispell-current-dictionary ispell-local-dictionary-alist)
(assoc ispell-current-dictionary ispell-dictionary-alist)))))
+;;
+;; Most languages in ISO-8859-15 for EURO symbols uses ISO-8859-1 chars
+;(defun ispell-get-coding-system ()

12
emacs-24.1-s390x.dif Normal file
View File

@ -0,0 +1,12 @@
--- src/m/ibms390x.h
+++ src/m/ibms390x.h 2012-06-26 17:21:34.240010197 +0000
@@ -29,4 +29,8 @@ along with GNU Emacs. If not, see <http
#define VALBITS 60
/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
-#define XPNTR(a) XUINT (a)
+
+#undef DATA_SEG_BITS
+#ifdef USE_LISP_UNION_TYPE
+#undef USE_LISP_UNION_TYPE
+#endif

View File

@ -0,0 +1,17 @@
--- lisp/mail/sendmail.el
+++ lisp/mail/sendmail.el 2012-06-26 17:16:27.176010331 +0000
@@ -42,13 +42,7 @@
:group 'sendmail
:version "22.1")
-(defcustom sendmail-program
- (or (executable-find "sendmail")
- (cond
- ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail")
- ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail")
- ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail")
- (t "sendmail")))
+(defcustom sendmail-program "/usr/sbin/sendmail"
"Program used to send messages."
:version "24.1" ; add executable-find, remove fakemail
:group 'mail

32
emacs-24.1-tinfo.dif Normal file
View File

@ -0,0 +1,32 @@
--- configure.in
+++ configure.in 2012-06-26 17:32:44.272010723 +0000
@@ -2803,7 +2803,7 @@ AC_DEFUN([tputs_link_source], [
])
# Maybe curses should be tried earlier?
# See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9736#35
-for tputs_library in '' ncurses terminfo termcap curses; do
+for tputs_library in '' tinfo ncurses ncursesw terminfo termcap curses; do
OLIBS=$LIBS
if test -z "$tputs_library"; then
LIBS_TERMCAP=
@@ -2855,7 +2855,7 @@ case "$opsys" in
## (HAVE_LIBNCURSES was not always true, but is since 2010-03-18.)
if test "x$HAVE_LIBNCURSES" = "xyes"; then
TERMINFO=yes
- LIBS_TERMCAP="-lncurses"
+ LIBS_TERMCAP="-ltinfo"
fi
;;
--- src/config.in
+++ src/config.in 2011-11-22 14:34:49.000000000 +0000
@@ -450,6 +450,9 @@ along with GNU Emacs. If not, see <http
/* Define to 1 if you have the `ncurses' library (-lncurses). */
#undef HAVE_LIBNCURSES
+/* Define to 1 if you have the `tinfo' library (-ltinfo). */
+#undef HAVE_LIBTINFO
+
/* Define to 1 if using libotf. */
#undef HAVE_LIBOTF

16
emacs-24.1-xgselect.patch Normal file
View File

@ -0,0 +1,16 @@
--- src/xgselect.c
+++ src/xgselect.c 2012-06-27 11:58:47.756081195 +0000
@@ -58,7 +58,12 @@ xg_select (int max_fds, SELECT_TYPE *rfd
gfds = xpalloc (0, &gfds_size, n_gfds - gfds_size, INT_MAX,
sizeof *gfds);
}
-
+ else if (!gfds)
+ {
+ gfds_size = 1;
+ gfds = xmalloc (sizeof (*gfds));
+ }
+
n_gfds = g_main_context_query (context,
G_PRIORITY_LOW,
&tmo_in_millisec,

View File

@ -1,15 +1,15 @@
--- Makefile.in
+++ Makefile.in 2010-10-18 13:57:39.899926326 +0000
@@ -131,7 +131,7 @@ libexecdir=@libexecdir@
+++ Makefile.in 2012-06-27 09:55:19.212009937 +0000
@@ -127,7 +127,7 @@ libexecdir=@libexecdir@
# (and they contain cross-references that expect them to be there).
mandir=@mandir@
man1dir=$(mandir)/man1
-MAN_PAGES=b2m.1 ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
+MAN_PAGES=b2m.1 ebrowse.1 emacs.1 emacsclient.1 \
-MAN_PAGES=ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
+MAN_PAGES=ebrowse.1 emacs.1 emacsclient.1 gnuctags.1 \
grep-changelog.1 rcs-checkin.1
# Where to install and expect the info files describing Emacs. In the
@@ -414,10 +414,8 @@ install-arch-dep: mkdir
@@ -472,10 +472,8 @@ install-arch-dep: mkdir
exec_prefix=${exec_prefix} bindir=${bindir} \
libexecdir=${libexecdir} archlibdir=${archlibdir} \
INSTALL_STRIP=${INSTALL_STRIP})
@ -19,17 +19,10 @@
- -ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
+ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs${EXEEXT} $(DESTDIR)${bindir}/$(EMACS)
+ -chmod 1755 $(DESTDIR)${bindir}/$(EMACS)
-unset CDPATH; \
for f in `cd lib-src && echo fns-*.el`; do \
if test -r lib-src/$$f ; then \
@@ -586,15 +584,19 @@ install-arch-indep: mkdir info install-e
test "$(MAKEINFO)" = "off" && ! test -e $$elt && continue; \
(cd $${thisdir}; \
${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
+ chmod a+r $(DESTDIR)${infodir}/$$elt; \
+ gzip -f9 $(DESTDIR)${infodir}/$$elt; \
done; \
else true; fi
if test "${ns_appresdir}" != ""; then \
( cd ${ns_appresdir} ; \
if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
@@ -649,6 +647,7 @@ install-arch-indep: mkdir info install-e
-chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} ${COPYDESTS}
thisdir=`/bin/pwd`; \
cd ${mansrcdir}; \
@ -37,137 +30,30 @@
for page in ${MAN_PAGES}; do \
(cd $${thisdir}; \
${INSTALL_DATA} ${mansrcdir}/$${page} $(DESTDIR)${man1dir}/$${page}; \
chmod a+r $(DESTDIR)${man1dir}/$${page}); \
+ gzip -f9 $(DESTDIR)${man1dir}/$${page}${manext}; \
done
## Install those items from etc/ that need to end up elsewhere.
@@ -677,7 +679,7 @@ uninstall:
done; \
done;)
(cd $(DESTDIR)${man1dir} && rm -f $(MAN_PAGES))
@@ -743,7 +742,7 @@ uninstall:
ext=.gz; else ext=; fi; \
cd $(DESTDIR)${man1dir} && for page in ${MAN_PAGES}; do \
rm -f $$page$$ext; done )
- (cd $(DESTDIR)${bindir} && rm -f $(EMACSFULL) $(EMACS))
+ (cd $(DESTDIR)${bindir} && rm -f $(EMACS))
(cd $(DESTDIR)${icondir} && rm -f hicolor/*x*/apps/emacs.png hicolor/*x*/apps/emacs22.png hicolor/scalable/apps/emacs.svg hicolor/scalable/mimetypes/emacs-document.svg )
-rm -f $(DESTDIR)${desktopdir}/emacs.desktop
for file in snake-scores tetris-scores; do \
--- configure.in
+++ configure.in 2011-07-11 10:45:13.843926716 +0200
@@ -457,11 +457,11 @@ dnl see the `changequote' comment above.
esac
;;
- alpha*-*-linux-gnu* )
+ alpha*-*-linux* )
machine=alpha opsys=gnu-linux
;;
- arm*-*-linux-gnu* )
+ arm*-*-linux* )
machine=arm opsys=gnu-linux
;;
@@ -497,15 +497,15 @@ dnl see the `changequote' comment above.
machine=hp800 opsys=hpux11
;;
- hppa*-*-linux-gnu* )
+ hppa*-*-linux* )
machine=hp800 opsys=gnu-linux
;;
## IBM machines
- s390-*-linux-gnu* )
+ s390-*-linux* )
machine=ibms390 opsys=gnu-linux
;;
- s390x-*-linux-gnu* )
+ s390x-*-linux* )
machine=ibms390x opsys=gnu-linux
;;
rs6000-ibm-aix4.2* | powerpc-ibm-aix4.2* )
@@ -539,7 +539,7 @@ dnl see the `changequote' comment above.
;;
## Suns
- sparc-*-linux-gnu* | sparc64-*-linux-gnu* )
+ sparc-*-linux* | sparc64-*-linux* )
machine=sparc opsys=gnu-linux
;;
@@ -611,7 +611,7 @@ dnl see the `changequote' comment above.
*-darwin* ) opsys=darwin
CPP="${CC-cc} -E -no-cpp-precomp"
;;
- *-linux-gnu* ) opsys=gnu-linux ;;
+ *-linux* ) opsys=gnu-linux ;;
*-sysv4.2uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
*-sysv5uw* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
*-sysv5OpenUNIX* ) opsys=unixware; NON_GNU_CPP=/lib/cpp ;;
@@ -620,28 +620,28 @@ dnl see the `changequote' comment above.
;;
## m68k Linux-based GNU system
- m68k-*-linux-gnu* )
+ m68k-*-linux* )
machine=m68k opsys=gnu-linux
;;
## Mips Linux-based GNU system
- mips-*-linux-gnu* | mipsel-*-linux-gnu* \
- | mips64-*-linux-gnu* | mips64el-*-linux-gnu* )
+ mips-*-linux* | mipsel-*-linux* \
+ | mips64-*-linux* | mips64el-*-linux* )
machine=mips opsys=gnu-linux
;;
## AMD x86-64 Linux-based GNU system
- x86_64-*-linux-gnu* )
+ x86_64-*-linux* )
machine=amdx86-64 opsys=gnu-linux
;;
## Tensilica Xtensa Linux-based GNU system
- xtensa*-*-linux-gnu* )
+ xtensa*-*-linux* )
machine=xtensa opsys=gnu-linux
;;
## SuperH Linux-based GNU system
- sh[34]*-*-linux-gnu* )
+ sh[34]*-*-linux* )
machine=sh3 opsys=gnu-linux
;;
@@ -1010,7 +1010,7 @@ AC_SYS_LARGEFILE
## Note: at present CRT_DIR is only used for amdx86-64 and ibms390x.
## Other machine types hard-code the location in src/[ms]/*.h.
case "${canonical}" in
- x86_64-*-linux-gnu* | s390x-*-linux-gnu* )
+ x86_64-*-linux* | s390x-*-linux* )
## On x86-64 and s390x GNU/Linux distributions, the standard library
## can be in a variety of places. We only try /usr/lib64 and /usr/lib.
## For anything else (eg /usr/lib32), it is up the user to specify
@@ -1321,8 +1321,8 @@ fi
+++ configure.in 2012-06-27 09:58:47.056118544 +0000
@@ -1438,9 +1438,9 @@ LD_SWITCH_X_SITE_AUX=
LD_SWITCH_X_SITE_AUX_RPATH=
if test "${x_libraries}" != NONE; then
if test -n "${x_libraries}"; then
- LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
- LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
- LD_SWITCH_X_SITE_AUX_RPATH=`echo ${LD_SWITCH_X_SITE_AUX} | sed -e 's/-R/-Wl,-rpath,/'`
+ LD_SWITCH_X_SITE="-L ${x_libraries%%:*}"
+ LD_SWITCH_X_SITE_AUX="-rpath-link ${x_libraries%%:*}"
+ LD_SWITCH_X_SITE_AUX="-rpath-link ${x_libraries%%:*}"
+ LD_SWITCH_X_SITE_AUX_RPATH="-Wl,-rpath-link ${x_libraries%%:*}"
fi
x_default_search_path=""
x_search_path=${x_libraries}
@@ -2711,7 +2711,7 @@ AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE, ${L
your loader can find on its own, you might want to add "-L/..." or
something similar.])
AC_DEFINE_UNQUOTED(LD_SWITCH_X_SITE_AUX, ${LD_SWITCH_X_SITE_AUX},
- [Define LD_SWITCH_X_SITE_AUX with an -R option
+ [Define LD_SWITCH_X_SITE_AUX with an -rpath-link option
in case it's needed (for Solaris, for example).])
AC_DEFINE_UNQUOTED(C_SWITCH_X_SITE, ${C_SWITCH_X_SITE},
[Define C_SWITCH_X_SITE to contain any special flags your compiler
--- doc/man/etags.1
+++ doc/man/etags.1 2009-08-11 12:59:38.000000000 +0000
@@ -7,7 +7,7 @@
@ -197,7 +83,7 @@
format understood by
.BR vi ( 1 )\c
\&. Both forms of the program understand
@@ -53,7 +53,7 @@ PHP, Postscript, Python, Prolog, Scheme
@@ -53,7 +53,7 @@ PHP, PostScript, Python, Prolog, Scheme
most assembler\-like syntaxes.
Both forms read the files specified on the command line, and write a tag
table (defaults: \fBTAGS\fP for \fBetags\fP, \fBtags\fP for
@ -252,71 +138,9 @@
.TP
.B \-h, \-H, \-\-help
Print usage information. Followed by one or more \-\-language=LANG
--- etc/MACHINES
+++ etc/MACHINES 2009-08-12 13:15:31.000000000 +0000
@@ -34,7 +34,7 @@ to operating system names (i.e. sunos4.1
hppa1.1). If you leave out the version number, the `configure' script
will configure Emacs for the latest version it knows about.
-Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu)
+Alpha (DEC) running GNU/Linux (alpha-dec-linux)
DEC C compiler version 5.9 (DEC C V5.9-005 on Digital UNIX V4.0f)
is reported to produce bogus binaries of Emacs 21.2 when the
@@ -196,12 +196,12 @@ IBM RS/6000 (rs6000-ibm-aix*)
If anyone can fix the above problems, or confirm that they don't happen
with certain versions of various programs, we would appreciate it.
-IBM System/390 running GNU/Linux (s390-*-linux-gnu)
+IBM System/390 running GNU/Linux (s390-*-linux)
As of Emacs 21.2, a 31-bit only version is supported on this
system.
-Intel 386 (i386-*-freebsd, i386-*-linux-gnu,
+Intel 386 (i386-*-freebsd, i386-*-linux,
i386-*-sol2.4, i386-intsys-sysv,
i386-*-sysv4, i386-*-sysv4.2, i386-*-cygwin,
i386-*-msdos, i386-*-windowsnt.
@@ -211,7 +211,7 @@ Intel 386 (i386-*-freebsd, i386-*-l
you specify does not matter, and you can use any name you like
(but it should not contain any dashes or stars).
- Use i386-*-linux-gnu for GNU/Linux systems; Emacs runs as of version 19.26.
+ Use i386-*-linux for GNU/Linux systems; Emacs runs as of version 19.26.
Use i386-*-cygwin for Cygwin; Emacs builds as of version 22.1, in both X11
and non-X11 modes. (The Cygwin site has source and binaries for 21.2.)
Use i386-intsys-sysv for Integrated Solutions 386 machines.
@@ -322,7 +322,7 @@ Siemens Nixdorf RM600 and RM400 (mips-si
LIBXT= $(LIBW) -lXmu /usr/lib/libXt.a $(LIBXTR6) -lXext
Sun 4 (sparc), Sun 386 (sparc-sun-solaris2.*,
- i386-sun-solaris2.*, sparc*-*-linux-gnu)
+ i386-sun-solaris2.*, sparc*-*-linux)
To build a 32-bit Emacs (i.e. if you are having any sort of problem
bootstrapping a 64-bit version), you can use the Sun Studio compiler
@@ -426,7 +426,7 @@ Sun 4 (sparc), Sun 386 (sparc-sun-solari
(now remapped as part of the text). These are never
swapped in.
-SuperH (sh[34]*-*-linux-gnu)
+SuperH (sh[34]*-*-linux)
Emacs 23.0.60 was reported to work on GNU/Linux (October 2008).
Tested on a little-endian sh4 system (cpu type SH7751R) running
@@ -525,7 +525,7 @@ X86_64 GNU/Linux
build a 32-bit Emacs, first ensure that the necessary 32-bit system
libraries and include files are installed. Then use:
- env CC="gcc -m32" ./configure --build=i386-linux-gnu \
+ env CC="gcc -m32" ./configure --build=i386-linux \
--x-libraries=/usr/X11R6/lib
(using the location of the 32-bit X libraries on your system).
--- leim/Makefile.in
+++ leim/Makefile.in 2007-05-22 13:58:19.000000000 +0000
@@ -222,6 +222,9 @@ leim-list.el: ${SUBDIRS} ${TIT-MISC} cha
+++ leim/Makefile.in 2012-06-27 10:39:29.320443798 +0000
@@ -220,6 +220,9 @@ leim-list.el: ${SUBDIRS} ${TIT_MISC} cha
MV_DIRS = for i in $$dir; do rm -fr `basename "$$i"` ; mv "$$i" . ; done
@ -325,32 +149,37 @@
+
install: all
if [ ! -d ${INSTALLDIR} ] ; then \
umask 022; ${srcdir}/${dot}${dot}/mkinstalldirs ${INSTALLDIR}; \
umask 022; ${srcdir}/../build-aux/install-sh -d ${INSTALLDIR}; \
--- lib-src/Makefile.in
+++ lib-src/Makefile.in 2009-08-12 13:20:12.000000000 +0000
@@ -105,7 +105,7 @@ INSTALL_STRIP =
+++ lib-src/Makefile.in 2012-06-27 10:41:38.716510300 +0000
@@ -109,8 +109,8 @@ INSTALL_STRIP =
# ========================== Lists of Files ===========================
# Things that a user might actually run, which should be installed in bindir.
-INSTALLABLES = etags${EXEEXT} ctags${EXEEXT} emacsclient${EXEEXT} \
- ebrowse${EXEEXT}
+INSTALLABLES = emacsclient${EXEEXT} \
+ ebrowse${EXEEXT} gnuctags${EXEEXT}
# Things that a user might actually run,
# which should be installed in bindir.
-INSTALLABLES = etags${EXEEXT} ctags${EXEEXT} emacsclient${EXEEXT} b2m${EXEEXT} ebrowse${EXEEXT} @LIB_SRC_EXTRA_INSTALLABLES@
+INSTALLABLES = emacsclient${EXEEXT} b2m${EXEEXT} ebrowse${EXEEXT} @LIB_SRC_EXTRA_INSTALLABLES@
INSTALLABLE_SCRIPTS = rcs-checkin grep-changelog
STAMP_INST_SCRIPTS = stamp-rcs-checkin stamp-grep-changelog
@@ -327,10 +327,11 @@ ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${
# Things that Emacs runs internally, or during the build process,
@@ -414,8 +414,8 @@ ebrowse${EXEEXT}: ${srcdir}/ebrowse.c $(
/* We depend on etags to assure that parallel makes don\'t write two
etags.o files on top of each other. */
## We depend on etags to assure that parallel makes do not write two
## etags.o files on top of each other.
-ctags${EXEEXT}: etags${EXEEXT}
- $(CC) ${ETAGS_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o ctags
+gnuctags${EXEEXT}: etags${EXEEXT}
+ $(CC) ${ETAGS_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" -DVERSION="\"${version}\"" ${srcdir}/etags.c $(GETOPTOBJS) $(REGEXPOBJ) $(LOADLIBES) -o gnuctags
$(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" \
-DVERSION="\"${version}\"" ${srcdir}/etags.c \
- $(REGEXPOBJ) $(LOADLIBES) -o ctags
+ $(REGEXPOBJ) $(LOADLIBES) -o gnuctags
+
profile${EXEEXT}: ${srcdir}/profile.c ../src/config.h
$(CC) ${ALL_CFLAGS} ${srcdir}/profile.c $(LOADLIBES) -o profile
--- lib-src/pop.c
+++ lib-src/pop.c 2011-11-28 08:38:56.235647209 +0000
@@ -29,6 +29,7 @@ along with GNU Emacs. If not, see <http
+++ lib-src/pop.c 2011-11-28 08:38:56.000000000 +0000
@@ -30,6 +30,7 @@ along with GNU Emacs. If not, see <http
#ifdef MAIL_USE_POP
#include <sys/types.h>
@ -388,7 +217,7 @@
esac
--- lisp/cmuscheme.el
+++ lisp/cmuscheme.el 2009-08-12 13:29:47.000000000 +0000
@@ -241,7 +241,8 @@ is run).
@@ -240,7 +240,8 @@ is run).
(read-string "Run Scheme: " scheme-program-name)
scheme-program-name)))
(if (not (comint-check-proc "*scheme*"))
@ -399,28 +228,22 @@
(scheme-start-file (car cmdlist)) (cdr cmdlist)))
(inferior-scheme-mode)))
--- lisp/dired.el
+++ lisp/dired.el 2010-10-18 14:02:19.947926253 +0000
@@ -72,12 +72,12 @@ If nil, `dired-listing-switches' is used
;;;###autoload
(defvar dired-chown-program
(purecopy
- (if (memq system-type '(hpux usg-unix-v irix linux gnu/linux cygwin))
+ (if (memq system-type '(hpux usg-unix-v irix gnu/linux linux lignux cygwin))
"chown"
(if (file-exists-p "/usr/sbin/chown")
"/usr/sbin/chown"
- "/etc/chown")))
- "Name of chown command (usually `chown' or `/etc/chown').")
+ "/bin/chown")))
+ "Name of chown command (usually `chown' or `/bin/chown').")
(defvar dired-use-ls-dired (not (not (string-match "gnu" system-configuration)))
"Non-nil means Dired should use `ls --dired'.")
+++ lisp/dired.el 2012-06-27 10:43:26.472010441 +0000
@@ -71,7 +71,8 @@ If nil, `dired-listing-switches' is used
(defcustom dired-chown-program
(purecopy (cond ((executable-find "chown") "chown")
((file-executable-p "/usr/sbin/chown") "/usr/sbin/chown")
- ((file-executable-p "/etc/chown") "/etc/chown")
+ ((file-executable-p "/usr/bin/chown") "/usr/bin/chown")
+ ((file-executable-p "/bin/chown") "/bin/chown")
(t "chown")))
"Name of chown command (usually `chown')."
:group 'dired
--- lisp/help.el
+++ lisp/help.el 2007-05-15 16:57:09.000000000 +0000
@@ -56,6 +56,9 @@
+++ lisp/help.el 2012-06-27 10:44:38.572010511 +0000
@@ -45,6 +45,9 @@
(defvar help-window-point-marker (make-marker)
"Marker to override default `window-point' of `help-window'.")
"Marker to override default `window-point' in help windows.")
+(defvar help-mode-hook nil
+ "Normal hook run when entering Help mode.")
@ -428,19 +251,90 @@
(defvar help-map
(let ((map (make-sparse-keymap)))
(define-key map (char-to-string help-char) 'help-for-help)
--- lisp/ldefs-boot.el
+++ lisp/ldefs-boot.el 2010-10-18 14:03:38.956426343 +0000
@@ -6072,8 +6072,8 @@ some of the `ls' switches are not suppor
--- lisp/international/mule-cmds.el
+++ lisp/international/mule-cmds.el 2010-10-18 14:06:48.000000000 +0000
@@ -41,6 +41,7 @@
(custom-autoload 'dired-listing-switches "dired" t)
(defvar mule-keymap
(let ((map (make-sparse-keymap)))
+ (define-key map "m" 'toggle-enable-multibyte-characters)
(define-key map "f" 'set-buffer-file-coding-system)
(define-key map "r" 'revert-buffer-with-coding-system)
(define-key map "F" 'set-file-name-coding-system)
--- lisp/mh-e/mh-e.el
+++ lisp/mh-e/mh-e.el 2007-05-21 12:27:40.000000000 +0000
@@ -137,6 +137,9 @@
"/usr/local/mh/"
"/usr/bin/mh/" ; Ultrix 4.2, Linux
"/usr/new/mh/" ; Ultrix < 4.2
+ "/usr/bin/" ; SuSE Linux
+ "/etc/nmh/" ; SuSE Linux
+ "/usr/lib/nmh/" ; SuSE Linux
"/usr/contrib/mh/bin/" ; BSDI
"/usr/pkg/bin/" ; NetBSD
"/usr/local/bin/"
@@ -157,20 +160,20 @@ Use the function `mh-variants' instead."
This differs from `mh-variant' when the latter is set to
\"autodetect\".")
-(defvar dired-chown-program (purecopy (if (memq system-type '(hpux usg-unix-v irix linux gnu/linux cygwin)) "chown" (if (file-exists-p "/usr/sbin/chown") "/usr/sbin/chown" "/etc/chown"))) "\
-Name of chown command (usually `chown' or `/etc/chown').")
+(defvar dired-chown-program (if (memq system-type '(hpux usg-unix-v irix gnu/linux linux lignux cygwin)) "chown" (if (file-exists-p "/usr/sbin/chown") "/usr/sbin/chown" "/bin/chown")) "\
+Name of chown command (usually `chown' or `/bin/chown').")
-(defvar mh-progs nil
+(defvar mh-progs "/usr/bin/"
"Directory containing MH commands, such as inc, repl, and rmm.")
(defvar dired-trivial-filenames (purecopy "^\\.\\.?$\\|^#") "\
Regexp of files to skip when finding first file of a directory.
;;;###autoload
(put 'mh-progs 'risky-local-variable t)
-(defvar mh-lib nil
+(defvar mh-lib "/etc/nmh/"
"Directory containing the MH library.
This directory contains, among other things, the components file.")
;;;###autoload
(put 'mh-lib 'risky-local-variable t)
-(defvar mh-lib-progs nil
+(defvar mh-lib-progs "/usr/lib/nmh/"
"Directory containing MH helper programs.
This directory contains, among other things, the mhl program.")
--- lisp/net/ange-ftp.el
+++ lisp/net/ange-ftp.el 2009-08-12 13:35:06.000000000 +0000
@@ -4956,7 +4956,7 @@ NEWNAME should be the name to give the n
; "If a host matches this regexp then it is assumed to be running VOS.")
;
;(defun ange-ftp-vos-host (host)
-; (and ange-ftp-vos-host-regexp
+; (and host ange-ftp-vos-host-regexp
; (save-match-data
; (string-match ange-ftp-vos-host-regexp host))))
;
@@ -5071,7 +5071,7 @@ NEWNAME should be the name to give the n
;; Return non-nil if HOST is running VMS.
(defun ange-ftp-vms-host (host)
- (and ange-ftp-vms-host-regexp
+ (and host ange-ftp-vms-host-regexp
(string-match-p ange-ftp-vms-host-regexp host)))
;; Because some VMS ftp servers convert filenames to lower case
@@ -5579,7 +5579,7 @@ Other orders of $ and _ seem to all work
;; Return non-nil if HOST is running MTS.
(defun ange-ftp-mts-host (host)
- (and ange-ftp-mts-host-regexp
+ (and host ange-ftp-mts-host-regexp
(string-match-p ange-ftp-mts-host-regexp host)))
;; Parse the current buffer which is assumed to be in mts ftp dir format.
@@ -5777,7 +5777,7 @@ Other orders of $ and _ seem to all work
;; Return non-nil if HOST is running CMS.
(defun ange-ftp-cms-host (host)
- (and ange-ftp-cms-host-regexp
+ (and host ange-ftp-cms-host-regexp
(string-match-p ange-ftp-cms-host-regexp host)))
(defun ange-ftp-add-cms-host (host)
--- lisp/site-load.el
+++ lisp/site-load.el 2009-08-12 17:19:34.000000000 +0000
@@ -0,0 +1,61 @@
@ -506,102 +400,18 @@
+
+;;; site-load.el ends here
--- lisp/speedbar.el
+++ lisp/speedbar.el 2003-07-23 16:08:56.000000000 +0000
@@ -798,6 +798,7 @@ to toggle this value.")
+++ lisp/speedbar.el 2012-06-27 11:04:52.701369888 +0000
@@ -802,6 +802,7 @@ If you want to change this while speedba
;; navigation
(define-key speedbar-key-map "n" 'speedbar-next)
+ (define-key speedbar-key-map [tab] 'speedbar-next)
(define-key speedbar-key-map "p" 'speedbar-prev)
(define-key speedbar-key-map "\M-n" 'speedbar-restricted-next)
(define-key speedbar-key-map "\M-p" 'speedbar-restricted-prev)
--- lisp/international/mule-cmds.el
+++ lisp/international/mule-cmds.el 2010-10-18 14:06:48.303926020 +0000
@@ -42,6 +42,7 @@
(defvar mule-keymap
(let ((map (make-sparse-keymap)))
+ (define-key map "m" 'toggle-enable-multibyte-characters)
(define-key map "f" 'set-buffer-file-coding-system)
(define-key map "r" 'revert-buffer-with-coding-system)
(define-key map "F" 'set-file-name-coding-system)
--- lisp/mh-e/mh-e.el
+++ lisp/mh-e/mh-e.el 2007-05-21 12:27:40.000000000 +0000
@@ -142,6 +142,9 @@
"/usr/local/mh/"
"/usr/bin/mh/" ; Ultrix 4.2, Linux
"/usr/new/mh/" ; Ultrix < 4.2
+ "/usr/bin/" ; SuSE Linux
+ "/etc/nmh/" ; SuSE Linux
+ "/usr/lib/nmh/" ; SuSE Linux
"/usr/contrib/mh/bin/" ; BSDI
"/usr/pkg/bin/" ; NetBSD
"/usr/local/bin/"
@@ -162,20 +165,20 @@ Use the function `mh-variants' instead."
This differs from `mh-variant' when the latter is set to
\"autodetect\".")
-(defvar mh-progs nil
+(defvar mh-progs "/usr/bin/"
"Directory containing MH commands, such as inc, repl, and rmm.")
;;;###autoload
(put 'mh-progs 'risky-local-variable t)
-(defvar mh-lib nil
+(defvar mh-lib "/etc/nmh/"
"Directory containing the MH library.
This directory contains, among other things, the components file.")
;;;###autoload
(put 'mh-lib 'risky-local-variable t)
-(defvar mh-lib-progs nil
+(defvar mh-lib-progs "/usr/lib/nmh/"
"Directory containing MH helper programs.
This directory contains, among other things, the mhl program.")
--- lisp/net/ange-ftp.el
+++ lisp/net/ange-ftp.el 2009-08-12 13:35:06.000000000 +0000
@@ -4957,7 +4957,7 @@ NEWNAME should be the name to give the n
; "If a host matches this regexp then it is assumed to be running VOS.")
;
;(defun ange-ftp-vos-host (host)
-; (and ange-ftp-vos-host-regexp
+; (and host ange-ftp-vos-host-regexp
; (save-match-data
; (string-match ange-ftp-vos-host-regexp host))))
;
@@ -5068,7 +5068,7 @@ NEWNAME should be the name to give the n
;; Return non-nil if HOST is running VMS.
(defun ange-ftp-vms-host (host)
- (and ange-ftp-vms-host-regexp
+ (and host ange-ftp-vms-host-regexp
(string-match-p ange-ftp-vms-host-regexp host)))
;; Because some VMS ftp servers convert filenames to lower case
@@ -5576,7 +5576,7 @@ Other orders of $ and _ seem to all work
;; Return non-nil if HOST is running MTS.
(defun ange-ftp-mts-host (host)
- (and ange-ftp-mts-host-regexp
+ (and host ange-ftp-mts-host-regexp
(string-match-p ange-ftp-mts-host-regexp host)))
;; Parse the current buffer which is assumed to be in mts ftp dir format.
@@ -5774,7 +5774,7 @@ Other orders of $ and _ seem to all work
;; Return non-nil if HOST is running CMS.
(defun ange-ftp-cms-host (host)
- (and ange-ftp-cms-host-regexp
+ (and host ange-ftp-cms-host-regexp
(string-match-p ange-ftp-cms-host-regexp host)))
(defun ange-ftp-add-cms-host (host)
;; Navigation.
(define-key map "n" 'speedbar-next)
+ (define-key map [tab] 'speedbar-next)
(define-key map "p" 'speedbar-prev)
(define-key map "\M-n" 'speedbar-restricted-next)
(define-key map "\M-p" 'speedbar-restricted-prev)
--- lisp/textmodes/ispell.el
+++ lisp/textmodes/ispell.el 2009-08-12 13:49:26.000000000 +0000
@@ -348,10 +348,13 @@ Must be greater than 1."
@@ -349,10 +349,13 @@ Must be greater than 1."
:group 'ispell)
(defcustom ispell-program-name
@ -619,7 +429,7 @@
"Program invoked by \\[ispell-word] and \\[ispell-region] commands."
:type 'string
:group 'ispell)
@@ -1138,6 +1141,56 @@ The variable `ispell-library-directory'
@@ -1156,6 +1159,56 @@ The variable `ispell-library-directory'
(if ispell-menu-map-needed
(progn
(setq ispell-menu-map (make-sparse-keymap "Spell"))
@ -1013,223 +823,37 @@
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Ende von locale.el
--- src/Makefile.in
+++ src/Makefile.in 2010-10-18 14:07:36.047926040 +0000
@@ -449,7 +449,7 @@ RSVG_CFLAGS= @RSVG_CFLAGS@
/* Fix linking if compiled with GCC. */
#ifdef __GNUC__
-#ifdef LINKER
+#if 0 /* def LINKER */
#define LINKER_WAS_SPECIFIED
#endif
@@ -684,6 +684,9 @@ otherobj= $(termcapobj) lastfile.o $(mal
#define TOOLTIP_SUPPORT
#endif
+#define MYSHORTLISP ../lisp/emacs-lisp/backquote.elc ../lisp/delsel.elc \
+ ../lisp/disp-table.elc ../lisp/lpr.elc
+
#ifdef HAVE_NS
#define NS_SUPPORT ${lispsource}emacs-lisp/easymenu.elc \
${lispsource}term/ns-win.elc
@@ -882,6 +885,7 @@ shortlisp= \
../lisp/epa-hook.elc \
../lisp/widget.elc \
../lisp/window.elc \
+ MYSHORTLISP \
../lisp/version.el
/* Like $shortlisp, but includes only those files from $lisp that are loaded
--- src/config.in
+++ src/config.in 2007-05-15 17:25:18.000000000 +0000
@@ -1014,6 +1014,8 @@ along with GNU Emacs. If not, see <http
+++ src/config.in 2012-06-27 11:12:06.416510145 +0000
@@ -1348,6 +1348,8 @@ along with GNU Emacs. If not, see <http
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile
+/* tparam() masking because of common name in ncurses */
+#define tparam emacs_tparam
/* If we're using X11/Carbon/GNUstep, define some consequences. */
#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS)
--- src/fns.c
+++ src/fns.c 2003-07-23 16:08:56.000000000 +0000
@@ -72,6 +72,10 @@ Lisp_Object Qwidget_type;
Lisp_Object Qcodeset, Qdays, Qmonths, Qpaper;
extern Lisp_Object Qinput_method_function;
+#ifdef HAVE_MOUSE
+extern Lisp_Object do_mouse_tracking;
+extern Lisp_Object tracking_off ();
+#endif
static int internal_equal P_ ((Lisp_Object , Lisp_Object, int, int));
@@ -2591,6 +2595,10 @@ is nil and `use-dialog-box' is non-nil.
int count = SPECPDL_INDEX ();
specbind (Qcursor_in_echo_area, Qt);
+#ifdef HAVE_MOUSE
+ record_unwind_protect (tracking_off, do_mouse_tracking);
+ do_mouse_tracking = Qnil;
+#endif
map = Fsymbol_value (intern ("query-replace-map"));
--- src/keyboard.c
+++ src/keyboard.c 2003-07-23 16:08:56.000000000 +0000
@@ -1427,7 +1427,7 @@ DEFUN ("abort-recursive-edit", Fabort_re
/* Restore mouse tracking enablement. See Ftrack_mouse for the only use
of this function. */
-static Lisp_Object
+Lisp_Object
tracking_off (old_value)
Lisp_Object old_value;
{
--- src/lisp.h
+++ src/lisp.h 2009-08-14 11:07:01.000000000 +0000
@@ -2000,11 +2000,10 @@ extern Lisp_Object case_temp2;
/* Downcase a character, or make no change if that cannot be done. */
-#define DOWNCASE(CH) \
- ((case_temp1 = (CH), \
- case_temp2 = CHAR_TABLE_REF (DOWNCASE_TABLE, case_temp1), \
- NATNUMP (case_temp2)) \
- ? XFASTINT (case_temp2) : case_temp1)
+#define DOWNCASE(CH) (__extension__ \
+ ({case_temp1 = (CH); \
+ case_temp2 = CHAR_TABLE_REF (DOWNCASE_TABLE, case_temp1); \
+ (NATNUMP (case_temp2)) ? XFASTINT (case_temp2) : case_temp1; }))
/* 1 if CH is upper case. */
@@ -2024,11 +2023,10 @@ extern Lisp_Object case_temp2;
/* Upcase a character known to be not upper case. */
-#define UPCASE1(CH) \
- ((case_temp1 = (CH), \
- case_temp2 = CHAR_TABLE_REF (UPCASE_TABLE, case_temp1), \
- NATNUMP (case_temp2)) \
- ? XFASTINT (case_temp2) : case_temp1)
+#define UPCASE1(CH) (__extension__ \
+ ({case_temp1 = (CH); \
+ case_temp2 = CHAR_TABLE_REF (UPCASE_TABLE, case_temp1); \
+ (NATNUMP (case_temp2)) ? XFASTINT (case_temp2) : case_temp1; }))
extern Lisp_Object Vascii_downcase_table, Vascii_upcase_table;
extern Lisp_Object Vascii_canon_table, Vascii_eqv_table;
--- src/prefix-args.c
+++ src/prefix-args.c 2009-08-12 13:53:28.000000000 +0000
@@ -52,6 +52,7 @@ along with GNU Emacs. If not, see <http
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
int
main (argc, argv)
@@ -74,8 +75,15 @@ Echo each ARG preceded by PREFIX and a s
prefix = argv[0];
argc--, argv++;
- for (; argc > 0; argc--, argv++)
- printf ("%s %s%c", prefix, argv[0], (argc > 1) ? ' ' : '\n');
+ for (; argc > 0; argc--, argv++) {
+ if (strcmp(argv[0], prefix) == 0 && argv[1]) {
+ printf ("%s %s", argv[0], argv[1]);
+ argv++;
+ argc--;
+ putc ((argc > 1) ? ' ' : '\n', stdout);
+ } else
+ printf ("%s %s%c", prefix, argv[0], (argc > 1) ? ' ' : '\n');
+ }
exit (0);
}
--- src/m/hp800.h
+++ src/m/hp800.h 2009-08-12 13:54:03.000000000 +0000
@@ -43,7 +43,7 @@ along with GNU Emacs. If not, see <http
/* Common definitions for HPUX and GNU/Linux. */
-#if defined (__hpux) || defined (GNU_LINUX)
+#if defined (__hpux) || defined (__linux__)
/* Define NO_REMAP if memory segmentation makes it not work well
to change the boundary between the text section and data section
@@ -52,11 +52,11 @@ along with GNU Emacs. If not, see <http
#define NO_REMAP
-#endif /* __hpux or GNU_LINUX */
+#endif /* __hpux or __linux__ */
/* Stuff for just GNU/Linux. */
-#ifdef GNU_LINUX
+#ifdef __linux__
/* Data type of load average, as read out of kmem. */
@@ -65,6 +65,14 @@ along with GNU Emacs. If not, see <http
/* Convert that into an integer that is 100 for a load average of 1.0 */
#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
+#else
+/* Data type of load average, as read out of kmem. */
+
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0 */
+
+#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
#endif /* GNU_LINUX */
@@ -79,6 +87,7 @@ along with GNU Emacs. If not, see <http
Otherwise Emacs assumes that text space precedes data space,
numerically. */
+#ifdef __hpux
#define VIRT_ADDR_VARIES
/* the data segment on this machine always starts at address 0x40000000. */
@@ -87,6 +96,9 @@ along with GNU Emacs. If not, see <http
#define DATA_START 0x40000000
#define TEXT_START 0x00000000
+#else
+#define HAVE_ALLOCA
+#endif
/* This machine requires completely different unexec code
which lives in a separate file. Specify the file name. */
/* On AIX 3 this must be included before any other include file. */
#include <alloca.h>
--- src/lisp.mk
+++ src/lisp.mk 2012-06-27 11:10:56.532510062 +0000
@@ -142,6 +142,8 @@ lisp = \
$(lispsource)/w32-vars.elc \
$(lispsource)/term/w32-win.elc \
$(lispsource)/ls-lisp.elc \
+ $(lispsource)/lpr.elc \
+ $(lispsource)/delsel.elc \
$(lispsource)/disp-table.elc \
$(lispsource)/dos-w32.elc \
$(lispsource)/w32-fns.elc \
--- src/s/gnu-linux.h
+++ src/s/gnu-linux.h 2009-08-12 13:59:18.000000000 +0000
@@ -94,6 +94,7 @@ along with GNU Emacs. If not, see <http
functions and macros for terminal control. */
+++ src/s/gnu-linux.h 2012-06-27 11:35:27.128011252 +0000
@@ -169,4 +169,15 @@ along with GNU Emacs. If not, see <http
# define USE_MMAP_FOR_BUFFERS
#endif
#define HAVE_TERMIOS
+#define NCURSES_OSPEED_T
/* Define HAVE_PTYS if the system supports pty devices. */
@@ -173,7 +174,7 @@ along with GNU Emacs. If not, see <http
/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
says where to find X windows at run time. */
-#ifdef __mips__
+#if defined(__mips__) || defined(__powerpc__)
#define LD_SWITCH_SYSTEM -G 0 LD_SWITCH_X_SITE_AUX
#else
#define LD_SWITCH_SYSTEM LD_SWITCH_X_SITE_AUX
@@ -194,6 +195,15 @@ along with GNU Emacs. If not, see <http
#define POSIX /* affects getpagesize.h and systty.h */
#define POSIX_SIGNALS
+#ifndef HAVE_TERMIOS
+# define HAVE_TERMIOS
+#endif
+/* When _USE_BSD is defined, which it will be on glibc based
+ * systems, sigmask/sigpause will be defined in the system signal.h
@ -1239,17 +863,13 @@
+ */
+#undef sigmask
+#undef sigpause
+
/* Best not to include -lg, unless it is last on the command line */
#define LIBS_DEBUG
#undef LIB_GCC
--- src/sysdep.c
+++ src/sysdep.c 2011-11-28 08:46:29.903146518 +0000
@@ -131,6 +131,7 @@ extern int quit_char;
+++ src/sysdep.c 2012-06-27 11:36:07.464510261 +0000
@@ -89,6 +89,7 @@ along with GNU Emacs. If not, see <http
#include "dispextern.h"
#include "process.h"
#include "cm.h" /* for reset_sys_modes */
+extern void tputs P_ ((const char *, int, int (*)(int)));
+extern void tputs (const char *, int, int (*)(int));
/* For serial_configure and serial_open. */
extern Lisp_Object QCport, QCspeed, QCprocess;
#ifdef WINDOWSNT
#include <direct.h>

3
emacs-24.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eeea272732146e2be9aee2f8d71d6cf07b8654c0282da62a26b921d433f02b7c
size 41722508

View File

@ -1,17 +0,0 @@
---
configure.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: emacs-23.1/configure.in
===================================================================
--- emacs-23.1.orig/configure.in
+++ emacs-23.1/configure.in
@@ -443,7 +443,7 @@ dnl see the `changequote' comment above.
;;
## Suns
- sparc-*-linux* | sparc64-*-linux* )
+ sparc*-*-linux* )
machine=sparc opsys=gnu-linux
;;

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Thu Jun 28 09:07:51 UTC 2012 - werner@suse.de
- Update to to emacs version 23.3
* Support for Gtk+3.0, GnuTLS, ImageMagick, libxml2, and SELinux
* Support for wide integer (62 bits) in lisp even on 32-bit machines.
* The --unibyte, --multibyte, --no-multibyte, and --no-unibyte command
line arguments, and the EMACS_UNIBYTE environment variable, no longer
have any effect.
* And many more changes see /usr/share/emacs/24.1/etc/NEWS
- Remove obsolete patches
- Refresh some others patches
-------------------------------------------------------------------
Thu May 24 11:39:36 UTC 2012 - werner@suse.de

File diff suppressed because it is too large Load Diff