unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Splitting and moving generic.el.
@ 2005-03-30  9:03 Lute Kamstra
  2005-04-05 18:58 ` Lute Kamstra
  0 siblings, 1 reply; 13+ messages in thread
From: Lute Kamstra @ 2005-03-30  9:03 UTC (permalink / raw)


generic.el currently contains two facilities:

1. Defining major modes by means of define-generic-mode.

2. The definition of default-generic-mode and some setup code to use
   it automatically for some files.

I think 2. is a strange side-effect when you are using generic.el to
do 1.  So I propose to move 2. to generic-x.el, where it is more
appropriate.

And what about moving generic.el from lisp/ to lisp/emacs-lisp/?  That
seems the appropriate location.

Lute.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-03-30  9:03 Splitting and moving generic.el Lute Kamstra
@ 2005-04-05 18:58 ` Lute Kamstra
  0 siblings, 0 replies; 13+ messages in thread
From: Lute Kamstra @ 2005-04-05 18:58 UTC (permalink / raw)


Lute Kamstra <Lute.Kamstra.lists@xs4all.nl> writes:

> generic.el currently contains two facilities:
>
> 1. Defining major modes by means of define-generic-mode.
>
> 2. The definition of default-generic-mode and some setup code to use
>    it automatically for some files.
>
> I think 2. is a strange side-effect when you are using generic.el to
> do 1.  So I propose to move 2. to generic-x.el, where it is more
> appropriate.

The patch below implements this.  Ok to commit?

> And what about moving generic.el from lisp/ to lisp/emacs-lisp/?  That
> seems the appropriate location.

Can I do this as well?

Lute.


2005-04-05  Lute Kamstra  <lute@gnu.org>

	* generic.el: Commentary section cleanup.
	(generic): Delete.
	(generic-use-find-file-hook, generic-lines-to-scan)
	(generic-find-file-regexp, generic-ignore-files-regexp)
	(default-generic-mode, generic-mode-find-file-hook)
	(generic-mode-ini-file-find-file-hook): Move to generic-x.el.
	* generic-x.el (generic-x): Docstring fix.  Put it in the data group.
	(generic-use-find-file-hook, generic-lines-to-scan)
	(generic-find-file-regexp, generic-ignore-files-regexp)
	(default-generic-mode, generic-mode-find-file-hook)
	(generic-mode-ini-file-find-file-hook): Moved from generic.el.

Index: lisp/generic.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/generic.el,v
retrieving revision 1.36
diff -u -r1.36 generic.el
--- lisp/generic.el	5 Apr 2005 18:32:59 -0000	1.36
+++ lisp/generic.el	5 Apr 2005 18:42:38 -0000
@@ -23,16 +23,11 @@
 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 ;; Boston, MA 02111-1307, USA.
 
-;; Purpose:
-
-;; Meta-mode to create simple major modes
-;; with basic comment and font-lock support
-
 ;;; Commentary:
 
 ;; INTRODUCTION:
-
-;; Generic-mode is a meta-mode which can be used to define small modes
+;;
+;; The macro `define-generic-mode' can be used to define small modes
 ;; which provide basic comment and font-lock support.  These modes are
 ;; intended for the many configuration files and such which are too
 ;; small for a "real" mode, but still have a regular syntax, comment
@@ -68,20 +63,9 @@
 ;; more than this, or you find yourself writing extensive customizations,
 ;; perhaps you should be writing a major mode instead!
 ;;
-;; LOCAL VARIABLES:
-;;
-;; To put a file into generic mode using local variables, use a line
-;; like this in a Local Variables block:
+;; EXAMPLE:
 ;;
-;;   mode: default-generic
-;;
-;; Do NOT use "mode: generic"!
-;; See also "AUTOMATICALLY ENTERING GENERIC MODE" below.
-;;
-;; DEFINING NEW GENERIC MODES:
-;;
-;; Use the `define-generic-mode' function to define new modes.
-;; For example:
+;; You can use `define-generic-mode' like this:
 ;;
 ;;   (define-generic-mode 'foo-generic-mode
 ;;     (list ?%)
@@ -90,35 +74,24 @@
 ;;     (list "\\.FOO\\'")
 ;;     (list 'foo-setup-function))
 ;;
-;; defines a new generic-mode `foo-generic-mode', which has '%' as a
+;; to define a new generic-mode `foo-generic-mode', which has '%' as a
 ;; comment character, and "keyword" as a keyword.  When files which
 ;; end in '.FOO' are loaded, Emacs will go into foo-generic-mode and
 ;; call foo-setup-function.  You can also use the function
 ;; `foo-generic-mode' (which is interactive) to put a buffer into
 ;; foo-generic-mode.
 ;;
-;; AUTOMATICALLY ENTERING GENERIC MODE:
-;;
-;; Generic-mode provides a hook which automatically puts a file into
-;; default-generic-mode if the first few lines of a file in
-;; fundamental mode start with a hash comment character.  To disable
-;; this functionality, set the variable `generic-use-find-file-hook'
-;; to nil BEFORE loading generic-mode.  See the variables
-;; `generic-lines-to-scan' and `generic-find-file-regexp' for
-;; customization options.
-;;
 ;; GOTCHAS:
 ;;
 ;; Be careful that your font-lock definitions are correct.  Getting
 ;; them wrong can cause Emacs to continually attempt to fontify! This
 ;; problem is not specific to generic-mode.
-;;
 
 ;; Credit for suggestions, brainstorming, help with debugging:
 ;;   ACorreir@pervasive-sw.com (Alfred Correira)
 ;; Extensive cleanup by:
 ;;   Stefan Monnier (monnier+gnu/emacs@flint.cs.yale.edu)
-;;
+
 ;;; Code:
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -138,47 +111,6 @@
 instead (which see).")
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Customization Variables
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(defgroup generic nil
-  "Define simple major modes with comment and font-lock support."
-  :prefix "generic-"
-  :group 'extensions)
-
-(defcustom generic-use-find-file-hook t
-  "*If non-nil, add a hook to enter `default-generic-mode' automatically.
-This is done if the first few lines of a file in fundamental mode
-start with a hash comment character."
-  :group 'generic
-  :type  'boolean)
-
-(defcustom generic-lines-to-scan 3
-  "*Number of lines that `generic-mode-find-file-hook' looks at.
-Relevant when deciding whether to enter Default-Generic mode automatically.
-This variable should be set to a small positive number."
-  :group 'generic
-  :type  'integer)
-
-(defcustom generic-find-file-regexp "^#"
-  "*Regular expression used by `generic-mode-find-file-hook'.
-Files in fundamental mode whose first few lines contain a match
-for this regexp, should be put into Default-Generic mode instead.
-The number of lines tested for the matches is specified by the
-value of the variable `generic-lines-to-scan', which see."
-  :group 'generic
-  :type  'regexp)
-
-(defcustom generic-ignore-files-regexp "[Tt][Aa][Gg][Ss]\\'"
-  "*Regular expression used by `generic-mode-find-file-hook'.
-Files whose names match this regular expression should not be put
-into Default-Generic mode, even if they have lines which match
-the regexp in `generic-find-file-regexp'.  If the value is nil,
-`generic-mode-find-file-hook' does not check the file names."
-  :group 'generic
-  :type  '(choice (const :tag "Don't check file names" nil) regexp))
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Functions
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
@@ -391,51 +323,6 @@
 	'((nil "^\\[\\(.*\\)\\]" 1))
         imenu-case-fold-search t))
 
-;; This generic mode is always defined
-(define-generic-mode default-generic-mode (list ?#) nil nil nil nil :group 'generic)
-
-;; A more general solution would allow us to enter generic-mode for
-;; *any* comment character, but would require us to synthesize a new
-;; generic-mode on the fly. I think this gives us most of what we
-;; want.
-(defun generic-mode-find-file-hook ()
-  "Hook function to enter Default-Generic mode automatically.
-
-Done if the first few lines of a file in Fundamental mode start
-with a match for the regexp in `generic-find-file-regexp', unless
-the file's name matches the regexp which is the value of the
-variable `generic-ignore-files-regexp'.
-
-This hook will be installed if the variable
-`generic-use-find-file-hook' is non-nil.  The variable
-`generic-lines-to-scan' determines the number of lines to look at."
-  (when (and (eq major-mode 'fundamental-mode)
-	     (or (null generic-ignore-files-regexp)
-		 (not (string-match
-		       generic-ignore-files-regexp
-		       (file-name-sans-versions buffer-file-name)))))
-    (save-excursion
-      (goto-char (point-min))
-      (when (re-search-forward generic-find-file-regexp
-			       (save-excursion
-				 (forward-line generic-lines-to-scan)
-				 (point)) t)
-	(goto-char (point-min))
-	(default-generic-mode)))))
-
-(defun generic-mode-ini-file-find-file-hook ()
-  "Hook function to enter Default-Generic mode automatically for INI files.
-Done if the first few lines of a file in Fundamental mode look like an
-INI file.  This hook is NOT installed by default."
-  (and (eq major-mode 'fundamental-mode)
-       (save-excursion
-	 (goto-char (point-min))
-	 (and (looking-at "^\\s-*\\[.*\\]")
-	      (ini-generic-mode)))))
-
-(and generic-use-find-file-hook
-    (add-hook 'find-file-hook 'generic-mode-find-file-hook))
-
 ;;;###autoload
 (defun generic-make-keywords-list (keywords-list face &optional prefix suffix)
   "Return a regular expression matching the specified KEYWORDS-LIST.
Index: lisp/generic-x.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/generic-x.el,v
retrieving revision 1.29
diff -u -r1.29 generic-x.el
--- lisp/generic-x.el	5 Apr 2005 18:33:50 -0000	1.29
+++ lisp/generic-x.el	5 Apr 2005 18:42:40 -0000
@@ -41,6 +41,16 @@
 ;; You can also send in new modes; if the file types a reasonably common,
 ;; we would like to install them.
 ;;
+;; DEFAULT GENERIC MODE:
+;;
+;; This file provides a hook which automatically puts a file into
+;; `default-generic-mode' if the first few lines of a file in
+;; fundamental mode start with a hash comment character.  To disable
+;; this functionality, set the variable `generic-use-find-file-hook'
+;; to nil BEFORE loading generic-x.  See the variables
+;; `generic-lines-to-scan' and `generic-find-file-regexp' for
+;; customization options.
+;;
 ;; PROBLEMS WHEN USED WITH FOLDING MODE:
 ;;
 ;; [The following relates to the obsolete selective-display technique.
@@ -95,11 +105,96 @@
 (require 'font-lock)
 
 (defgroup generic-x nil
-  "Extra modes for generic mode."
+  "A collection of generic modes."
   :prefix "generic-"
-  :group 'generic
+  :group 'data
   :version "20.3")
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Default-Generic mode
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(defcustom generic-use-find-file-hook t
+  "*If non-nil, add a hook to enter `default-generic-mode' automatically.
+This is done if the first few lines of a file in fundamental mode
+start with a hash comment character."
+  :group 'generic-x
+  :type  'boolean)
+
+(defcustom generic-lines-to-scan 3
+  "*Number of lines that `generic-mode-find-file-hook' looks at.
+Relevant when deciding whether to enter Default-Generic mode automatically.
+This variable should be set to a small positive number."
+  :group 'generic-x
+  :type  'integer)
+
+(defcustom generic-find-file-regexp "^#"
+  "*Regular expression used by `generic-mode-find-file-hook'.
+Files in fundamental mode whose first few lines contain a match
+for this regexp, should be put into Default-Generic mode instead.
+The number of lines tested for the matches is specified by the
+value of the variable `generic-lines-to-scan', which see."
+  :group 'generic-x
+  :type  'regexp)
+
+(defcustom generic-ignore-files-regexp "[Tt][Aa][Gg][Ss]\\'"
+  "*Regular expression used by `generic-mode-find-file-hook'.
+Files whose names match this regular expression should not be put
+into Default-Generic mode, even if they have lines which match
+the regexp in `generic-find-file-regexp'.  If the value is nil,
+`generic-mode-find-file-hook' does not check the file names."
+  :group 'generic-x
+  :type  '(choice (const :tag "Don't check file names" nil) regexp))
+
+;; This generic mode is always defined
+(define-generic-mode default-generic-mode (list ?#) nil nil nil nil :group 'generic)
+
+;; A more general solution would allow us to enter generic-mode for
+;; *any* comment character, but would require us to synthesize a new
+;; generic-mode on the fly. I think this gives us most of what we
+;; want.
+(defun generic-mode-find-file-hook ()
+  "Hook function to enter Default-Generic mode automatically.
+
+Done if the first few lines of a file in Fundamental mode start
+with a match for the regexp in `generic-find-file-regexp', unless
+the file's name matches the regexp which is the value of the
+variable `generic-ignore-files-regexp'.
+
+This hook will be installed if the variable
+`generic-use-find-file-hook' is non-nil.  The variable
+`generic-lines-to-scan' determines the number of lines to look at."
+  (when (and (eq major-mode 'fundamental-mode)
+	     (or (null generic-ignore-files-regexp)
+		 (not (string-match
+		       generic-ignore-files-regexp
+		       (file-name-sans-versions buffer-file-name)))))
+    (save-excursion
+      (goto-char (point-min))
+      (when (re-search-forward generic-find-file-regexp
+			       (save-excursion
+				 (forward-line generic-lines-to-scan)
+				 (point)) t)
+	(goto-char (point-min))
+	(default-generic-mode)))))
+
+(defun generic-mode-ini-file-find-file-hook ()
+  "Hook function to enter Default-Generic mode automatically for INI files.
+Done if the first few lines of a file in Fundamental mode look like an
+INI file.  This hook is NOT installed by default."
+  (and (eq major-mode 'fundamental-mode)
+       (save-excursion
+	 (goto-char (point-min))
+	 (and (looking-at "^\\s-*\\[.*\\]")
+	      (ini-generic-mode)))))
+
+(and generic-use-find-file-hook
+    (add-hook 'find-file-hook 'generic-mode-find-file-hook))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Other Generic modes
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
 (defcustom generic-extras-enable-list nil
   "*List of generic modes to enable by default.
 Each entry in the list should be a symbol.  The variables
@@ -150,10 +245,6 @@
 		     etc-fstab-generic-mode)
 		   generic-extras-enable-list)))
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Generic-modes
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
 ;;; Apache
 (when (memq 'apache-conf-generic-mode generic-extras-enable-list)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
@ 2005-04-20  9:05 Jason Rumney
  2005-04-20 10:50 ` Lute Kamstra
  2005-04-20 17:05 ` Eli Zaretskii
  0 siblings, 2 replies; 13+ messages in thread
From: Jason Rumney @ 2005-04-20  9:05 UTC (permalink / raw)


For some reason I'm missing all mail to emacs-devel between 4 April and 
8 April, so I had to look into the archives to find this being discussed.

2005-04-05  Lute Kamstra  <address@hidden>

        * generic.el: Commentary section cleanup.
        (generic): Delete.
        (generic-use-find-file-hook, generic-lines-to-scan)
        (generic-find-file-regexp, generic-ignore-files-regexp)
        (default-generic-mode, generic-mode-find-file-hook)
        (generic-mode-ini-file-find-file-hook): Move to generic-x.el.
        * generic-x.el (generic-x): Docstring fix.  Put it in the data group.
        (generic-use-find-file-hook, generic-lines-to-scan)
        (generic-find-file-regexp, generic-ignore-files-regexp)
        (default-generic-mode, generic-mode-find-file-hook)
        (generic-mode-ini-file-find-file-hook): Moved from generic.el.


This change seems to have caused problems. The only reference in my 
.emacs to generic is a

(require 'generic-x)

which used to give me some extra generic based modes.

Now it just gives me an error:

Loading generic...done

An error has occured while loading ~/.emacs:

Symbol's value as variable is void: default-generic-mode



As an aside, I've found Emacs to be less stable since the feature freeze 
was declared than it has been since the early days of 21.0 development. 
I have very little time to spend on Emacs and the little time I have is 
spent tracking down the cause of problems like this leaving no time for 
any real bugfixing on the Windows port. I don't know what the answer is 
to this, but I'm finding it frustrating that after a year of feature 
freeze, people are still shuffling code around between files and 
directories and renaming variables while the manuals still need more 
proofreading and real bugs need fixing.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20  9:05 Jason Rumney
@ 2005-04-20 10:50 ` Lute Kamstra
  2005-04-20 11:36   ` Jason Rumney
  2005-04-20 17:05 ` Eli Zaretskii
  1 sibling, 1 reply; 13+ messages in thread
From: Lute Kamstra @ 2005-04-20 10:50 UTC (permalink / raw)
  Cc: Emacs Devel

Jason Rumney <jasonr@gnu.org> writes:

> For some reason I'm missing all mail to emacs-devel between 4 April
> and 8 April, so I had to look into the archives to find this being
> discussed.
>
> 2005-04-05  Lute Kamstra  <address@hidden>
>
>         * generic.el: Commentary section cleanup.
>         (generic): Delete.
>         (generic-use-find-file-hook, generic-lines-to-scan)
>         (generic-find-file-regexp, generic-ignore-files-regexp)
>         (default-generic-mode, generic-mode-find-file-hook)
>         (generic-mode-ini-file-find-file-hook): Move to generic-x.el.
>         * generic-x.el (generic-x): Docstring fix.  Put it in the data group.
>         (generic-use-find-file-hook, generic-lines-to-scan)
>         (generic-find-file-regexp, generic-ignore-files-regexp)
>         (default-generic-mode, generic-mode-find-file-hook)
>         (generic-mode-ini-file-find-file-hook): Moved from generic.el.
>
>
> This change seems to have caused problems. The only reference in my
> .emacs to generic is a
>
> (require 'generic-x)
>
> which used to give me some extra generic based modes.
>
> Now it just gives me an error:
>
> Loading generic...done
>
> An error has occured while loading ~/.emacs:
>
> Symbol's value as variable is void: default-generic-mode

Doing (require 'generic-x) shouldn't load generic unless generic-x is
loaded from source.  Any idea why your lisp/generic-x.el isn't
compiled?

The error suggests that an old version of generic is used (from before
define-generic-mode became a macro, one month ago).  Do you have
lisp/emacs-lisp/generic.el, revision 1.1?  Is your
lisp/emacs-lisp/generic.elc up to date?  Is an old lisp/generic.el{,c}
shadowing lisp/emacs-lisp/generic.el{,c}?

Can you reproduce your problem when you (do a make bootstrap and)
start Emacs with "emacs -Q" and do (require 'generic-x) manually?

Lute.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 10:50 ` Lute Kamstra
@ 2005-04-20 11:36   ` Jason Rumney
  2005-04-20 12:09     ` Lute Kamstra
  2005-04-20 17:08     ` Eli Zaretskii
  0 siblings, 2 replies; 13+ messages in thread
From: Jason Rumney @ 2005-04-20 11:36 UTC (permalink / raw)
  Cc: Emacs Devel

Lute Kamstra wrote:

>
>Doing (require 'generic-x) shouldn't load generic unless generic-x is
>loaded from source.  Any idea why your lisp/generic-x.el isn't
>compiled?
>  
>
generic-x.el is in the DONTCOMPILE list in the lisp makefile.

>The error suggests that an old version of generic is used (from before
>define-generic-mode became a macro, one month ago).  Do you have
>lisp/emacs-lisp/generic.el, revision 1.1?  Is your
>lisp/emacs-lisp/generic.elc up to date?  Is an old lisp/generic.el{,c}
>shadowing lisp/emacs-lisp/generic.el{,c}?
>  
>
There was an old generic.elc that didn't get cleaned out by the 
bootstrap. This is probably the biggest problem caused by moving files 
around, CVS might delete the old .el file, but the .elc gets left behind.

>Can you reproduce your problem when you (do a make bootstrap and)
>start Emacs with "emacs -Q" and do (require 'generic-x) manually?
>
>Lute.
>  
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 11:36   ` Jason Rumney
@ 2005-04-20 12:09     ` Lute Kamstra
  2005-04-20 12:31       ` Jason Rumney
  2005-04-20 17:11       ` Eli Zaretskii
  2005-04-20 17:08     ` Eli Zaretskii
  1 sibling, 2 replies; 13+ messages in thread
From: Lute Kamstra @ 2005-04-20 12:09 UTC (permalink / raw)
  Cc: Emacs Devel

Jason Rumney <jasonr@gnu.org> writes:

> Lute Kamstra wrote:
>
>>Doing (require 'generic-x) shouldn't load generic unless generic-x is
>>loaded from source.  Any idea why your lisp/generic-x.el isn't
>>compiled?
>
> generic-x.el is in the DONTCOMPILE list in the lisp makefile.

DONTCOMPILE was bogus.  Everything in it was compiled just the same.
Just setting no-byte-compile prohibits compilation.  Anyway, I removed
DONTCOMPILE from the makefiles one week ago.  I guess that generic-x
didn't get compiled on your system because compilation failed due to
the old lisp/generic.elc.  If a lisp file fails to compile on
GNU/Linux, bootstrap terminates with an error.  Does that work
differently on Windows or did you use "make -k bootstrap"?

>>The error suggests that an old version of generic is used (from before
>>define-generic-mode became a macro, one month ago).  Do you have
>>lisp/emacs-lisp/generic.el, revision 1.1?  Is your
>>lisp/emacs-lisp/generic.elc up to date?  Is an old lisp/generic.el{,c}
>>shadowing lisp/emacs-lisp/generic.el{,c}?
>
> There was an old generic.elc that didn't get cleaned out by the
> bootstrap. This is probably the biggest problem caused by moving files
> around, CVS might delete the old .el file, but the .elc gets left
> behind.

On GNU/Linux, all *.elc files are deleted during bootstrap.

,----[ lisp/Makefile.in ]
| bootstrap-clean:
| 	cd $(lisp); rm -f *.elc */*.elc
`----

On Windows this seems to be the objective as well:

,----[ lisp/makefile.w32-in ]
| bootstrap-clean: bootstrap-clean-$(SHELLTYPE) loaddefs.el
| 
| bootstrap-clean-CMD:
| #	if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads
| 	if not exist $(lisp)\loaddefs.el cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el
| 	-for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g
| 
| bootstrap-clean-SH:
| #	if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi
| #	-rm -f $(lisp)/*.elc $(lisp)/*/*.elc
| 	if ! test -r $(lisp)/loaddefs.el; then \
| 	  cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \
| 	fi
| 	-for dir in . $(WINS); do rm -f $$dir/*.elc; done
`----

Doesn't it work for you?

Lute.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 12:09     ` Lute Kamstra
@ 2005-04-20 12:31       ` Jason Rumney
  2005-04-20 13:27         ` Lute Kamstra
  2005-04-20 17:11       ` Eli Zaretskii
  1 sibling, 1 reply; 13+ messages in thread
From: Jason Rumney @ 2005-04-20 12:31 UTC (permalink / raw)
  Cc: Emacs Devel

Lute Kamstra wrote:

>Jason Rumney <jasonr@gnu.org> writes:
>
>  
>
>>Lute Kamstra wrote:
>>
>>    
>>
>>>Doing (require 'generic-x) shouldn't load generic unless generic-x is
>>>loaded from source.  Any idea why your lisp/generic-x.el isn't
>>>compiled?
>>>      
>>>
>>generic-x.el is in the DONTCOMPILE list in the lisp makefile.
>>    
>>
>
>DONTCOMPILE was bogus.  Everything in it was compiled just the same.
>Just setting no-byte-compile prohibits compilation.  Anyway, I removed
>DONTCOMPILE from the makefiles one week ago.  I guess that generic-x
>didn't get compiled on your system because compilation failed due to
>the old lisp/generic.elc.  If a lisp file fails to compile on
>GNU/Linux, bootstrap terminates with an error.  Does that work
>differently on Windows or did you use "make -k bootstrap"?
>  
>
I used "make recompile", which I mistakenly thought had worked, since it 
didn't give any errors.
"make bootstrap" gives "Invalid escape sequence" on my machine, which is 
another recent problem I haven't yet tracked down the cause of, but it 
seems to be specific to the build environment on that machine.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 12:31       ` Jason Rumney
@ 2005-04-20 13:27         ` Lute Kamstra
  0 siblings, 0 replies; 13+ messages in thread
From: Lute Kamstra @ 2005-04-20 13:27 UTC (permalink / raw)
  Cc: Emacs Devel

Jason Rumney <jasonr@gnu.org> writes:

[...]

> I used "make recompile", which I mistakenly thought had worked, since
> it didn't give any errors.

recompile should give a summary that warns you if a file failed to
compile.  However, it doesn't try to compile an .el file that doesn't
have a corresponding .elc file.  I removed the "no-byte-compile: t"
from generic-x.el one month ago.  If you haven't done a bootstrap
since, that would explain why you haven't seen any error message from
recompile.

> "make bootstrap" gives "Invalid escape sequence" on my machine,
> which is another recent problem I haven't yet tracked down the cause
> of, but it seems to be specific to the build environment on that
> machine.

Maybe you can post your problem here so that others can help you.

Lute.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20  9:05 Jason Rumney
  2005-04-20 10:50 ` Lute Kamstra
@ 2005-04-20 17:05 ` Eli Zaretskii
  1 sibling, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2005-04-20 17:05 UTC (permalink / raw)
  Cc: emacs-devel

> Date: Wed, 20 Apr 2005 10:05:53 +0100
> From: Jason Rumney <jasonr@gnu.org>
> 
> As an aside, I've found Emacs to be less stable since the feature freeze 
> was declared than it has been since the early days of 21.0 development. 

The sad truth, IMHO, is that this ``feature freeze'' is not enforced
seriously enough.  It's true that lots of efforts goes into updating
the manuals, but in the meantime well-meaning people are committing
changes that are IMHO unnecessary, in the name of a so-called
``cleanup''.  We will never release a non-bugfix Emacs this way.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 11:36   ` Jason Rumney
  2005-04-20 12:09     ` Lute Kamstra
@ 2005-04-20 17:08     ` Eli Zaretskii
  2005-04-20 20:58       ` Jason Rumney
  1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2005-04-20 17:08 UTC (permalink / raw)
  Cc: Lute.Kamstra.lists, emacs-devel

> Date: Wed, 20 Apr 2005 12:36:06 +0100
> From: Jason Rumney <jasonr@gnu.org>
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> There was an old generic.elc that didn't get cleaned out by the 
> bootstrap. This is probably the biggest problem caused by moving files 
> around, CVS might delete the old .el file, but the .elc gets left behind.

It's an annoyance, yes.  But the build process runs
list-load-path-shadows that should pinpoint such stale *.elc files.
Doesn't it work for you?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 12:09     ` Lute Kamstra
  2005-04-20 12:31       ` Jason Rumney
@ 2005-04-20 17:11       ` Eli Zaretskii
  1 sibling, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2005-04-20 17:11 UTC (permalink / raw)
  Cc: emacs-devel, jasonr

> From: Lute Kamstra <Lute.Kamstra.lists@xs4all.nl>
> Date: Wed, 20 Apr 2005 14:09:54 +0200
> Cc: Emacs Devel <emacs-devel@gnu.org>
> 
> On GNU/Linux, all *.elc files are deleted during bootstrap.

People who don't have too much time to work on Emacs, cannot afford
waiting for "make bootstrap" every time they resync with the CVS.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 17:08     ` Eli Zaretskii
@ 2005-04-20 20:58       ` Jason Rumney
  2005-04-21  3:27         ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Jason Rumney @ 2005-04-20 20:58 UTC (permalink / raw)
  Cc: Lute.Kamstra.lists, emacs-devel

"Eli Zaretskii" <eliz@gnu.org> writes:

>
> It's an annoyance, yes.  But the build process runs
> list-load-path-shadows that should pinpoint such stale *.elc files.
> Doesn't it work for you?

I think the problem was that I was not running make bootstrap, due to
the fact that it takes a long time, and also something in my
environment has changed in the last couple of months that causes it to
fail while creating loaddefs.el with "Invalid escape sequence". I got
around this latter problem by using Cygwin bash instead of cmd.exe,
but I'm not sure what is different between this machine and my work
machine that doesn't have any problem compiling with cmd.exe.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Splitting and moving generic.el.
  2005-04-20 20:58       ` Jason Rumney
@ 2005-04-21  3:27         ` Eli Zaretskii
  0 siblings, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2005-04-21  3:27 UTC (permalink / raw)
  Cc: emacs-devel

> Cc: Lute.Kamstra.lists@xs4all.nl, emacs-devel@gnu.org
> From: Jason Rumney <jasonr@gnu.org>
> Date: Wed, 20 Apr 2005 21:58:02 +0100
> 
> "Eli Zaretskii" <eliz@gnu.org> writes:
> 
> >
> > It's an annoyance, yes.  But the build process runs
> > list-load-path-shadows that should pinpoint such stale *.elc files.
> > Doesn't it work for you?
> 
> I think the problem was that I was not running make bootstrap, due to
> the fact that it takes a long time

list-load-path-shadows is run in a normal build as well, not only
during bootstrap.

> and also something in my
> environment has changed in the last couple of months that causes it to
> fail while creating loaddefs.el with "Invalid escape sequence".

Perhaps this loaddefs.el error caused the build to abort before it got
to running list-load-path-shadows.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2005-04-21  3:27 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-30  9:03 Splitting and moving generic.el Lute Kamstra
2005-04-05 18:58 ` Lute Kamstra
  -- strict thread matches above, loose matches on Subject: below --
2005-04-20  9:05 Jason Rumney
2005-04-20 10:50 ` Lute Kamstra
2005-04-20 11:36   ` Jason Rumney
2005-04-20 12:09     ` Lute Kamstra
2005-04-20 12:31       ` Jason Rumney
2005-04-20 13:27         ` Lute Kamstra
2005-04-20 17:11       ` Eli Zaretskii
2005-04-20 17:08     ` Eli Zaretskii
2005-04-20 20:58       ` Jason Rumney
2005-04-21  3:27         ` Eli Zaretskii
2005-04-20 17:05 ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).